1
This commit is contained in:
parent
d513ed2f3a
commit
93e29761c8
@ -14,6 +14,10 @@ public:
|
||||
long long watch_guild_id = 0;
|
||||
time_t time = 0;
|
||||
ss::SS_IM_ForwardGuildCMMsg forward_msg;
|
||||
|
||||
virtual ~AsyncGuildTask() {}
|
||||
virtual void Execute() {}
|
||||
virtual void OnError() {}
|
||||
};
|
||||
|
||||
class CMGuildInfoTask : public AsyncGuildTask
|
||||
@ -204,6 +208,23 @@ void GuildMgr::_CMGuildRank(const ss::MFIMMsgConext& context, const cs::CMGuildR
|
||||
}
|
||||
|
||||
void GuildMgr::AddAsyncTask(long long guild_id, AsyncGuildTask* task)
|
||||
{
|
||||
Guild* guild = GetGuild(guild_id);
|
||||
if (guild) {
|
||||
task->Execute();
|
||||
delete task;
|
||||
return;
|
||||
}
|
||||
auto itr = task_hash_.find(guild_id);
|
||||
if (itr != task_hash_.end()) {
|
||||
itr->second.push_back(task);
|
||||
} else {
|
||||
task_hash_[guild_id] = std::list<AsyncGuildTask*>({task});
|
||||
LoadGuild(guild_id);
|
||||
}
|
||||
}
|
||||
|
||||
void GuildMgr::LoadGuild(long long guild_id)
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -13,14 +13,6 @@ namespace ss
|
||||
class SS_IM_ForwardGuildCMMsg;
|
||||
}
|
||||
|
||||
namespace google
|
||||
{
|
||||
namespace protobuf
|
||||
{
|
||||
class Message;
|
||||
}
|
||||
}
|
||||
|
||||
class Guild;
|
||||
class AsyncGuildTask;
|
||||
class GuildMgr : public a8::Singleton<GuildMgr>
|
||||
@ -44,6 +36,7 @@ class GuildMgr : public a8::Singleton<GuildMgr>
|
||||
void _CMGuildRank(const ss::MFIMMsgConext& context, const cs::CMGuildRank& msg);
|
||||
|
||||
void AddAsyncTask(long long guild_id, AsyncGuildTask* task);
|
||||
void LoadGuild(long long guild_id);
|
||||
bool IsValidGuildId(long long guild_id);
|
||||
Guild* GetGuild(long long group_id);
|
||||
template <typename T>
|
||||
|
Loading…
x
Reference in New Issue
Block a user