retdec
Public Member Functions | List of all members
retdec::fileinfo::ImportTableJsonGetter Class Reference

#include <import_table_json_getter.h>

Inheritance diagram for retdec::fileinfo::ImportTableJsonGetter:
Inheritance graph
[legend]
Collaboration diagram for retdec::fileinfo::ImportTableJsonGetter:
Collaboration graph
[legend]

Public Member Functions

 ImportTableJsonGetter (FileInformation &fileInfo)
 
virtual std::size_t getBasicInfo (std::size_t structIndex, std::vector< std::string > &desc, std::vector< std::string > &info) const override
 
virtual bool getRecord (std::size_t structIndex, std::size_t recIndex, std::vector< std::string > &record) const override
 
virtual bool getFlags (std::size_t structIndex, std::size_t recIndex, std::string &flagsValue, std::vector< std::string > &desc) const override
 
- Public Member Functions inherited from retdec::fileinfo::IterativeSubtitleGetter
 IterativeSubtitleGetter (FileInformation &fileInfo)
 
void getHeader (std::string &structsHeader) const
 
void getSubtitle (std::string &subTitle) const
 
- Public Member Functions inherited from retdec::fileinfo::IterativeGetter
 IterativeGetter (FileInformation &fileInfo)
 
std::size_t getNumberOfStructures () const
 
std::size_t getNumberOfStoredRecords (std::size_t structIndex) const
 
std::size_t getHeaderElements (std::size_t structIndex, std::vector< std::string > &elements) const
 
void getTitle (std::string &structTitle) const
 
bool hasBasicInfo (std::size_t structIndex) const
 

Additional Inherited Members

- Protected Attributes inherited from retdec::fileinfo::IterativeSubtitleGetter
std::string header
 title of presented structures More...
 
std::string subtitle
 subtitle of presented record More...
 
- Protected Attributes inherited from retdec::fileinfo::IterativeGetter
FileInformationfileinfo
 information about file More...
 
std::size_t numberOfStructures
 number of presented structures (e.g. number of symbol tables) More...
 
std::vector< std::size_t > numberOfStoredRecords
 number of records in each structure More...
 
std::vector< std::string > commonHeaderElements
 parts of header (common for all structures) More...
 
std::vector< std::size_t > numberOfExtraElements
 number of extra elements in each structure More...
 
std::vector< std::vector< std::string > > extraHeaderElements
 parts of header (specific for each structure) More...
 
std::string title
 title of presented structure More...
 

Detailed Description

Getter for import table

Constructor & Destructor Documentation

◆ ImportTableJsonGetter()

retdec::fileinfo::ImportTableJsonGetter::ImportTableJsonGetter ( FileInformation fileInfo)

Constructor

Parameters
fileInfoInformation about file

Member Function Documentation

◆ getBasicInfo()

std::size_t retdec::fileinfo::ImportTableJsonGetter::getBasicInfo ( std::size_t  structIndex,
std::vector< std::string > &  desc,
std::vector< std::string > &  info 
) const
overridevirtual

Get basic information about presented structure

Parameters
structIndexIndex of selected structure (indexed from 0)
descVector for save descriptions of information
infoVector for save information about file
Returns
Number of loaded information (this is equal to number of elements in desc and in info)

Before loading information, everything from vectors desc and info is deleted. If structure does not support this feature or structIndex is out of range, method returns 0 and vectors are left unchanged.

Implements retdec::fileinfo::IterativeGetter.

◆ getFlags()

bool retdec::fileinfo::ImportTableJsonGetter::getFlags ( std::size_t  structIndex,
std::size_t  recIndex,
std::string &  flagsValue,
std::vector< std::string > &  desc 
) const
overridevirtual

Get value of flags and their descriptions

Parameters
structIndexIndex of selected structure (indexed from 0)
recIndexIndex of record in selected structure (indexed from 0)
flagsValueInto this parameter is stored bit array of flags in string representation
descVector for save descriptors
Returns
true if record was successfully saved, false otherwise

Before loading descriptors, everything from desc is deleted.

If getter does not support flags, flagsValue is erased to zero length.

If structIndex or recIndex is out of range, method returns false.

Implements retdec::fileinfo::IterativeSubtitleGetter.

◆ getRecord()

bool retdec::fileinfo::ImportTableJsonGetter::getRecord ( std::size_t  structIndex,
std::size_t  recIndex,
std::vector< std::string > &  record 
) const
overridevirtual

Get one record from structure

Parameters
structIndexIndex of selected structure (indexed from 0)
recIndexIndex of record in selected structure (indexed from 0)
recordVector for save record. At end of vector are stored special additional information, if these information are present. Number and semantics of additional information may be different for every separate structure.
Returns
true if record was successfully saved, false otherwise

Before loading record, everything from vector record is deleted.

If method returns true, record contains as many elements as vector returned by the method getHeaderElements(structIndex).

If structIndex or recIndex is out of range, method returns false.

Implements retdec::fileinfo::IterativeGetter.


The documentation for this class was generated from the following files: