diff --git a/server/imserver/asynctaskmgr.cc b/server/imserver/asynctaskmgr.cc index 2cae9d9..e2ee0d3 100644 --- a/server/imserver/asynctaskmgr.cc +++ b/server/imserver/asynctaskmgr.cc @@ -36,6 +36,11 @@ struct QueryUserStatusTask } }; +struct RecommandFriendTask +{ + +}; + void AsyncTaskMgr::Init() { @@ -111,3 +116,18 @@ void AsyncTaskMgr::RemoveQueryUserStatusTask(long long seqid) query_user_status_tasks_.erase(itr); } } + +RecommandFriendTask* AsyncTaskMgr::GetRecommandFriendTask(long long seqid) +{ + auto itr = recommand_friend_tasks_.find(seqid); + return itr != recommand_friend_tasks_.end() ? itr->second : nullptr; +} + +void AsyncTaskMgr::RemoveRecommandFriendTask(long long seqid) +{ + auto itr = recommand_friend_tasks_.find(seqid); + if (itr != recommand_friend_tasks_.end()) { + delete itr->second; + recommand_friend_tasks_.erase(itr); + } +} diff --git a/server/imserver/asynctaskmgr.h b/server/imserver/asynctaskmgr.h index 988e311..a0cc6f7 100644 --- a/server/imserver/asynctaskmgr.h +++ b/server/imserver/asynctaskmgr.h @@ -12,6 +12,7 @@ enum AsyncTaskType }; struct QueryUserStatusTask; +struct RecommandFriendTask; class Player; class AsyncTaskMgr : public a8::Singleton { @@ -30,7 +31,10 @@ public: private: QueryUserStatusTask* GetQueryUserStatusTask(long long seqid); void RemoveQueryUserStatusTask(long long seqid); + RecommandFriendTask* GetRecommandFriendTask(long long seqid); + void RemoveRecommandFriendTask(long long seqid); private: std::map query_user_status_tasks_; + std::map recommand_friend_tasks_; };