22 return (fieldId < _entries.size()) ? _entries[fieldId] : NULL;
27 return _entries.size();
32 size_t entriesCount = this->
entries.size();
33 for (
size_t i = 0; i < entriesCount; i++) {
42 if (!entry)
return NULL;
58 if (!entry)
return "";
67 if (entrySize == 0)
return false;
72 "NextOffset = %llX size = %lX, canAdd: %u",
73 static_cast<unsigned long long>(nextOffset),
74 static_cast<unsigned long>(entrySize),
75 static_cast<unsigned int>(haveSpace)
82 if (!entry)
return false;
101 offset_t nextOffset = lastOffset + entrySize;
108 if (lastEntry == NULL)
return 0;
134 "Entries count: %lu",
const offset_t INVALID_ADDR
bool pasteBuffer(offset_t rawOffset, AbstractByteBuffer *buf, bool allowTrunc)
bool isAreaEmpty(offset_t rawOffset, bufsize_t size)
virtual bufsize_t getSize()=0
virtual bufsize_t getFieldSize(size_t fieldId, size_t subField=FIELD_NONE)
virtual void * getFieldPtr(size_t fieldId, size_t subField)=0
virtual offset_t getOffset()
virtual QString getFieldName(size_t fieldId)=0
virtual bool isMyEntryType(ExeNodeWrapper *entry)
virtual void * getSubfieldPtr(size_t fieldId, size_t subField)
virtual ExeNodeWrapper * addEntryAt(ExeNodeWrapper *entry, offset_t nextOffset)
ExeNodeWrapper * getLastEntry()
virtual QString getSubfieldName(size_t fieldId, size_t subField)
ExeNodeWrapper(Executable *pe, ExeNodeWrapper *parent=NULL)
virtual void reloadMapping()
virtual ExeNodeWrapper * getEntryAt(size_t fieldId)
virtual bufsize_t geEntrySize()
std::vector< ExeNodeWrapper * > entries
virtual bool loadNextEntry(size_t entryNum)
virtual bool canAddEntry()
virtual offset_t getNextEntryOffset()
virtual size_t getEntriesCount()
virtual bufsize_t getSubfieldSize(size_t fieldId, size_t subField)
virtual ExeNodeWrapper * addEntry(ExeNodeWrapper *entry)
bool append(dbg_level lvl, const char *format,...)