37 lines
759 B
C++
37 lines
759 B
C++
#pragma once
|
|
|
|
namespace ss
|
|
{
|
|
class SS_IM_PushUserOnlineState;
|
|
}
|
|
|
|
enum AsyncTaskType
|
|
{
|
|
kAttQueryUserStatus = 0,
|
|
kAttMax
|
|
};
|
|
|
|
struct QueryUserStatusTask;
|
|
class Player;
|
|
class AsyncTaskMgr : public a8::Singleton<AsyncTaskMgr>
|
|
{
|
|
private:
|
|
AsyncTaskMgr() {};
|
|
friend class a8::Singleton<AsyncTaskMgr>;
|
|
|
|
public:
|
|
void Init();
|
|
void UnInit();
|
|
|
|
void CreateQueryUserStatusTask(Player* hum, std::vector<std::string>& account_ids);
|
|
|
|
void _SS_IM_PushUserOnlineState(f8::MsgHdr& hdr, const ss::SS_IM_PushUserOnlineState& msg);
|
|
|
|
private:
|
|
QueryUserStatusTask* GetQueryUserStatusTask(long long seqid);
|
|
void RemoveQueryUserStatusTask(long long seqid);
|
|
|
|
private:
|
|
std::map<long long, QueryUserStatusTask*> query_user_status_tasks_;
|
|
};
|