From 4185bb318136afe4ea657dc785e8c340d6adddfe Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Tue, 24 Aug 2010 19:04:25 +0200 Subject: DBLayer: - Implement QueryCallback_2 template for ACE_Future callbacks using 2 parameters for the callback function - Make MSG_LIST_STABLED_PETS“s handler use async query instead of blocking query MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --HG-- branch : trunk --- src/server/game/Server/WorldSession.cpp | 10 ++++++++++ src/server/game/Server/WorldSession.h | 2 ++ 2 files changed, 12 insertions(+) (limited to 'src/server/game') diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index b425e5a4c4a..f351e464f24 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -1015,4 +1015,14 @@ void WorldSession::ProcessQueryCallbacks() HandleAddIgnoreOpcodeCallBack(result); m_addIgnoreCallback.cancel(); } + + //- SendStabledPet + if (m_sendStabledPetCallback.IsReady()) + { + WorldPacket* param1 = m_sendStabledPetCallback.GetFirstParam(); + uint8 param2 = m_sendStabledPetCallback.GetSecondParam(); + m_sendStabledPetCallback.GetResult(result); + SendStablePetCallback(result, param1, param2); + m_sendStabledPetCallback.FreeResult(); + } } diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index da9037bc331..6a8549fde2a 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -218,6 +218,7 @@ class WorldSession // Pet void SendPetNameQuery(uint64 guid, uint32 petnumber); void SendStablePet(uint64 guid); + void SendStablePetCallback(QueryResult_AutoPtr result, WorldPacket* data, uint8 num); void SendStableResult(uint8 guid); bool CheckStableMaster(uint64 guid); @@ -805,6 +806,7 @@ class WorldSession QueryResultFuture m_addIgnoreCallback; QueryCallback m_charRenameCallback; QueryCallback m_addFriendCallback; + QueryCallback_2 m_sendStabledPetCallback; QueryResultHolderFuture m_charLoginCallback; private: -- cgit v1.2.3