OpenTTD Source
20241108-master-g80f628063a
|
Container for all information known about a client. More...
#include <network_base.h>
Public Member Functions | |
NetworkClientInfo (ClientID client_id=INVALID_CLIENT_ID) | |
Create a new client. More... | |
~NetworkClientInfo () | |
Basically a client is leaving us right now. | |
bool | CanJoinCompany (CompanyID company_id) const |
Returns whether the given company can be joined by this client. More... | |
Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_networkclientinfo_pool > | |
void * | operator new (size_t size) |
Allocates space for new Titem. More... | |
void * | operator new (size_t size, size_t index) |
Allocates space for new Titem with given index. More... | |
void * | operator new (size_t, void *ptr) |
Allocates space for new Titem at given memory address. More... | |
void | operator delete (void *p) |
Marks Titem as free. More... | |
Static Public Member Functions | |
static NetworkClientInfo * | GetByClientID (ClientID client_id) |
Return the CI given it's client-identifier. More... | |
Static Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_networkclientinfo_pool > | |
static bool | CanAllocateItem (size_t n=1) |
Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function() More... | |
static bool | CleaningPool () |
Returns current state of pool cleaning - yes or no. More... | |
static bool | IsValidID (size_t index) |
Tests whether given index can be used to get valid (non-nullptr) Titem. More... | |
static Titem * | Get (size_t index) |
Returns Titem with given index. More... | |
static Titem * | GetIfValid (size_t index) |
Returns Titem with given index. More... | |
static size_t | GetPoolSize () |
Returns first unused index. More... | |
static size_t | GetNumItems () |
Returns number of valid items in the pool. More... | |
static void | PostDestructor ([[maybe_unused]] size_t index) |
Dummy function called after destructor of each member. More... | |
static Pool::IterateWrapper< Titem > | Iterate (size_t from=0) |
Returns an iterable ensemble of all valid Titem. More... | |
Data Fields | |
ClientID | client_id |
Client identifier (same as ClientState->client_id) | |
std::string | client_name |
Name of the client. | |
std::string | public_key |
The public key of the client. | |
CompanyID | client_playas |
As which company is this client playing (CompanyID) | |
TimerGameEconomy::Date | join_date |
Gamedate the client has joined. | |
Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_networkclientinfo_pool > | |
Tindex | index |
Index of this pool item. | |
Additional Inherited Members | |
Public Types inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_networkclientinfo_pool > | |
typedef struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > | Pool |
Type of the pool this item is going to be part of. | |
Container for all information known about a client.
Definition at line 24 of file network_base.h.
|
inline |
Create a new client.
client_id | The unique identifier of the client. |
Definition at line 35 of file network_base.h.
bool NetworkClientInfo::CanJoinCompany | ( | CompanyID | company_id | ) | const |
Returns whether the given company can be joined by this client.
company_id | The id of the company. |
true
when this company is allowed to join, otherwise false
. Definition at line 132 of file network.cpp.
References CompanyProperties::allow_list, NetworkAuthorizedKeys::Contains(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::GetIfValid(), and public_key.
Referenced by NetworkCanJoinCompany().
|
static |
Return the CI given it's client-identifier.
client_id | the ClientID to search for |
Definition at line 118 of file network.cpp.
References client_id, and Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_networkclientinfo_pool >::Iterate().
Referenced by CmdCompanyCtrl(), NetworkAutoCleanCompanies(), NetworkCanJoinCompany(), NetworkMakeClientNameUnique(), NetworkOnGameStart(), NetworkServerChangeClientName(), NetworkServerDoMove(), NetworkServerSendChat(), NetworkUpdateClientInfo(), NetworkUpdateClientName(), NetworkClientListWindow::RebuildList(), ClientNetworkGameSocketHandler::Receive_SERVER_CHAT(), ClientNetworkGameSocketHandler::Receive_SERVER_ERROR_QUIT(), ClientNetworkGameSocketHandler::Receive_SERVER_JOIN(), ClientNetworkGameSocketHandler::Receive_SERVER_QUIT(), and ServerNetworkGameSocketHandler::SendWelcome().