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)
 
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

◆ ResourceAccelerator() [4/4]

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

◆ ~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

◆ ansi()

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

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

◆ ansi_str()

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

References 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

◆ operator=() [2/2]

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

◆ 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

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