Ark Server API 3.54
Serverside plugin support for Ark Survival Evolved.
Loading...
Searching...
No Matches
API::PdbReader Class Reference

#include <PDBReader.h>

Public Member Functions

 PdbReader ()=default
 
 ~PdbReader ()=default
 
void Read (const std::wstring &path, std::unordered_map< std::string, intptr_t > *offsets_dump, std::unordered_map< std::string, BitField > *bitfields_dump)
 

Private Member Functions

void DumpStructs (IDiaSymbol *)
 
void DumpFunctions (IDiaSymbol *)
 
void DumpGlobalVariables (IDiaSymbol *)
 
void DumpType (IDiaSymbol *, const std::string &, int) const
 
void DumpData (IDiaSymbol *, const std::string &) const
 

Static Private Member Functions

static void LoadDataFromPdb (const std::wstring &, IDiaDataSource **, IDiaSession **, IDiaSymbol **)
 
static std::string GetSymbolNameString (IDiaSymbol *)
 
static uint32_t GetSymbolId (IDiaSymbol *)
 
static void Cleanup (IDiaSymbol *, IDiaSession *, IDiaDataSource *)
 

Private Attributes

std::unordered_map< std::string, intptr_t > * offsets_dump_ {nullptr}
 
std::unordered_map< std::string, BitField > * bitfields_dump_ {nullptr}
 
std::unordered_set< uint32_t > visited_
 

Detailed Description

Definition at line 12 of file PDBReader.h.

Constructor & Destructor Documentation

◆ PdbReader()

API::PdbReader::PdbReader ( )
default

◆ ~PdbReader()

API::PdbReader::~PdbReader ( )
default

Member Function Documentation

◆ Cleanup()

void API::PdbReader::Cleanup ( IDiaSymbol *  symbol,
IDiaSession *  session,
IDiaDataSource *  source 
)
staticprivate

Definition at line 365 of file PDBReader.cpp.

Referenced by Read().

◆ DumpData()

void API::PdbReader::DumpData ( IDiaSymbol *  symbol,
const std::string &  structure 
) const
private

Definition at line 289 of file PDBReader.cpp.

References GetSymbolNameString(), and type.

Referenced by DumpType().

◆ DumpFunctions()

void API::PdbReader::DumpFunctions ( IDiaSymbol *  g_symbol)
private

Definition at line 170 of file PDBReader.cpp.

References GetSymbolId(), GetSymbolNameString(), API::ReplaceString(), and visited_.

Referenced by Read().

◆ DumpGlobalVariables()

void API::PdbReader::DumpGlobalVariables ( IDiaSymbol *  g_symbol)
private

Definition at line 219 of file PDBReader.cpp.

References GetSymbolId(), GetSymbolNameString(), and visited_.

Referenced by Read().

◆ DumpStructs()

void API::PdbReader::DumpStructs ( IDiaSymbol *  g_symbol)
private

Definition at line 143 of file PDBReader.cpp.

References DumpType(), GetSymbolId(), GetSymbolNameString(), and visited_.

Referenced by Read().

◆ DumpType()

void API::PdbReader::DumpType ( IDiaSymbol *  symbol,
const std::string &  structure,
int  indent 
) const
private

Definition at line 254 of file PDBReader.cpp.

References DumpData(), and DumpType().

Referenced by DumpStructs(), and DumpType().

◆ GetSymbolId()

uint32_t API::PdbReader::GetSymbolId ( IDiaSymbol *  symbol)
staticprivate

Definition at line 357 of file PDBReader.cpp.

Referenced by DumpFunctions(), DumpGlobalVariables(), and DumpStructs().

◆ GetSymbolNameString()

std::string API::PdbReader::GetSymbolNameString ( IDiaSymbol *  symbol)
staticprivate

Definition at line 337 of file PDBReader.cpp.

References ArkApi::Tools::Utf8Encode().

Referenced by DumpData(), DumpFunctions(), DumpGlobalVariables(), and DumpStructs().

◆ LoadDataFromPdb()

void API::PdbReader::LoadDataFromPdb ( const std::wstring &  path,
IDiaDataSource **  dia_source,
IDiaSession **  session,
IDiaSymbol **  symbol 
)
staticprivate

Definition at line 82 of file PDBReader.cpp.

References ArkApi::Tools::GetCurrentDir().

Referenced by Read().

◆ Read()

void API::PdbReader::Read ( const std::wstring &  path,
std::unordered_map< std::string, intptr_t > *  offsets_dump,
std::unordered_map< std::string, BitField > *  bitfields_dump 
)

Member Data Documentation

◆ bitfields_dump_

std::unordered_map<std::string, BitField>* API::PdbReader::bitfields_dump_ {nullptr}
private

Definition at line 36 of file PDBReader.h.

Referenced by Read().

◆ offsets_dump_

std::unordered_map<std::string, intptr_t>* API::PdbReader::offsets_dump_ {nullptr}
private

Definition at line 35 of file PDBReader.h.

Referenced by Read().

◆ visited_

std::unordered_set<uint32_t> API::PdbReader::visited_
private

Definition at line 38 of file PDBReader.h.

Referenced by DumpFunctions(), DumpGlobalVariables(), and DumpStructs().


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