LIEF: Library to Instrument Executable Formats Version 0.17.0
|
Loading...
Searching...
No Matches
Go to the documentation of this file.
16#ifndef LIEF_PE_RESOURCE_DIALOG_REGULAR_H
17#define LIEF_PE_RESOURCE_DIALOG_REGULAR_H
35 using ResourceDialog::ordinal_or_str_t;
36 class LIEF_API Item :
public ResourceDialog::Item {
43 Item(
const Item&) =
default;
49 static result<Item>
parse(BinaryStream& stream);
59 uint16_t point_size = 0;
63 return point_size != 0;
66 operator bool()
const {
78 using items_t = std::vector<Item>;
79 using it_items = ref_iterator<items_t&>;
80 using it_const_items = const_ref_iterator<const items_t&>;
83 ResourceDialog(ResourceDialog::TYPE::REGULAR)
87 ResourceDialogRegular&
operator=(
const ResourceDialogRegular&) =
default;
90 ResourceDialogRegular&
operator=(ResourceDialogRegular&&) =
default;
92 static std::unique_ptr<ResourceDialogRegular>
create(BinaryStream& stream);
94 std::unique_ptr<ResourceDialog>
clone()
const override {
95 return std::unique_ptr<ResourceDialogRegular>(
new ResourceDialogRegular(*
this));
98 static bool classof(
const ResourceDialog* dialog) {
99 return dialog->
type() == ResourceDialog::TYPE::REGULAR;
106 return items_.size();
120 items_.push_back(item);
122 const font_t&
font()
const {
128 ResourceDialogRegular&
font(uint16_t pointsize, std::u16string name) {
129 font_.name = std::move(name);
130 font_.point_size = pointsize;
134 ResourceDialogRegular&
font(font_t f) {
135 font_ = std::move(f);
139 void accept(Visitor& visitor)
const override;
Class that is used to a read stream of data from different sources.
Definition BinaryStream.hpp:33
Item & operator=(const Item &)=default
std::string to_string() const override
Item & operator=(Item &&)=default
Item(const Item &)=default
static result< Item > parse(BinaryStream &stream)
Implementation for a regular/legacy dialog box.
Definition ResourceDialogRegular.hpp:33
~ResourceDialogRegular() override=default
static bool classof(const ResourceDialog *dialog)
Definition ResourceDialogRegular.hpp:98
it_const_items items() const
Definition ResourceDialogRegular.hpp:114
ResourceDialogRegular(const ResourceDialogRegular &)=default
ResourceDialogRegular & font(font_t f)
Definition ResourceDialogRegular.hpp:134
it_items items()
Iterator over the different control items.
Definition ResourceDialogRegular.hpp:110
ResourceDialogRegular & operator=(const ResourceDialogRegular &)=default
void add_item(const Item &item)
Add a new control item to the dialog.
Definition ResourceDialogRegular.hpp:119
std::unique_ptr< ResourceDialog > clone() const override
Definition ResourceDialogRegular.hpp:94
uint32_t nb_items() const
Number of control items.
Definition ResourceDialogRegular.hpp:105
ResourceDialogRegular()
Definition ResourceDialogRegular.hpp:82
ResourceDialogRegular(ResourceDialogRegular &&)=default
const font_t & font() const
Additional font information.
Definition ResourceDialogRegular.hpp:124
std::string to_string() const override
ResourceDialogRegular & font(uint16_t pointsize, std::u16string name)
Definition ResourceDialogRegular.hpp:128
void accept(Visitor &visitor) const override
ResourceDialogRegular & operator=(ResourceDialogRegular &&)=default
static std::unique_ptr< ResourceDialogRegular > create(BinaryStream &stream)
This class is the base class for either a regular (legacy) Dialog or an extended Dialog....
Definition ResourceDialog.hpp:41
TYPE type() const
Definition ResourceDialog.hpp:333
Namespace related to the LIEF's PE module.
Definition Abstract/Header.hpp:32
LIEF namespace.
Definition Abstract/Binary.hpp:36
bool is_defined() const
Definition ResourceDialogRegular.hpp:62
std::string to_string() const
friend std::ostream & operator<<(std::ostream &os, const font_t &font)
Definition ResourceDialogRegular.hpp:72
#define LIEF_API
Definition visibility.h:41