- 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
This commit is contained in:
Machiavelli
2010-08-24 19:04:25 +02:00
parent e5337169c8
commit 4185bb3181
3 changed files with 69 additions and 0 deletions
+10
View File
@@ -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();
}
}
+2
View File
@@ -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: