Server part of the admin network protocol. More...
#include "../stdafx.h"#include "../strings_func.h"#include "../date_func.h"#include "network_admin.h"#include "network_base.h"#include "network_server.h"#include "../command_func.h"#include "../company_base.h"#include "../console_func.h"#include "../core/pool_func.hpp"#include "../map_func.h"#include "../rev.h"#include "../game/game.hpp"Go to the source code of this file.
Functions | |
| assert_compile (lengthof(_admin_update_type_frequencies)==ADMIN_UPDATE_END) | |
| Sanity check. | |
| void | NetworkAdminClientInfo (const NetworkClientSocket *cs, bool new_client) |
| Notify the admin network of a new client (if they did opt in for the respective update). | |
| void | NetworkAdminClientUpdate (const NetworkClientInfo *ci) |
| Notify the admin network of a client update (if they did opt in for the respective update). | |
| void | NetworkAdminClientQuit (ClientID client_id) |
| Notify the admin network that a client quit (if they have opt in for the respective update). | |
| void | NetworkAdminClientError (ClientID client_id, NetworkErrorCode error_code) |
| Notify the admin network of a client error (if they have opt in for the respective update). | |
| void | NetworkAdminCompanyInfo (const Company *company, bool new_company) |
| Notify the admin network of company details. | |
| void | NetworkAdminCompanyUpdate (const Company *company) |
| Notify the admin network of company updates. | |
| void | NetworkAdminCompanyRemove (CompanyID company_id, AdminCompanyRemoveReason bcrr) |
| Notify the admin network of a company to be removed (including the reason why). | |
| void | NetworkAdminChat (NetworkAction action, DestType desttype, ClientID client_id, const char *msg, int64 data, bool from_admin) |
| Send chat to the admin network (if they did opt in for the respective update). | |
| void | NetworkServerSendAdminRcon (AdminIndex admin_index, TextColour colour_code, const char *string) |
| Pass the rcon reply to the admin. | |
| void | NetworkAdminConsole (const char *origin, const char *string) |
| Send console to the admin network (if they did opt in for the respective update). | |
| void | NetworkAdminGameScript (const char *json) |
| Send GameScript JSON to the admin network (if they did opt in for the respective update). | |
| void | NetworkAdminCmdLogging (const NetworkClientSocket *owner, const CommandPacket *cp) |
| Distribute CommandPacket details over the admin network for logging purposes. | |
| void | NetworkAdminUpdate (AdminUpdateFrequency freq) |
| Send (push) updates to the admin network as they have registered for these updates. | |
Variables | |
| AdminIndex | _redirect_console_to_admin = INVALID_ADMIN_ID |
| Redirection of the (remote) console to the admin. | |
| byte | _network_admins_connected = 0 |
| The amount of admins connected. | |
| NetworkAdminSocketPool | _networkadminsocket_pool ("NetworkAdminSocket") |
| The pool with sockets/clients. | |
| static const int | ADMIN_AUTHORISATION_TIMEOUT = 10000 |
| The timeout for authorisation of the client. | |
| static const AdminUpdateFrequency | _admin_update_type_frequencies [] |
| Frequencies, which may be registered for a certain update type. | |
Server part of the admin network protocol.
Definition in file network_admin.cpp.
| assert_compile | ( | lengthof(_admin_update_type_frequencies) | = =ADMIN_UPDATE_END |
) |
Sanity check.
| void NetworkAdminClientError | ( | ClientID | client_id, | |
| NetworkErrorCode | error_code | |||
| ) |
Notify the admin network of a client error (if they have opt in for the respective update).
| client_id | the client that made the error. | |
| error_code | the error that was caused. |
Definition at line 829 of file network_admin.cpp.
References ADMIN_FREQUENCY_AUTOMATIC, ADMIN_UPDATE_CLIENT_INFO, FOR_ALL_ACTIVE_ADMIN_SOCKETS, ServerNetworkAdminSocketHandler::SendClientError(), and ServerNetworkAdminSocketHandler::update_frequency.
Referenced by ServerNetworkGameSocketHandler::SendError().
| void NetworkAdminClientInfo | ( | const NetworkClientSocket * | cs, | |
| bool | new_client | |||
| ) |
Notify the admin network of a new client (if they did opt in for the respective update).
| cs | the client info. | |
| new_client | if this is a new client, send the respective packet too. |
Definition at line 783 of file network_admin.cpp.
References ADMIN_FREQUENCY_AUTOMATIC, ADMIN_UPDATE_CLIENT_INFO, FOR_ALL_ACTIVE_ADMIN_SOCKETS, ServerNetworkAdminSocketHandler::SendClientInfo(), ServerNetworkAdminSocketHandler::SendClientJoin(), and ServerNetworkAdminSocketHandler::update_frequency.
| void NetworkAdminClientQuit | ( | ClientID | client_id | ) |
Notify the admin network that a client quit (if they have opt in for the respective update).
| client_id | of the client that quit. |
Definition at line 814 of file network_admin.cpp.
References ADMIN_FREQUENCY_AUTOMATIC, ADMIN_UPDATE_CLIENT_INFO, FOR_ALL_ACTIVE_ADMIN_SOCKETS, ServerNetworkAdminSocketHandler::SendClientQuit(), and ServerNetworkAdminSocketHandler::update_frequency.
| void NetworkAdminClientUpdate | ( | const NetworkClientInfo * | ci | ) |
Notify the admin network of a client update (if they did opt in for the respective update).
| ci | the client info. |
Definition at line 800 of file network_admin.cpp.
References ADMIN_FREQUENCY_AUTOMATIC, ADMIN_UPDATE_CLIENT_INFO, FOR_ALL_ACTIVE_ADMIN_SOCKETS, ServerNetworkAdminSocketHandler::SendClientUpdate(), and ServerNetworkAdminSocketHandler::update_frequency.
Referenced by NetworkUpdateClientInfo().
| void NetworkAdminCmdLogging | ( | const NetworkClientSocket * | owner, | |
| const CommandPacket * | cp | |||
| ) |
Distribute CommandPacket details over the admin network for logging purposes.
| owner | The owner of the CommandPacket (who sent us the CommandPacket). | |
| cp | The CommandPacket to be distributed. |
Definition at line 952 of file network_admin.cpp.
References _network_own_client_id, ADMIN_FREQUENCY_AUTOMATIC, ADMIN_UPDATE_CMD_LOGGING, FOR_ALL_ACTIVE_ADMIN_SOCKETS, ServerNetworkAdminSocketHandler::SendCmdLogging(), and ServerNetworkAdminSocketHandler::update_frequency.
Referenced by DistributeQueue().
| void NetworkAdminCompanyInfo | ( | const Company * | company, | |
| bool | new_company | |||
| ) |
Notify the admin network of company details.
| company | the company of which details will be sent into the admin network. | |
| new_company | whether this is a new company or not. |
Definition at line 844 of file network_admin.cpp.
References ADMIN_FREQUENCY_AUTOMATIC, ADMIN_UPDATE_COMPANY_INFO, DEBUG, FOR_ALL_ACTIVE_ADMIN_SOCKETS, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, ServerNetworkAdminSocketHandler::SendCompanyInfo(), ServerNetworkAdminSocketHandler::SendCompanyNew(), and ServerNetworkAdminSocketHandler::update_frequency.
Referenced by CmdCompanyCtrl().
| void NetworkAdminCompanyRemove | ( | CompanyID | company_id, | |
| AdminCompanyRemoveReason | bcrr | |||
| ) |
Notify the admin network of a company to be removed (including the reason why).
| company_id | ID of the company that got removed. | |
| bcrr | the reason why the company got removed (e.g. bankruptcy). |
Definition at line 883 of file network_admin.cpp.
References FOR_ALL_ACTIVE_ADMIN_SOCKETS, and ServerNetworkAdminSocketHandler::SendCompanyRemove().
Referenced by CompanyAdminRemove().
| void NetworkAdminCompanyUpdate | ( | const Company * | company | ) |
Notify the admin network of company updates.
| company | company of which updates are going to be sent into the admin network. |
Definition at line 866 of file network_admin.cpp.
References ADMIN_FREQUENCY_AUTOMATIC, ADMIN_UPDATE_COMPANY_INFO, FOR_ALL_ACTIVE_ADMIN_SOCKETS, ServerNetworkAdminSocketHandler::SendCompanyUpdate(), and ServerNetworkAdminSocketHandler::update_frequency.
Referenced by CompanyAdminUpdate(), and NetworkServerUpdateCompanyPassworded().
| void NetworkAdminConsole | ( | const char * | origin, | |
| const char * | string | |||
| ) |
Send console to the admin network (if they did opt in for the respective update).
| origin | the origin of the message. | |
| string | the message as printed on the console. |
Definition at line 923 of file network_admin.cpp.
References ADMIN_FREQUENCY_AUTOMATIC, ADMIN_UPDATE_CONSOLE, FOR_ALL_ACTIVE_ADMIN_SOCKETS, ServerNetworkAdminSocketHandler::SendConsole(), and ServerNetworkAdminSocketHandler::update_frequency.
Referenced by debug_print(), and IConsolePrint().
| void NetworkAdminGameScript | ( | const char * | json | ) |
Send GameScript JSON to the admin network (if they did opt in for the respective update).
| json | The JSON data as received from the GameScript. |
Definition at line 937 of file network_admin.cpp.
References ADMIN_FREQUENCY_AUTOMATIC, ADMIN_UPDATE_GAMESCRIPT, FOR_ALL_ACTIVE_ADMIN_SOCKETS, ServerNetworkAdminSocketHandler::SendGameScript(), and ServerNetworkAdminSocketHandler::update_frequency.
| void NetworkAdminUpdate | ( | AdminUpdateFrequency | freq | ) |
Send (push) updates to the admin network as they have registered for these updates.
| freq | the frequency to be processd. |
Definition at line 979 of file network_admin.cpp.
References ADMIN_UPDATE_COMPANY_ECONOMY, ADMIN_UPDATE_COMPANY_STATS, ADMIN_UPDATE_DATE, FOR_ALL_ACTIVE_ADMIN_SOCKETS, ServerNetworkAdminSocketHandler::SendCompanyEconomy(), ServerNetworkAdminSocketHandler::SendCompanyStats(), ServerNetworkAdminSocketHandler::SendDate(), and ServerNetworkAdminSocketHandler::update_frequency.
Referenced by NetworkServerDailyLoop(), NetworkServerMonthlyLoop(), and NetworkServerYearlyLoop().
| void NetworkServerSendAdminRcon | ( | AdminIndex | admin_index, | |
| TextColour | colour_code, | |||
| const char * | string | |||
| ) |
Pass the rcon reply to the admin.
| admin_index | The admin to give the reply. | |
| colour_code | The colour of the string. | |
| string | The string to show. |
Definition at line 913 of file network_admin.cpp.
Referenced by IConsolePrint().
const AdminUpdateFrequency _admin_update_type_frequencies[] [static] |
{
ADMIN_FREQUENCY_POLL | ADMIN_FREQUENCY_DAILY | ADMIN_FREQUENCY_WEEKLY | ADMIN_FREQUENCY_MONTHLY | ADMIN_FREQUENCY_QUARTERLY | ADMIN_FREQUENCY_ANUALLY,
ADMIN_FREQUENCY_POLL | ADMIN_FREQUENCY_AUTOMATIC,
ADMIN_FREQUENCY_POLL | ADMIN_FREQUENCY_AUTOMATIC,
ADMIN_FREQUENCY_POLL | ADMIN_FREQUENCY_WEEKLY | ADMIN_FREQUENCY_MONTHLY | ADMIN_FREQUENCY_QUARTERLY | ADMIN_FREQUENCY_ANUALLY,
ADMIN_FREQUENCY_POLL | ADMIN_FREQUENCY_WEEKLY | ADMIN_FREQUENCY_MONTHLY | ADMIN_FREQUENCY_QUARTERLY | ADMIN_FREQUENCY_ANUALLY,
ADMIN_FREQUENCY_AUTOMATIC,
ADMIN_FREQUENCY_AUTOMATIC,
ADMIN_FREQUENCY_POLL,
ADMIN_FREQUENCY_AUTOMATIC,
ADMIN_FREQUENCY_AUTOMATIC,
}
Frequencies, which may be registered for a certain update type.
Definition at line 46 of file network_admin.cpp.
Referenced by ServerNetworkAdminSocketHandler::SendProtocol().
| byte _network_admins_connected = 0 |
The amount of admins connected.
Definition at line 35 of file network_admin.cpp.
Referenced by ServerNetworkAdminSocketHandler::AllowConnection(), ServerNetworkAdminSocketHandler::ServerNetworkAdminSocketHandler(), and ServerNetworkAdminSocketHandler::~ServerNetworkAdminSocketHandler().
| NetworkAdminSocketPool _networkadminsocket_pool("NetworkAdminSocket") |
The pool with sockets/clients.
Redirection of the (remote) console to the admin.
Definition at line 32 of file network_admin.cpp.
Referenced by IConsolePrint(), and ServerNetworkAdminSocketHandler::~ServerNetworkAdminSocketHandler().
const int ADMIN_AUTHORISATION_TIMEOUT = 10000 [static] |
The timeout for authorisation of the client.
Definition at line 42 of file network_admin.cpp.
Referenced by ServerNetworkAdminSocketHandler::Send().
1.7.1