retdec
resource.h
Go to the documentation of this file.
1 
7 #ifndef FILEINFO_FILE_INFORMATION_FILE_INFORMATION_TYPES_RESOURCE_TABLE_RESOURCE_H
8 #define FILEINFO_FILE_INFORMATION_FILE_INFORMATION_TYPES_RESOURCE_TABLE_RESOURCE_H
9 
10 #include <limits>
11 #include <string>
12 
13 namespace retdec {
14 namespace fileinfo {
15 
21 class Resource
22 {
23  private:
24  std::string crc32;
25  std::string md5;
26  std::string sha256;
27  std::string name;
28  std::string type;
29  std::string language;
30  std::size_t nameId = std::numeric_limits<std::size_t>::max();
31  std::size_t typeId = std::numeric_limits<std::size_t>::max();
32  std::size_t languageId = std::numeric_limits<std::size_t>::max();
33  std::size_t sublanguageId = std::numeric_limits<std::size_t>::max();
34  std::size_t offset = std::numeric_limits<std::size_t>::max();
35  std::size_t size = std::numeric_limits<std::size_t>::max();
36  public:
39  std::string getCrc32() const;
40  std::string getMd5() const;
41  std::string getSha256() const;
42  std::string getName() const;
43  std::string getType() const;
44  std::string getLanguage() const;
45  std::string getNameIdStr(std::ios_base &(* format)(std::ios_base &)) const;
46  std::string getTypeIdStr(std::ios_base &(* format)(std::ios_base &)) const;
47  std::string getLanguageIdStr(std::ios_base &(* format)(std::ios_base &)) const;
48  std::string getSublanguageIdStr(std::ios_base &(* format)(std::ios_base &)) const;
49  std::string getOffsetStr(std::ios_base &(* format)(std::ios_base &)) const;
50  std::string getSizeStr(std::ios_base &(* format)(std::ios_base &)) const;
52 
55  void setCrc32(std::string rCrc32);
56  void setMd5(std::string rMd5);
57  void setSha256(std::string rSha256);
58  void setName(std::string rName);
59  void setType(std::string rType);
60  void setLanguage(std::string rLan);
61  void setNameId(std::size_t rId);
62  void setTypeId(std::size_t rId);
63  void setLanguageId(std::size_t rId);
64  void setSublanguageId(std::size_t rId);
65  void setOffset(std::size_t rOffset);
66  void setSize(std::size_t rSize);
68 };
69 
70 } // namespace fileinfo
71 } // namespace retdec
72 
73 #endif
Definition: resource.h:22
void setSha256(std::string rSha256)
Definition: resource.cpp:149
std::string getSha256() const
Definition: resource.cpp:35
std::string type
resource type
Definition: resource.h:28
std::size_t sublanguageId
resource sublanguage identifier
Definition: resource.h:33
void setTypeId(std::size_t rId)
Definition: resource.cpp:194
std::string md5
MD5 of resource content.
Definition: resource.h:25
void setMd5(std::string rMd5)
Definition: resource.cpp:140
std::string crc32
CRC32 of resource content.
Definition: resource.h:24
void setOffset(std::size_t rOffset)
Definition: resource.cpp:221
std::size_t offset
offset in file
Definition: resource.h:34
void setLanguageId(std::size_t rId)
Definition: resource.cpp:203
std::string getTypeIdStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: resource.cpp:82
std::string getLanguageIdStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: resource.cpp:92
std::string language
resource language
Definition: resource.h:29
std::string sha256
SHA256 of recource content.
Definition: resource.h:26
std::string getCrc32() const
Definition: resource.cpp:17
void setSize(std::size_t rSize)
Definition: resource.cpp:230
std::size_t size
size in file
Definition: resource.h:35
std::size_t languageId
resource language identifier
Definition: resource.h:32
std::string getOffsetStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: resource.cpp:112
std::size_t typeId
resource type identifier
Definition: resource.h:31
void setCrc32(std::string rCrc32)
Definition: resource.cpp:131
std::string getNameIdStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: resource.cpp:72
void setName(std::string rName)
Definition: resource.cpp:158
std::string getType() const
Definition: resource.cpp:53
std::string getLanguage() const
Definition: resource.cpp:62
std::string name
resource name
Definition: resource.h:27
void setType(std::string rType)
Definition: resource.cpp:167
std::string getMd5() const
Definition: resource.cpp:26
void setNameId(std::size_t rId)
Definition: resource.cpp:185
std::string getSublanguageIdStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: resource.cpp:102
void setSublanguageId(std::size_t rId)
Definition: resource.cpp:212
std::string getSizeStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: resource.cpp:122
void setLanguage(std::string rLan)
Definition: resource.cpp:176
std::string getName() const
Definition: resource.cpp:44
std::size_t nameId
resource name identifier
Definition: resource.h:30
Definition: archive_wrapper.h:19