Kicking it Olde Sküül! Burgerlib on Github Follow Olde Sküül on Twitter Burgerbecky on LinkedIn Burgerbecky on LinkedIn
Loading...
Searching...
No Matches
Burger::NetworkModule Class Referenceabstract
Inheritance diagram for Burger::NetworkModule:
Collaboration diagram for Burger::NetworkModule:

Public Member Functions

const Burger::StaticRTTIget_StaticRTTI (void) const noexcept override
 Get the description to the class.
 
 NetworkModule (NetworkManager *pNetworkManager, eNetworkProtocol uType)
 Base constructor for a NetworkModule.
 
virtual ~NetworkModule ()
 Base destructor for a NetworkModule.
 
ForwardLinkGetForwardLink (void)
 
uint_t IsAllocated (void) const
 
eNetworkProtocol GetType (void) const
 
NetworkManagerGetNetworkManager (void) const
 
virtual eError GetInfo (NetworkModuleInfo_t *pOutput) const =0
 
virtual NetworkEndpointNewEndpoint (void)=0
 
virtual NetworkModuleSettingsNewSettings (uint32_t uGameID, const char *pGameName)=0
 
virtual eError NotificationLock (eSocketFlags uFlags)
 Obtain the module lock.
 
virtual eError NotificationUnlock (eSocketFlags uFlags)
 Release the module lock.
 
void Poll (void) noexcept
 
- Public Member Functions inherited from Burger::Base
const char * get_class_name (void) const noexcept
 Get the name of the class.
 
virtual ~Base () noexcept=default
 Destructor.
 

Static Public Member Functions

static NetworkModuleFixup (ForwardLink *pInput)
 

Static Public Attributes

static const Burger::StaticRTTI g_StaticRTTI
 
static const uint32_t kVersion = 0x100
 Version 1.0.
 
- Static Public Attributes inherited from Burger::Base
static const Burger::StaticRTTI g_StaticRTTI
 The global description of the class.
 

Protected Attributes

ForwardLink m_NextModule
 Next module in the linked list.
 
NetworkManagerm_pNetworkManager
 Parent network manager.
 
uint_t m_bAllocated
 Was allocated using New()
 
eNetworkProtocol m_uType
 Module type.
 

Private Member Functions

 NetworkModule (const NetworkModule &)=delete
 
NetworkModuleoperator= (const NetworkModule &)=delete
 
 NetworkModule (NetworkModule &&)=delete
 
NetworkModuleoperator= (NetworkModule &&)=delete
 

Constructor & Destructor Documentation

◆ NetworkModule() [1/3]

Burger::NetworkModule::NetworkModule ( const NetworkModule & )
privatedelete

◆ NetworkModule() [2/3]

Burger::NetworkModule::NetworkModule ( NetworkModule && )
privatedelete

◆ NetworkModule() [3/3]

Burger::NetworkModule::NetworkModule ( NetworkManager * pNetworkManager,
eNetworkProtocol uType )

Base constructor for a NetworkModule.


Parameters
pNetworkManagerPointer a NetworkManager that handles global network OS calls.
uTypeProtocol type set by the derived class

◆ ~NetworkModule()

Burger::NetworkModule::~NetworkModule ( )
virtual

Base destructor for a NetworkModule.


Member Function Documentation

◆ Fixup()

static NetworkModule * Burger::NetworkModule::Fixup ( ForwardLink * pInput)
inlinestatic

◆ get_StaticRTTI()

const Burger::StaticRTTI * Burger::NetworkModule::get_StaticRTTI ( void ) const
overridevirtualnoexcept

Get the description to the class.


This virtual function will pull the pointer to the StaticRTTI instance that has the name of the class. Due to it being virtual, it will be the name of the most derived class.

Returns
Pointer to a global, read only instance of StaticRTTI for the true class

Reimplemented from Burger::Base.

◆ GetForwardLink()

ForwardLink * Burger::NetworkModule::GetForwardLink ( void )
inline

◆ GetInfo()

virtual eError Burger::NetworkModule::GetInfo ( NetworkModuleInfo_t * pOutput) const
pure virtual

Implemented in Burger::NetworkModuleTCP.

◆ GetNetworkManager()

NetworkManager * Burger::NetworkModule::GetNetworkManager ( void ) const
inline

◆ GetType()

eNetworkProtocol Burger::NetworkModule::GetType ( void ) const
inline

◆ IsAllocated()

uint_t Burger::NetworkModule::IsAllocated ( void ) const
inline

◆ NewEndpoint()

virtual NetworkEndpoint * Burger::NetworkModule::NewEndpoint ( void )
pure virtual

Implemented in Burger::NetworkModuleTCP.

◆ NewSettings()

virtual NetworkModuleSettings * Burger::NetworkModule::NewSettings ( uint32_t uGameID,
const char * pGameName )
pure virtual

Implemented in Burger::NetworkModuleTCP.

◆ NotificationLock()

Burger::eError Burger::NetworkModule::NotificationLock ( eSocketFlags uFlags)
virtual

Obtain the module lock.


Parameters
uFlagsWhich lock is requested, the datagram or the stream?
Returns
Zero if no error, non-zero on error.

Reimplemented in Burger::NetworkModuleTCP.

◆ NotificationUnlock()

Burger::eError Burger::NetworkModule::NotificationUnlock ( eSocketFlags uFlags)
virtual

Release the module lock.


Parameters
uFlagsWhich lock is requested, the datagram or the stream?
Returns
Zero if no error, non-zero on error.

Reimplemented in Burger::NetworkModuleTCP.

◆ operator=() [1/2]

NetworkModule & Burger::NetworkModule::operator= ( const NetworkModule & )
privatedelete

◆ operator=() [2/2]

NetworkModule & Burger::NetworkModule::operator= ( NetworkModule && )
privatedelete

◆ Poll()

void Burger::NetworkModule::Poll ( void )
inlinenoexcept

Member Data Documentation

◆ g_StaticRTTI

const Burger::StaticRTTI Burger::NetworkModule::g_StaticRTTI
static

◆ kVersion

const uint32_t Burger::NetworkModule::kVersion = 0x100
static

Version 1.0.

◆ m_bAllocated

uint_t Burger::NetworkModule::m_bAllocated
protected

Was allocated using New()

◆ m_NextModule

ForwardLink Burger::NetworkModule::m_NextModule
protected

Next module in the linked list.

◆ m_pNetworkManager

NetworkManager* Burger::NetworkModule::m_pNetworkManager
protected

Parent network manager.

◆ m_uType

eNetworkProtocol Burger::NetworkModule::m_uType
protected

Module type.