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

Representation of the VarFileInfo structure. More...

#include <ResourceVarFileInfo.hpp>

Inheritance diagram for LIEF::PE::ResourceVarFileInfo:
Collaboration diagram for LIEF::PE::ResourceVarFileInfo:

Public Types

using vars_t = std::vector<ResourceVar>
using it_vars = ref_iterator<vars_t&>
using it_const_vars = const_ref_iterator<const vars_t&>
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

 ResourceVarFileInfo ()=default
 ResourceVarFileInfo (const ResourceVarFileInfo &)=default
ResourceVarFileInfooperator= (const ResourceVarFileInfo &)=default
 ResourceVarFileInfo (ResourceVarFileInfo &&)=default
ResourceVarFileInfooperator= (ResourceVarFileInfo &&)=default
 ~ResourceVarFileInfo () override=default
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 "VarFileInfo".
std::string key_u8 () const
 Key as an utf8 string.
it_vars vars ()
 Iterator over the embedded variables associated to the structure.
it_const_vars vars () const
ResourceVarFileInfotype (uint16_t type)
ResourceVarFileInfokey (std::u16string key)
void add_var (ResourceVar var)
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 ()

Static Public Member Functions

static result< ResourceVarFileInfoparse (BinaryStream &stream)

Detailed Description

Representation of the VarFileInfo structure.

This structure represents the organization of data in a file-version resource. It contains version information not dependent on a particular language and code page combination.

See: https://learn.microsoft.com/en-us/windows/win32/menurc/varfileinfo

Member Typedef Documentation

◆ it_const_vars

◆ it_vars

◆ vars_t

Constructor & Destructor Documentation

◆ ResourceVarFileInfo() [1/3]

LIEF::PE::ResourceVarFileInfo::ResourceVarFileInfo ( )
default

◆ ResourceVarFileInfo() [2/3]

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

References ResourceVarFileInfo().

◆ ResourceVarFileInfo() [3/3]

LIEF::PE::ResourceVarFileInfo::ResourceVarFileInfo ( ResourceVarFileInfo && )
default

References ResourceVarFileInfo().

◆ ~ResourceVarFileInfo()

LIEF::PE::ResourceVarFileInfo::~ResourceVarFileInfo ( )
overridedefault

Member Function Documentation

◆ accept()

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

Implements LIEF::Object.

References LIEF_API.

◆ add_var()

void LIEF::PE::ResourceVarFileInfo::add_var ( ResourceVar var)
inline

◆ key() [1/2]

const std::u16string & LIEF::PE::ResourceVarFileInfo::key ( ) const
inline

Signature of the structure. Must be the unicode string "VarFileInfo".

Referenced by key().

◆ key() [2/2]

ResourceVarFileInfo & LIEF::PE::ResourceVarFileInfo::key ( std::u16string key)
inline

References key(), and ResourceVarFileInfo().

◆ key_u8()

std::string LIEF::PE::ResourceVarFileInfo::key_u8 ( ) const

Key as an utf8 string.

◆ operator=() [1/2]

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

References ResourceVarFileInfo().

◆ operator=() [2/2]

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

References ResourceVarFileInfo().

◆ parse()

result< ResourceVarFileInfo > LIEF::PE::ResourceVarFileInfo::parse ( BinaryStream & stream)
static

◆ type() [1/2]

uint16_t LIEF::PE::ResourceVarFileInfo::type ( ) const
inline

The type of data in the version resource.

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

Referenced by type().

◆ type() [2/2]

ResourceVarFileInfo & LIEF::PE::ResourceVarFileInfo::type ( uint16_t type)
inline

References ResourceVarFileInfo(), and type().

◆ vars() [1/2]

it_vars LIEF::PE::ResourceVarFileInfo::vars ( )
inline

Iterator over the embedded variables associated to the structure.

◆ vars() [2/2]

it_const_vars LIEF::PE::ResourceVarFileInfo::vars ( ) const
inline

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