aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorMachiavelli <none@none>2010-08-24 19:04:25 +0200
committerMachiavelli <none@none>2010-08-24 19:04:25 +0200
commit4185bb318136afe4ea657dc785e8c340d6adddfe (patch)
treedf694da0f464da498e9ba12dcd1051708e721b28 /src/server/game/Server
parente5337169c85555df07782ee17fb1928c78b394cf (diff)
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 --HG-- branch : trunk
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/WorldSession.cpp10
-rw-r--r--src/server/game/Server/WorldSession.h2
2 files changed, 12 insertions, 0 deletions
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<std::string> m_charRenameCallback;
QueryCallback<std::string> m_addFriendCallback;
+ QueryCallback_2<WorldPacket*, uint8> m_sendStabledPetCallback;
QueryResultHolderFuture m_charLoginCallback;
private: