DDraceNetwork Documentation
Loading...
Searching...
No Matches
CRegister Class Reference
Inheritance diagram for CRegister:
[legend]
Collaboration diagram for CRegister:
[legend]

Classes

class  CGlobal
class  CProtocol

Public Member Functions

 CRegister (CConfig *pConfig, IConsole *pConsole, IEngine *pEngine, IHttp *pHttp, int ServerPort, unsigned SixupSecurityToken)
void Update () override
void OnConfigChange () override
bool OnPacket (const CNetChunk *pPacket) override
void OnNewInfo (const char *pInfo) override
void OnShutdown () override
Public Member Functions inherited from IRegister
virtual ~IRegister ()=default

Private Types

enum  {
  STATUS_NONE = 0 , STATUS_OK , STATUS_NEEDCHALLENGE , STATUS_NEEDINFO ,
  STATUS_ERROR
}
enum  {
  PROTOCOL_TW6_IPV6 = 0 , PROTOCOL_TW6_IPV4 , PROTOCOL_TW7_IPV6 , PROTOCOL_TW7_IPV4 ,
  NUM_PROTOCOLS
}

Static Private Member Functions

static bool StatusFromString (int *pResult, const char *pString)
static const char * ProtocolToScheme (int Protocol)
static const char * ProtocolToString (int Protocol)
static bool ProtocolFromString (int *pResult, const char *pString)
static const char * ProtocolToSystem (int Protocol)
static IPRESOLVE ProtocolToIpresolve (int Protocol)
static void ConchainOnConfigChange (IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)

Private Attributes

CConfigm_pConfig
IConsolem_pConsole
IEnginem_pEngine
IHttpm_pHttp
bool m_GotFirstUpdateCall = false
int m_ServerPort
char m_aConnlessTokenHex [16]
std::shared_ptr< CGlobalm_pGlobal = std::make_shared<CGlobal>()
bool m_aProtocolEnabled [NUM_PROTOCOLS] = {true, true, true, true}
CProtocol m_aProtocols [NUM_PROTOCOLS]
bool m_GotCommunityToken = false
char m_aCommunityToken [128]
int m_NumExtraHeaders = 0
char m_aaExtraHeaders [8][128]
char m_aVerifyPacketPrefix [sizeof(SERVERBROWSE_CHALLENGE)+UUID_MAXSTRSIZE]
CUuid m_Secret = RandomUuid()
CUuid m_ChallengeSecret = RandomUuid()
bool m_GotServerInfo = false
char m_aServerInfo [32768]

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
PROTOCOL_TW6_IPV6 
PROTOCOL_TW6_IPV4 
PROTOCOL_TW7_IPV6 
PROTOCOL_TW7_IPV4 
NUM_PROTOCOLS 

◆ anonymous enum

anonymous enum
private
Enumerator
STATUS_NONE 
STATUS_OK 
STATUS_NEEDCHALLENGE 
STATUS_NEEDINFO 
STATUS_ERROR 

Constructor & Destructor Documentation

◆ CRegister()

CRegister::CRegister ( CConfig * pConfig,
IConsole * pConsole,
IEngine * pEngine,
IHttp * pHttp,
int ServerPort,
unsigned SixupSecurityToken )

Member Function Documentation

◆ ConchainOnConfigChange()

void CRegister::ConchainOnConfigChange ( IConsole::IResult * pResult,
void * pUserData,
IConsole::FCommandCallback pfnCallback,
void * pCallbackUserData )
staticprivate

◆ OnConfigChange()

void CRegister::OnConfigChange ( )
overridevirtual

Implements IRegister.

◆ OnNewInfo()

void CRegister::OnNewInfo ( const char * pInfo)
overridevirtual

Implements IRegister.

◆ OnPacket()

bool CRegister::OnPacket ( const CNetChunk * pPacket)
overridevirtual

Implements IRegister.

◆ OnShutdown()

void CRegister::OnShutdown ( )
overridevirtual

Implements IRegister.

◆ ProtocolFromString()

bool CRegister::ProtocolFromString ( int * pResult,
const char * pString )
staticprivate

◆ ProtocolToIpresolve()

IPRESOLVE CRegister::ProtocolToIpresolve ( int Protocol)
staticprivate

◆ ProtocolToScheme()

const char * CRegister::ProtocolToScheme ( int Protocol)
staticprivate

◆ ProtocolToString()

const char * CRegister::ProtocolToString ( int Protocol)
staticprivate

◆ ProtocolToSystem()

const char * CRegister::ProtocolToSystem ( int Protocol)
staticprivate

◆ StatusFromString()

bool CRegister::StatusFromString ( int * pResult,
const char * pString )
staticprivate

◆ Update()

void CRegister::Update ( )
overridevirtual

Implements IRegister.

Member Data Documentation

◆ m_aaExtraHeaders

char CRegister::m_aaExtraHeaders[8][128]
private

◆ m_aCommunityToken

char CRegister::m_aCommunityToken[128]
private

◆ m_aConnlessTokenHex

char CRegister::m_aConnlessTokenHex[16]
private

◆ m_aProtocolEnabled

bool CRegister::m_aProtocolEnabled[NUM_PROTOCOLS] = {true, true, true, true}
private

◆ m_aProtocols

CProtocol CRegister::m_aProtocols[NUM_PROTOCOLS]
private

◆ m_aServerInfo

char CRegister::m_aServerInfo[32768]
private

◆ m_aVerifyPacketPrefix

char CRegister::m_aVerifyPacketPrefix[sizeof(SERVERBROWSE_CHALLENGE)+UUID_MAXSTRSIZE]
private

◆ m_ChallengeSecret

CUuid CRegister::m_ChallengeSecret = RandomUuid()
private

◆ m_GotCommunityToken

bool CRegister::m_GotCommunityToken = false
private

◆ m_GotFirstUpdateCall

bool CRegister::m_GotFirstUpdateCall = false
private

◆ m_GotServerInfo

bool CRegister::m_GotServerInfo = false
private

◆ m_NumExtraHeaders

int CRegister::m_NumExtraHeaders = 0
private

◆ m_pConfig

CConfig* CRegister::m_pConfig
private

◆ m_pConsole

IConsole* CRegister::m_pConsole
private

◆ m_pEngine

IEngine* CRegister::m_pEngine
private

◆ m_pGlobal

std::shared_ptr<CGlobal> CRegister::m_pGlobal = std::make_shared<CGlobal>()
private

◆ m_pHttp

IHttp* CRegister::m_pHttp
private

◆ m_Secret

CUuid CRegister::m_Secret = RandomUuid()
private

◆ m_ServerPort

int CRegister::m_ServerPort
private

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