retdec
loader_info.h
Go to the documentation of this file.
1 
7 #ifndef FILEINFO_FILE_INFORMATION_FILE_INFORMATION_TYPES_LOADER_INFO_H
8 #define FILEINFO_FILE_INFORMATION_FILE_INFORMATION_TYPES_LOADER_INFO_H
9 
10 #include <string>
11 #include <vector>
12 
13 namespace retdec {
14 namespace fileinfo {
15 
17 {
18  private:
19  unsigned long long _index;
20  std::string _name;
21  unsigned long long _address;
22  unsigned long long _size;
23  public:
24  LoadedSegment(unsigned long long index, std::string name, unsigned long long address, unsigned long long size);
27 
28  std::string getIndexStr(std::ios_base &(* format)(std::ios_base &)) const;
29  std::string getName() const;
30  std::string getAddressStr(std::ios_base &(* format)(std::ios_base &)) const;
31  std::string getSizeStr(std::ios_base &(* format)(std::ios_base &)) const;
32 };
33 
35 {
36  private:
37  unsigned long long _baseAddress = 0;
38  std::vector<LoadedSegment> _loadedSegments;
39  std::string _statusMessage;
41 
42  public:
45  std::string getBaseAddressStr(std::ios_base &(* format)(std::ios_base &)) const;
46  std::string getNumberOfLoadedSegmentsStr(std::ios_base &(* format)(std::ios_base &)) const;
47  unsigned long long getNumberOfLoadedSegments() const;
48  const LoadedSegment& getLoadedSegment(unsigned long long index) const;
49  const std::string& getStatusMessage() const;
52 
55  void setBaseAddress(unsigned long long baseAddress);
56  void setStatusMessage(const std::string& statusMessage);
59 
62  void addLoadedSegment(const LoadedSegment& segment);
64 };
65 
66 } // namespace fileinfo
67 } // namespace retdec
68 
69 #endif
Definition: loader_info.h:17
std::string getName() const
Definition: loader_info.cpp:37
std::string getIndexStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: loader_info.cpp:32
std::string getSizeStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: loader_info.cpp:47
unsigned long long _index
Definition: loader_info.h:19
std::string _name
Definition: loader_info.h:20
std::string getAddressStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: loader_info.cpp:42
LoadedSegment(unsigned long long index, std::string name, unsigned long long address, unsigned long long size)
Definition: loader_info.cpp:14
unsigned long long _address
Definition: loader_info.h:21
unsigned long long _size
Definition: loader_info.h:22
Definition: loader_info.h:35
const retdec::fileformat::LoaderErrorInfo & getLoaderErrorInfo() const
Definition: loader_info.cpp:77
std::vector< LoadedSegment > _loadedSegments
Definition: loader_info.h:38
unsigned long long getNumberOfLoadedSegments() const
Definition: loader_info.cpp:62
std::string getBaseAddressStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: loader_info.cpp:52
void setStatusMessage(const std::string &statusMessage)
Definition: loader_info.cpp:87
void setBaseAddress(unsigned long long baseAddress)
Definition: loader_info.cpp:82
std::string _statusMessage
Definition: loader_info.h:39
void setLoaderErrorInfo(const retdec::fileformat::LoaderErrorInfo &ldrErrInfo)
Definition: loader_info.cpp:92
void addLoadedSegment(const LoadedSegment &segment)
Definition: loader_info.cpp:97
unsigned long long _baseAddress
Definition: loader_info.h:37
std::string getNumberOfLoadedSegmentsStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: loader_info.cpp:57
retdec::fileformat::LoaderErrorInfo _ldrErrInfo
Definition: loader_info.h:40
const std::string & getStatusMessage() const
Definition: loader_info.cpp:72
const LoadedSegment & getLoadedSegment(unsigned long long index) const
Definition: loader_info.cpp:67
Definition: archive_wrapper.h:19
Definition: file_format.h:31