EvEmu
0.8.4
11 September 2021
|
a singleton data container for communication string lookup. More...
#include "EVEMarshalStringTable.h"
Public Member Functions | |
MarshalStringTable () | |
uint8 | LookupIndex (const std::string &str) |
lookup a index nr using a string More... | |
uint8 | LookupIndex (const char *str) |
lookup a index nr using a string More... | |
const char * | LookupString (uint8 index) |
lookup a string using a index More... | |
![]() | |
Singleton () | |
Primary constructor. More... | |
Private Types | |
typedef std::unordered_map < uint32, uint8 > | StringTableMap |
typedef StringTableMap::iterator | StringTableMapItr |
typedef StringTableMap::const_iterator | StringTableMapConstItr |
Private Member Functions | |
uint32 | hash (const char *str) |
djb2 algorithm taken from http://www.cse.yorku.ca/~oz/hash.html slightly modified More... | |
Private Attributes | |
StringTableMap | mStringTableMap |
Static Private Attributes | |
static const char *const | s_mStringTable [] |
static const size_t | s_mStringTableSize = sizeof( MarshalStringTable::s_mStringTable ) / sizeof( const char* ) |
Additional Inherited Members | |
![]() | |
static MarshalStringTable & | get () |
![]() | |
static std::shared_ptr < MarshalStringTable > | mInstance |
a singleton data container for communication string lookup.
this class is a data container for communication string lookup. eventually this class should be available to every thread the unmarshal's. so only until we have solved the entire mess.. this is a singleton with mutex locks.
Definition at line 47 of file EVEMarshalStringTable.h.
|
private |
Definition at line 99 of file EVEMarshalStringTable.h.
|
private |
Definition at line 101 of file EVEMarshalStringTable.h.
|
private |
Definition at line 100 of file EVEMarshalStringTable.h.
MarshalStringTable::MarshalStringTable | ( | ) |
Definition at line 290 of file EVEMarshalStringTable.cpp.
References hash(), LookupString(), mStringTableMap, and s_mStringTableSize.
|
inlineprivate |
djb2 algorithm taken from http://www.cse.yorku.ca/~oz/hash.html slightly modified
[in] | oStr | string that needs to be hashed. |
Definition at line 88 of file EVEMarshalStringTable.h.
Referenced by LookupIndex(), and MarshalStringTable().
uint8 MarshalStringTable::LookupIndex | ( | const std::string & | str | ) |
lookup a index nr using a string
[in] | string | that needs a lookup for a index nr. |
Definition at line 297 of file EVEMarshalStringTable.cpp.
uint8 MarshalStringTable::LookupIndex | ( | const char * | str | ) |
lookup a index nr using a string
[in] | string | that needs a lookup for a index nr. |
Definition at line 303 of file EVEMarshalStringTable.cpp.
References hash(), mStringTableMap, and STRING_TABLE_ERROR.
const char * MarshalStringTable::LookupString | ( | uint8 | index | ) |
lookup a string using a index
[in] | index | is the index of the string that needs to be looked up. |
Definition at line 312 of file EVEMarshalStringTable.cpp.
References s_mStringTable, and s_mStringTableSize.
Referenced by MarshalStringTable().
|
private |
Definition at line 103 of file EVEMarshalStringTable.h.
Referenced by LookupIndex(), and MarshalStringTable().
|
staticprivate |
Definition at line 106 of file EVEMarshalStringTable.h.
Referenced by LookupString().
|
staticprivate |
Definition at line 109 of file EVEMarshalStringTable.h.
Referenced by LookupString(), and MarshalStringTable().