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

Representation of the data associated with the RT_VERSION entry. More...

#include <ResourceVersion.hpp>

Inheritance diagram for LIEF::PE::ResourceVersion:
Collaboration diagram for LIEF::PE::ResourceVersion:

Public Member Functions

 ResourceVersion (const ResourceVersion &)
 
ResourceVersionoperator= (const ResourceVersion &)
 
 ~ResourceVersion () override
 
uint16_t type () const
 The type of data in the version resource.
 
const std::u16string & key () const
 Signature of the structure: Must be the unicode string "VS_VERSION_INFO".
 
bool has_fixed_file_info () const
 true if the version contains a ResourceFixedFileInfo
 
bool has_string_file_info () const
 true if the version contains a ResourceStringFileInfo
 
bool has_var_file_info () const
 true if the version contains a ResourceVarFileInfo
 
const ResourceFixedFileInfofixed_file_info () const
 Object that describes various information about the application's version. This is an optional information and if it is not present, it returns a nullptr.
 
ResourceFixedFileInfofixed_file_info ()
 
const ResourceStringFileInfostring_file_info () const
 Object that describes various information about the application's version. The underlying structure is basically a dictionary (key/value)
 
ResourceStringFileInfostring_file_info ()
 
const ResourceVarFileInfovar_file_info () const
 Object that describes information about languages supported by the application This structure is not always present and if not, it returns a nullptr.
 
ResourceVarFileInfovar_file_info ()
 
void type (uint16_t type)
 
void key (std::u16string key)
 
void key (const std::string &key)
 
void fixed_file_info (const ResourceFixedFileInfo &fixed_file_info)
 
void remove_fixed_file_info ()
 
void string_file_info (const ResourceStringFileInfo &string_file_info)
 
void remove_string_file_info ()
 
void var_file_info (const ResourceVarFileInfo &var_file_info)
 
void remove_var_file_info ()
 
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 ()
 

Additional Inherited Members

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

Detailed Description

Representation of the data associated with the RT_VERSION entry.

See: VS_VERSIONINFO - https://docs.microsoft.com/en-us/windows/win32/menurc/vs-versioninfo

Constructor & Destructor Documentation

◆ ResourceVersion()

LIEF::PE::ResourceVersion::ResourceVersion ( const ResourceVersion & )

◆ ~ResourceVersion()

LIEF::PE::ResourceVersion::~ResourceVersion ( )
override

Member Function Documentation

◆ accept()

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

Implements LIEF::Object.

◆ fixed_file_info() [1/3]

ResourceFixedFileInfo * LIEF::PE::ResourceVersion::fixed_file_info ( )

◆ fixed_file_info() [2/3]

const ResourceFixedFileInfo * LIEF::PE::ResourceVersion::fixed_file_info ( ) const

Object that describes various information about the application's version. This is an optional information and if it is not present, it returns a nullptr.

◆ fixed_file_info() [3/3]

void LIEF::PE::ResourceVersion::fixed_file_info ( const ResourceFixedFileInfo & fixed_file_info)

◆ has_fixed_file_info()

bool LIEF::PE::ResourceVersion::has_fixed_file_info ( ) const

true if the version contains a ResourceFixedFileInfo

◆ has_string_file_info()

bool LIEF::PE::ResourceVersion::has_string_file_info ( ) const

true if the version contains a ResourceStringFileInfo

◆ has_var_file_info()

bool LIEF::PE::ResourceVersion::has_var_file_info ( ) const

true if the version contains a ResourceVarFileInfo

◆ key() [1/3]

const std::u16string & LIEF::PE::ResourceVersion::key ( ) const

Signature of the structure: Must be the unicode string "VS_VERSION_INFO".

◆ key() [2/3]

void LIEF::PE::ResourceVersion::key ( const std::string & key)

◆ key() [3/3]

void LIEF::PE::ResourceVersion::key ( std::u16string key)
inline

◆ operator=()

ResourceVersion & LIEF::PE::ResourceVersion::operator= ( const ResourceVersion & )

◆ remove_fixed_file_info()

void LIEF::PE::ResourceVersion::remove_fixed_file_info ( )

◆ remove_string_file_info()

void LIEF::PE::ResourceVersion::remove_string_file_info ( )

◆ remove_var_file_info()

void LIEF::PE::ResourceVersion::remove_var_file_info ( )

◆ string_file_info() [1/3]

ResourceStringFileInfo * LIEF::PE::ResourceVersion::string_file_info ( )

◆ string_file_info() [2/3]

const ResourceStringFileInfo * LIEF::PE::ResourceVersion::string_file_info ( ) const

Object that describes various information about the application's version. The underlying structure is basically a dictionary (key/value)

This structure is not always present and if not, it returns a nullptr

◆ string_file_info() [3/3]

void LIEF::PE::ResourceVersion::string_file_info ( const ResourceStringFileInfo & string_file_info)

◆ type() [1/2]

uint16_t LIEF::PE::ResourceVersion::type ( ) const

The type of data in the version resource.

  • 1 if it contains text data
  • 0 if it contains binary data

◆ type() [2/2]

void LIEF::PE::ResourceVersion::type ( uint16_t type)

◆ var_file_info() [1/3]

ResourceVarFileInfo * LIEF::PE::ResourceVersion::var_file_info ( )

◆ var_file_info() [2/3]

const ResourceVarFileInfo * LIEF::PE::ResourceVersion::var_file_info ( ) const

Object that describes information about languages supported by the application This structure is not always present and if not, it returns a nullptr.

◆ var_file_info() [3/3]

void LIEF::PE::ResourceVersion::var_file_info ( const ResourceVarFileInfo & var_file_info)

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