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_ACCELERATOR_H
17#define LIEF_PE_RESOURCE_ACCELERATOR_H
35struct pe_resource_acceltableentry;
39 friend class ResourcesManager;
41 enum class FLAGS : uint32_t { VIRTKEY = 0x01,
73 ResourceAccelerator&
operator=(
const ResourceAccelerator&) =
default;
76 ResourceAccelerator&
operator=(ResourceAccelerator&&) =
default;
85 int16_t
flags()
const {
90 int16_t
ansi()
const {
107 bool has(FLAGS flag)
const {
110 return (flags_ & (int16_t)flag) != 0;
113 ResourceAccelerator&
add(FLAGS flag) {
114 flags_ |= (int16_t)flag;
118 ResourceAccelerator&
remove(FLAGS flag) {
119 flags_ &= ~(int16_t)flag;
123 void accept(Visitor& visitor)
const override;
131 int16_t padding_ = 0;
Definition ResourceAccelerator.hpp:38
ResourceAccelerator(const details::pe_resource_acceltableentry &)
const char * ansi_str() const
Definition ResourceAccelerator.hpp:82
int16_t ansi() const
An ANSI character value or a virtual-key code that identifies the accelerator key.
Definition ResourceAccelerator.hpp:93
ResourceAccelerator & add(FLAGS flag)
Definition ResourceAccelerator.hpp:113
ResourceAccelerator & operator=(ResourceAccelerator &&)=default
ResourceAccelerator & operator=(const ResourceAccelerator &)=default
ResourceAccelerator & remove(FLAGS flag)
Definition ResourceAccelerator.hpp:118
ResourceAccelerator(ResourceAccelerator &&)=default
uint16_t id() const
An identifier for the keyboard accelerator.
Definition ResourceAccelerator.hpp:98
ResourceAccelerator()=default
std::vector< FLAGS > flags_list() const
~ResourceAccelerator() override=default
int16_t flags() const
Describe the keyboard accelerator characteristics.
Definition ResourceAccelerator.hpp:87
FLAGS
From: https://docs.microsoft.com/en-us/windows/win32/menurc/acceltableentry.
Definition ResourceAccelerator.hpp:43
ResourceAccelerator(const ResourceAccelerator &)=default
void accept(Visitor &visitor) const override
bool has(FLAGS flag) const
Whether the entry has the given flag.
Definition ResourceAccelerator.hpp:109
int16_t padding() const
The number of bytes inserted to ensure that the structure is aligned on a DWORD boundary.
Definition ResourceAccelerator.hpp:104
friend std::ostream & operator<<(std::ostream &os, const ResourceAccelerator &acc)
The Resource Manager provides an enhanced API to manipulate the resource tree.
Definition ResourcesManager.hpp:38
#define ENABLE_BITMASK_OPERATORS(X)
Definition enums.hpp:24
const char * to_string(lief_errors err)
Definition DataDirectory.hpp:37
Namespace related to the LIEF's PE module.
Definition Abstract/Header.hpp:32
ACCELERATOR_CODES
From https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes.
Definition AcceleratorCodes.hpp:25
@ SHIFT
Definition AcceleratorCodes.hpp:36
@ CONTROL
Definition AcceleratorCodes.hpp:37
const char * to_string(AuxiliaryWeakExternal::CHARACTERISTICS e)
LIEF namespace.
Definition Abstract/Binary.hpp:36
#define LIEF_API
Definition visibility.h:41