From d3b92e110a06c6bb2bc0214319b390059bdf7c4a Mon Sep 17 00:00:00 2001 From: fusion32 Date: Fri, 20 Jun 2025 06:00:16 -0300 Subject: more work on `communication.cc` --- src/query.hh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/query.hh') diff --git a/src/query.hh b/src/query.hh index 7d3c2a8..92c3828 100644 --- a/src/query.hh +++ b/src/query.hh @@ -13,6 +13,14 @@ struct TQueryManagerConnection{ int loadPlayers(uint32 MinimumCharacterID, int *NumberOfPlayers, char (*Names)[30], uint32 *CharacterIDs); + int loginGame(uint32 AccountID, const char *PlayerName, const char *Password, + const char *IPAddress, bool PrivateWorld, bool PremiumAccountRequired, + bool GamemasterRequired, uint32 *CharacterID, int *Sex, char *Guild, + char *Rank, char *Title, int *NumberOfBuddies, uint32 *BuddyIDs, + char (*BuddyNames)[30], uint8 *Rights, bool *PremiumAccountActivated); + void decrementIsOnline(uint32 CharacterID); + + bool isConnected(void){ return this->Socket >= 0; } @@ -40,6 +48,23 @@ struct TQueryManagerConnectionPool{ }; struct TQueryManagerPoolConnection{ + TQueryManagerPoolConnection(TQueryManagerConnectionPool *Pool); + ~TQueryManagerPoolConnection(void); + + // TODO(fusion): I don't know if this was the indended way to access this + // structure but it is only a small wrapper and accessing members directly + // would be too verbose, specially when it is also named `QueryManagerConnection`. + + TQueryManagerConnection *operator->(void){ + return this->QueryManagerConnection; + } + + operator bool(void) const { + return this->QueryManagerConnection != NULL; + } + + // DATA + // ================= TQueryManagerConnectionPool *QueryManagerConnectionPool; TQueryManagerConnection *QueryManagerConnection; }; -- cgit v1.2.3