DDraceNetwork Docs
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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 ()
 
virtual void Update ()=0
 
virtual void OnConfigChange ()=0
 
virtual bool OnPacket (const CNetChunk *pPacket)=0
 
virtual void OnNewInfo (const char *pInfo)=0
 
virtual void OnShutdown ()=0
 

Private Types

enum  {
  STATUS_NONE = 0 , STATUS_OK , STATUS_NEEDCHALLENGE , STATUS_NEEDINFO ,
  STATUS_ERROR , 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]
 
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 [16384]
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
STATUS_NONE 
STATUS_OK 
STATUS_NEEDCHALLENGE 
STATUS_NEEDINFO 
STATUS_ERROR 
PROTOCOL_TW6_IPV6 
PROTOCOL_TW6_IPV4 
PROTOCOL_TW7_IPV6 
PROTOCOL_TW7_IPV4 
NUM_PROTOCOLS 

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_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[16384]
private

◆ m_aVerifyPacketPrefix

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

◆ m_ChallengeSecret

CUuid CRegister::m_ChallengeSecret = RandomUuid()
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: