16#ifndef LIEF_PE_RESOURCE_DIRECTORY_H
17#define LIEF_PE_RESOURCE_DIRECTORY_H
30struct pe_resource_directory_table;
51 std::unique_ptr<ResourceNode>
clone()
const override {
58 return characteristics_;
64 return timedatestamp_;
81 return numberof_name_entries_;
88 return numberof_id_entries_;
92 characteristics_ = characteristics;
95 timedatestamp_ = time_date_stamp;
98 majorversion_ = major_version;
101 minorversion_ = minor_version;
104 numberof_name_entries_ = numberof_name_entries;
107 numberof_id_entries_ = numberof_id_entries;
119 uint32_t characteristics_ = 0;
120 uint32_t timedatestamp_ = 0;
121 uint16_t majorversion_ = 0;
122 uint16_t minorversion_ = 0;
123 uint16_t numberof_name_entries_ = 0;
124 uint16_t numberof_id_entries_ = 0;
Class that is used to rebuild a raw PE binary from a PE::Binary object.
Definition PE/Builder.hpp:45
Main interface to parse PE binaries. In particular the static functions: Parser::parse should be used...
Definition PE/Parser.hpp:47
Definition ResourceDirectory.hpp:33
void major_version(uint16_t major_version)
Definition ResourceDirectory.hpp:97
void characteristics(uint32_t characteristics)
Definition ResourceDirectory.hpp:91
uint16_t minor_version() const
The minor version number, set by the user.
Definition ResourceDirectory.hpp:73
ResourceDirectory()
Definition ResourceDirectory.hpp:39
~ResourceDirectory() override=default
ResourceDirectory & operator=(const ResourceDirectory &other)=default
void minor_version(uint16_t minor_version)
Definition ResourceDirectory.hpp:100
uint16_t numberof_id_entries() const
The number of directory entries immediately following the Name entries that use numeric IDs for Type,...
Definition ResourceDirectory.hpp:87
uint16_t major_version() const
The major version number, set by the user.
Definition ResourceDirectory.hpp:68
ResourceDirectory(const details::pe_resource_directory_table &header)
uint16_t numberof_name_entries() const
The number of directory entries immediately following the table that use strings to identify Type,...
Definition ResourceDirectory.hpp:80
void numberof_name_entries(uint16_t numberof_name_entries)
Definition ResourceDirectory.hpp:103
static bool classof(const ResourceNode *node)
Definition ResourceDirectory.hpp:110
void accept(Visitor &visitor) const override
void time_date_stamp(uint32_t time_date_stamp)
Definition ResourceDirectory.hpp:94
void swap(ResourceDirectory &other) noexcept
friend std::ostream & operator<<(std::ostream &os, const ResourceDirectory &directory)
void numberof_id_entries(uint16_t numberof_id_entries)
Definition ResourceDirectory.hpp:106
ResourceDirectory(const ResourceDirectory &other)=default
uint32_t characteristics() const
Resource characteristics. This field is reserved for future use. It is currently set to zero.
Definition ResourceDirectory.hpp:57
uint32_t time_date_stamp() const
The time that the resource data was created by the resource compiler.
Definition ResourceDirectory.hpp:63
std::unique_ptr< ResourceNode > clone() const override
Definition ResourceDirectory.hpp:51
Class which represents a Node in the resource tree.
Definition ResourceNode.hpp:36
bool is_directory() const
True if the current entry is a ResourceDirectory.
Definition ResourceNode.hpp:101
TYPE
Enum that identifies the type of a node in the resource tree.
Definition ResourceNode.hpp:47
Definition Visitor.hpp:224
LIEF namespace.
Definition Abstract/Binary.hpp:32
#define LIEF_API
Definition visibility.h:41