LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
LIEF::PE::ResourceAccelerator Class Reference

#include <ResourceAccelerator.hpp>

Inheritance diagram for LIEF::PE::ResourceAccelerator:
Collaboration diagram for LIEF::PE::ResourceAccelerator:

Public Types

enum class  FLAGS : uint32_t {
  VIRTKEY = 0x01 , NOINVERT = 0x02 , SHIFT = 0x04 , CONTROL = 0x08 ,
  ALT = 0x10 , END = 0x80
}
 From: https://docs.microsoft.com/en-us/windows/win32/menurc/acceltableentry. More...
Public Types inherited from LIEF::Object
template<class T>
using output_t = add_pointer_t<decay_t<T>>
template<class T>
using output_const_t = add_pointer_t<add_const_t<decay_t<T>>>

Public Member Functions

 ResourceAccelerator ()=default
 ResourceAccelerator (const details::pe_resource_acceltableentry &)
 ResourceAccelerator (const ResourceAccelerator &)=default
ResourceAcceleratoroperator= (const ResourceAccelerator &)=default
 ResourceAccelerator (ResourceAccelerator &&)=default
ResourceAcceleratoroperator= (ResourceAccelerator &&)=default
 ~ResourceAccelerator () override=default
std::vector< FLAGSflags_list () const
const char * ansi_str () const
int16_t flags () const
 Describe the keyboard accelerator characteristics.
int16_t ansi () const
 An ANSI character value or a virtual-key code that identifies the accelerator key.
uint16_t id () const
 An identifier for the keyboard accelerator.
int16_t padding () const
 The number of bytes inserted to ensure that the structure is aligned on a DWORD boundary.
bool has (FLAGS flag) const
 Whether the entry has the given flag.
ResourceAcceleratoradd (FLAGS flag)
ResourceAcceleratorremove (FLAGS flag)
void accept (Visitor &visitor) const override
Public Member Functions inherited from LIEF::Object
 Object ()
 Object (const Object &other)
Objectoperator= (const Object &other)
 Object (Object &&other) noexcept=default
Objectoperator= (Object &&other) noexcept=default
template<class T>
output_t< T > as ()
template<class T>
output_const_t< T > as () const
virtual bool operator== (const Object &other) const
virtual bool operator!= (const Object &other) const
virtual ~Object ()

Member Enumeration Documentation

◆ FLAGS

enum class LIEF::PE::ResourceAccelerator::FLAGS : uint32_t
strong

From: https://docs.microsoft.com/en-us/windows/win32/menurc/acceltableentry.

Enumerator
VIRTKEY 

The accelerator key is a virtual-key code. If this flag is not specified, the accelerator key is assumed to specify an ASCII character code.

NOINVERT 

A menu item on the menu bar is not highlighted when an accelerator is used. This attribute is obsolete and retained only for backward compatibility with resource files designed for 16-bit Windows.

SHIFT 

The accelerator is activated only if the user presses the SHIFT key. This flag applies only to virtual keys.

CONTROL 

The accelerator is activated only if the user presses the CTRL key. This flag applies only to virtual keys.

ALT 

The accelerator is activated only if the user presses the ALT key. This flag applies only to virtual keys.

END 

The entry is last in an accelerator table.

Constructor & Destructor Documentation

◆ ResourceAccelerator() [1/4]

LIEF::PE::ResourceAccelerator::ResourceAccelerator ( )
default

◆ ResourceAccelerator() [2/4]

LIEF::PE::ResourceAccelerator::ResourceAccelerator ( const details::pe_resource_acceltableentry & )
explicit

◆ ResourceAccelerator() [3/4]

LIEF::PE::ResourceAccelerator::ResourceAccelerator ( const ResourceAccelerator & )
default

References ResourceAccelerator().

◆ ResourceAccelerator() [4/4]

LIEF::PE::ResourceAccelerator::ResourceAccelerator ( ResourceAccelerator && )
default

References ResourceAccelerator().

◆ ~ResourceAccelerator()

LIEF::PE::ResourceAccelerator::~ResourceAccelerator ( )
overridedefault

Member Function Documentation

◆ accept()

void LIEF::PE::ResourceAccelerator::accept ( Visitor & visitor) const
overridevirtual

Implements LIEF::Object.

◆ add()

ResourceAccelerator & LIEF::PE::ResourceAccelerator::add ( FLAGS flag)
inline

References ResourceAccelerator().

◆ ansi()

int16_t LIEF::PE::ResourceAccelerator::ansi ( ) const
inline

An ANSI character value or a virtual-key code that identifies the accelerator key.

Referenced by ansi_str().

◆ ansi_str()

const char * LIEF::PE::ResourceAccelerator::ansi_str ( ) const
inline

References ansi(), and to_string().

◆ flags()

int16_t LIEF::PE::ResourceAccelerator::flags ( ) const
inline

Describe the keyboard accelerator characteristics.

◆ flags_list()

std::vector< FLAGS > LIEF::PE::ResourceAccelerator::flags_list ( ) const

◆ has()

bool LIEF::PE::ResourceAccelerator::has ( FLAGS flag) const
inline

Whether the entry has the given flag.

◆ id()

uint16_t LIEF::PE::ResourceAccelerator::id ( ) const
inline

An identifier for the keyboard accelerator.

◆ operator=() [1/2]

ResourceAccelerator & LIEF::PE::ResourceAccelerator::operator= ( const ResourceAccelerator & )
default

References ResourceAccelerator().

◆ operator=() [2/2]

ResourceAccelerator & LIEF::PE::ResourceAccelerator::operator= ( ResourceAccelerator && )
default

References ResourceAccelerator().

◆ padding()

int16_t LIEF::PE::ResourceAccelerator::padding ( ) const
inline

The number of bytes inserted to ensure that the structure is aligned on a DWORD boundary.

◆ remove()

ResourceAccelerator & LIEF::PE::ResourceAccelerator::remove ( FLAGS flag)
inline

References ResourceAccelerator().


The documentation for this class was generated from the following file: