Restrict param type of FSM events

Previously the param type was `void*` now the type has to be specified
as template parameter of the `CFsm`.
With this commit some casts can be removed.
This commit is contained in:
phosit
2025-06-26 12:35:01 +02:00
committed by phosit
parent 7f67bab7c8
commit dd26f3a802
7 changed files with 126 additions and 124 deletions
+23 -23
View File
@@ -59,7 +59,7 @@ enum
* It provides an interface between the GUI, the network (via CNetClientSession),
* and the game (via CGame and CNetClientTurnManager).
*/
class CNetClient : public CFsm<CNetClient>
class CNetClient : public CFsm<CNetClient, CNetMessage*>
{
NONCOPYABLE(CNetClient);
@@ -281,28 +281,28 @@ private:
void SendAuthenticateMessage();
// Net message / FSM transition handlers
static bool OnConnect(CNetClient* client, CFsmEvent* event);
static bool OnHandshake(CNetClient* client, CFsmEvent* event);
static bool OnHandshakeResponse(CNetClient* client, CFsmEvent* event);
static bool OnAuthenticateRequest(CNetClient* client, CFsmEvent* event);
static bool OnAuthenticate(CNetClient* client, CFsmEvent* event);
static bool OnChat(CNetClient* client, CFsmEvent* event);
static bool OnReady(CNetClient* client, CFsmEvent* event);
static bool OnGameSetup(CNetClient* client, CFsmEvent* event);
static bool OnPlayerAssignment(CNetClient* client, CFsmEvent* event);
static bool OnInGame(CNetClient* client, CFsmEvent* event);
static bool OnGameStart(CNetClient* client, CFsmEvent* event);
static bool OnSavedGameStart(CNetClient* client, CFsmEvent* event);
static bool OnJoinSyncStart(CNetClient* client, CFsmEvent* event);
static bool OnJoinSyncEndCommandBatch(CNetClient* client, CFsmEvent* event);
static bool OnFlare(CNetClient* client, CFsmEvent* event);
static bool OnRejoined(CNetClient* client, CFsmEvent* event);
static bool OnKicked(CNetClient* client, CFsmEvent* event);
static bool OnClientTimeout(CNetClient* client, CFsmEvent* event);
static bool OnClientPerformance(CNetClient* client, CFsmEvent* event);
static bool OnClientsLoading(CNetClient* client, CFsmEvent* event);
static bool OnClientPaused(CNetClient* client, CFsmEvent* event);
static bool OnLoadedGame(CNetClient* client, CFsmEvent* event);
static bool OnConnect(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnHandshake(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnHandshakeResponse(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnAuthenticateRequest(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnAuthenticate(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnChat(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnReady(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnGameSetup(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnPlayerAssignment(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnInGame(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnGameStart(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnSavedGameStart(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnJoinSyncStart(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnJoinSyncEndCommandBatch(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnFlare(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnRejoined(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnKicked(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnClientTimeout(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnClientPerformance(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnClientsLoading(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnClientPaused(CNetClient* client, CFsmEvent<CNetMessage*>* event);
static bool OnLoadedGame(CNetClient* client, CFsmEvent<CNetMessage*>* event);
/**
* Take ownership of a session object, and use it for all network communication.