117 for (
uint32 i = 0; cur != end; ++cur, ++i ) {
126 res = (*cur)->visit( *
this );
142 for (
uint32 i = 0; cur != end; ++cur, ++i ) {
151 res = (*cur)->visit( *
this );
166 for (
uint32 i = 0; cur != end; ++cur, ++i ) {
173 bool res = cur->first->visit( *
this );
180 res = cur->second->visit( *
this );
213 if (rep->
header() == nullptr ) {
229 for(
uint32 i = 0; cur != end; ++cur, ++i ) {
238 bool res = (*cur)->visit( *
this );
251 for(
uint32 i = 0; cur != end; ++cur, ++i ) {
258 bool res = cur->first->visit( *
this );
265 res = cur->second->visit( *
this );
282 for (
uint32 i = 0; cur != end; ++cur, ++i) {
286 if ((*cur) ==
nullptr )
289 res = (*cur)->visit( *
this );
313 _print(
"%s Substream: %s",
_pfx(), ( rep->
decoded() == nullptr ) ?
"from data" :
"from rep" );
335 mFullHex( full_hex ),
336 mLogType( log_type ),
337 mLogHexType( log_hex_type )
367 mFullHex( full_hex ),
377 vfprintf(
file(), fmt, ap );
378 fprintf(
file(),
"\n" );
list_type::const_iterator const_list_iterator
PyLogDumpVisitor(LogType log_type, LogType log_hex_type, const char *pfx="", bool full_nested=false, bool full_hex=false)
bool VisitLong(const PyLong *rep)
bool VisitString(const PyString *rep)
void _pfxExtend(const char *fmt,...)
virtual bool VisitSubStream(const PySubStream *rep)
const Buffer & content() const
Get the const PyBuffer content.
DBRowDescriptor * header() const
const std::string & content() const
Get the PyWString content.
bool VisitTuple(const PyTuple *rep)
the nested types Visitor
storage_type::const_iterator const_iterator
void _dump(const char *pfx, const uint8 *data, size_t len)
Python floating point number.
bool VisitWString(const PyWString *rep)
const_iterator begin() const
storage_type::const_iterator const_iterator
bool VisitInteger(const PyInt *rep)
primitive data visitors
bool VisitList(const PyList *rep)
bool visit(PyVisitor &v) const
Visits object.
void _print(const char *fmt,...)
PyRep * arguments() const
void pfxHexDump(const char *pfx, FILE *into, const uint8 *data, size_t length)
bool IsPrintable(const PyString *str)
Checks whether string is printable.
PyString * GetColumnName(uint32 index) const
PyDumpVisitor(const char *pfx="", bool full_nested=false)
PyFileDumpVisitor(FILE *_file, const char *pfx="", bool full_nested=false, bool full_hex=false)
#define is_log_enabled(type)
bool VisitBoolean(const PyBool *rep)
uint32 ColumnCount() const
storage_type::const_iterator const_iterator
dict_type::const_iterator const_dict_iterator
virtual void _dump(const char *pfx, const uint8 *data, size_t len)=0
bool VisitDict(const PyDict *rep)
virtual bool VisitSubStruct(const PySubStruct *rep)
wrapper types Visitor
bool VisitToken(const PyToken *rep)
bool VisitPackedRow(const PyPackedRow *rep)
PackedRow type visitor.
bool VisitNone(const PyNone *rep)
const_iterator begin() const
void _print(const char *fmt,...)
bool VisitReal(const PyFloat *rep)
bool VisitObjectEx(const PyObjectEx *rep)
const std::string & content() const
Obtain token.
const_iterator begin() const
Python token (eg. class name).
const_iterator end() const
storage_type::const_iterator const_iterator
const_iterator end() const
const std::string & content() const
Get the PyString content.
void pfxHexDumpPreview(const char *pfx, FILE *into, const uint8 *data, size_t length)
const_iterator end() const
bool VisitSubStream(const PySubStream *rep)
bool VisitChecksumedStream(const PyChecksumedStream *rep)
void log_messageVA(LogType type, const char *fmt, va_list args)
LogType logHexType() const
const_iterator end() const
const_iterator begin() const
bool VisitObject(const PyObject *rep)
Object type visitor.
const char * _pfx() const
virtual void _print(const char *fmt,...)=0
bool VisitBuffer(const PyBuffer *rep)
void _dump(const char *pfx, const uint8 *data, size_t len)
virtual bool visit(PyVisitor &v) const =0
Visits object.
bool VisitSubStruct(const PySubStruct *rep)
wrapper types Visitor
virtual bool VisitChecksumedStream(const PyChecksumedStream *rep)