Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
GroupMgr.h
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#ifndef SF_GROUPMGR_H
7#define SF_GROUPMGR_H
8
9#include "Group.h"
10#include "Platform/Singleton.h"
11
13{
14 friend class Skyfire::Singleton<GroupMgr, Skyfire::NullMutex>;
15private:
17 ~GroupMgr();
18
19public:
20 typedef std::map<uint32, Group*> GroupContainer;
21 typedef std::vector<Group*> GroupDbContainer;
22
23 Group* GetGroupByGUID(uint32 guid) const;
24
26 void RegisterGroupDbStoreId(uint32 storageId, Group* group);
27 void FreeGroupDbStoreId(Group* group);
28 void SetNextGroupDbStoreId(uint32 storageId) { NextGroupDbStoreId = storageId; };
29 Group* GetGroupByDbStoreId(uint32 storageId) const;
30 void SetGroupDbStoreSize(uint32 newSize) { GroupDbStore.resize(newSize); }
31
32 void LoadGroups();
34 void AddGroup(Group* group);
35 void RemoveGroup(Group* group);
36
37protected:
42};
43
44#define sGroupMgr Skyfire::Singleton<GroupMgr, Skyfire::NullMutex>::instance()
45
46#endif
std::uint32_t uint32
Definition Define.h:77
Definition Group.h:147
Group * GetGroupByGUID(uint32 guid) const
Definition GroupMgr.cpp:77
uint32 GenerateGroupId()
Definition GroupMgr.cpp:67
void FreeGroupDbStoreId(Group *group)
Definition GroupMgr.cpp:49
Group * GetGroupByDbStoreId(uint32 storageId) const
Definition GroupMgr.cpp:59
std::map< uint32, Group * > GroupContainer
Definition GroupMgr.h:20
uint32 GenerateNewGroupDbStoreId()
Definition GroupMgr.cpp:18
void RemoveGroup(Group *group)
Definition GroupMgr.cpp:91
GroupMgr()
Definition GroupMgr.h:16
uint32 NextGroupId
Definition GroupMgr.h:38
void SetNextGroupDbStoreId(uint32 storageId)
Definition GroupMgr.h:28
std::vector< Group * > GroupDbContainer
Definition GroupMgr.h:21
GroupDbContainer GroupDbStore
Definition GroupMgr.h:41
uint32 NextGroupDbStoreId
Definition GroupMgr.h:39
void SetGroupDbStoreSize(uint32 newSize)
Definition GroupMgr.h:30
void LoadGroups()
Definition GroupMgr.cpp:96
void AddGroup(Group *group)
Definition GroupMgr.cpp:86
void RegisterGroupDbStoreId(uint32 storageId, Group *group)
Definition GroupMgr.cpp:40
GroupContainer GroupStore
Definition GroupMgr.h:40