relation/server/imserver/groupmgr.h
aozhiwei 25b3d9f5c1 1
2020-09-28 19:49:27 +08:00

62 lines
1.6 KiB
C++

#pragma once
namespace cs
{
class CMTeamCreate;
class CMTeamJoin;
class CMTeamAgree;
class CMTeamKick;
class CMTeamQuit;
class CMTeamDismiss;
class CMTeamRename;
}
namespace ss
{
class MFIMMsgConext;
class SS_MS_LoadGroup;
class SS_MS_ForwardGroupCMMsg;
}
namespace google
{
namespace protobuf
{
class Message;
}
}
class Group;
class GroupMgr : public a8::Singleton<GroupMgr>
{
public:
enum { HID = HID_GroupMgr };
private:
GroupMgr() {};
friend class a8::Singleton<GroupMgr>;
public:
void Init();
void UnInit();
void _SS_MS_LoadGroup(f8::MsgHdr& hdr, const ss::SS_MS_LoadGroup& msg);
void _SS_MS_ForwardGroupCMMsg(f8::MsgHdr& hdr, const ss::SS_MS_ForwardGroupCMMsg& msg);
private:
void _CMTeamCreate(const ss::MFIMMsgConext& context, const cs::CMTeamCreate& msg);
void _CMTeamJoin(const ss::MFIMMsgConext& context, const cs::CMTeamJoin& msg);
void _CMTeamAgree(const ss::MFIMMsgConext& context, const cs::CMTeamAgree& msg);
void _CMTeamKick(const ss::MFIMMsgConext& context, const cs::CMTeamKick& msg);
void _CMTeamQuit(const ss::MFIMMsgConext& context, const cs::CMTeamQuit& msg);
void _CMTeamDismiss(const ss::MFIMMsgConext& context, const cs::CMTeamDismiss& msg);
void _CMTeamRename(const ss::MFIMMsgConext& context, const cs::CMTeamRename& msg);
Group* GetGroup(long long group_id);
void ForwardGroupSMMsg(const ss::MFIMMsgConext& context,
const ::google::protobuf::Message& smmsg);
private:
std::map<long long, Group*> id_hash_;
};