retdec
file_format.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_COMMON_FILE_FORMAT_H
8 #define RETDEC_COMMON_FILE_FORMAT_H
9 
10 #include <string>
11 
12 namespace retdec {
13 namespace common {
14 
20 {
21  public:
24  bool isUnknown() const;
25  bool isKnown() const;
26  bool isElf() const;
27  bool isElf32() const;
28  bool isElf64() const;
29  bool isPe() const;
30  bool isPe32() const;
31  bool isPe64() const;
32  bool isCoff() const;
33  bool isCoff32() const;
34  bool isCoff64() const;
35  bool isMacho() const;
36  bool isMacho32() const;
37  bool isMacho64() const;
38  bool isIntelHex() const;
39  bool isIntelHex16() const;
40  bool isIntelHex32() const;
41  bool isIntelHex64() const;
42  bool isRaw() const;
43  bool isRaw32() const;
44  bool isRaw64() const;
45  bool is16bit() const;
46  bool is32bit() const;
47  bool is64bit() const;
48  bool isFileClassBits(unsigned b) const;
50 
53  void setIsUnknown();
54  void setIsElf();
55  void setIsElf32();
56  void setIsElf64();
57  void setIsPe();
58  void setIsPe32();
59  void setIsPe64();
60  void setIsCoff();
61  void setIsCoff32();
62  void setIsCoff64();
63  void setIsMacho();
64  void setIsMacho32();
65  void setIsMacho64();
66  void setIsIntelHex();
67  void setIsIntelHex16();
68  void setIsIntelHex32();
69  void setIsIntelHex64();
70  void setIsRaw();
71  void setIsRaw32();
72  void setIsRaw64();
73  void setName(const std::string& n);
74  void setIs16bit();
75  void setIs32bit();
76  void setIs64bit();
77  void setFileClassBits(unsigned b);
79 
82  std::string getName() const;
83  unsigned getFileClassBits() const;
85 
86  private:
88  {
95  FF_RAW
96  };
97 
98  private:
102  unsigned _fileClassBits = 0;
103 };
104 
105 } // namespace common
106 } // namespace retdec
107 
108 #endif
Definition: file_format.h:20
bool isCoff32() const
Definition: file_format.cpp:23
void setIsRaw64()
Definition: file_format.cpp:67
void setIsElf()
Definition: file_format.cpp:49
bool is32bit() const
Definition: file_format.cpp:36
bool is64bit() const
Definition: file_format.cpp:37
bool isIntelHex64() const
Definition: file_format.cpp:31
void setIsElf32()
Definition: file_format.cpp:50
bool isUnknown() const
Definition: file_format.cpp:14
bool isRaw() const
Definition: file_format.cpp:32
void setIs32bit()
Definition: file_format.cpp:69
void setIsCoff()
Definition: file_format.cpp:55
eFileFormat
Definition: file_format.h:88
@ FF_COFF
Definition: file_format.h:92
@ FF_UNKNOWN
Definition: file_format.h:89
@ FF_RAW
Definition: file_format.h:95
@ FF_ELF
Definition: file_format.h:90
@ FF_IHEX
Definition: file_format.h:93
@ FF_PE
Definition: file_format.h:91
@ FF_MACHO
Definition: file_format.h:94
bool isFileClassBits(unsigned b) const
Definition: file_format.cpp:43
void setIsIntelHex64()
Definition: file_format.cpp:64
bool isPe64() const
Definition: file_format.cpp:21
std::string getName() const
Definition: file_format.cpp:120
bool isMacho32() const
Definition: file_format.cpp:26
void setFileClassBits(unsigned b)
Definition: file_format.cpp:76
unsigned _fileClassBits
Definition: file_format.h:102
bool isElf32() const
Definition: file_format.cpp:17
void setIsIntelHex()
Definition: file_format.cpp:61
bool isCoff() const
Definition: file_format.cpp:22
bool isRaw32() const
Definition: file_format.cpp:33
void setIsElf64()
Definition: file_format.cpp:51
void setIsIntelHex16()
Definition: file_format.cpp:62
void setIsPe64()
Definition: file_format.cpp:54
bool isPe32() const
Definition: file_format.cpp:20
bool isKnown() const
Definition: file_format.cpp:15
bool isMacho() const
Definition: file_format.cpp:25
void setName(const std::string &n)
Definition: file_format.cpp:86
bool isIntelHex16() const
Definition: file_format.cpp:29
void setIsPe32()
Definition: file_format.cpp:53
bool isElf() const
Definition: file_format.cpp:16
bool isIntelHex32() const
Definition: file_format.cpp:30
unsigned getFileClassBits() const
Definition: file_format.cpp:136
void setIs64bit()
Definition: file_format.cpp:70
void setIsIntelHex32()
Definition: file_format.cpp:63
void setIsMacho()
Definition: file_format.cpp:58
bool isCoff64() const
Definition: file_format.cpp:24
bool isMacho64() const
Definition: file_format.cpp:27
void setIsRaw()
Definition: file_format.cpp:65
void setIsUnknown()
Definition: file_format.cpp:48
bool is16bit() const
Definition: file_format.cpp:35
eFileFormat _fileFormat
Definition: file_format.h:99
bool isRaw64() const
Definition: file_format.cpp:34
bool isPe() const
Definition: file_format.cpp:19
void setIs16bit()
Definition: file_format.cpp:68
bool isIntelHex() const
Definition: file_format.cpp:28
void setIsMacho32()
Definition: file_format.cpp:59
bool isElf64() const
Definition: file_format.cpp:18
void setIsRaw32()
Definition: file_format.cpp:66
void setIsPe()
Definition: file_format.cpp:52
void setIsMacho64()
Definition: file_format.cpp:60
void setIsCoff32()
Definition: file_format.cpp:56
void setIsCoff64()
Definition: file_format.cpp:57
Definition: archive_wrapper.h:19