Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
Config.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 CONFIG_H
7
#define CONFIG_H
8
9
#include "
Platform/Singleton.h
"
10
#include <list>
11
#include <map>
12
#include <mutex>
13
#include <string>
14
15
typedef
std::map<std::string, std::string>
ConfigSection
;
16
typedef
std::map<std::string, ConfigSection>
Config
;
17
18
class
ConfigMgr
19
{
20
friend
class
Skyfire::Singleton
<
ConfigMgr
,
Skyfire
::NullMutex>;
21
friend class
ConfigLoader
;
22
23
ConfigMgr
() :
_configLoaded
(false) { }
24
~ConfigMgr
() { }
25
26
public
:
28
bool
LoadInitial
(
char
const
* file);
29
36
bool
LoadMore
(
char
const
* file);
37
38
bool
Reload
();
39
40
std::string
GetStringDefault
(
const
char
* name,
const
std::string& def);
41
bool
GetBoolDefault
(
const
char
* name,
bool
def);
42
int
GetIntDefault
(
const
char
* name,
int
def);
43
float
GetFloatDefault
(
const
char
* name,
float
def);
44
45
std::string
const
&
GetFilename
();
46
std::list<std::string>
GetKeysByString
(std::string
const
& name);
47
48
private
:
49
bool
GetValueHelper
(
const
char
* name, std::string& result);
50
bool
LoadData
(
char
const
* file);
51
52
typedef
std::mutex
LockType
;
53
typedef
std::lock_guard<std::mutex>
GuardType
;
54
55
std::string
_filename
;
56
Config
_config
;
57
bool
_configLoaded
;
58
LockType
_configLock
;
59
60
ConfigMgr
(
ConfigMgr
const
&);
61
ConfigMgr
&
operator=
(
ConfigMgr
const
&);
62
};
63
64
#define sConfigMgr Skyfire::Singleton<ConfigMgr, Skyfire::NullMutex>::instance()
65
66
#endif
ConfigSection
std::map< std::string, std::string > ConfigSection
Definition
Config.h:15
Config
std::map< std::string, ConfigSection > Config
Definition
Config.h:16
Singleton.h
ConfigMgr::_filename
std::string _filename
Definition
Config.h:55
ConfigMgr::GetFilename
std::string const & GetFilename()
Definition
Config.cpp:189
ConfigMgr::ConfigLoader
friend class ConfigLoader
Definition
Config.h:21
ConfigMgr::LoadMore
bool LoadMore(char const *file)
Definition
Config.cpp:108
ConfigMgr::LoadData
bool LoadData(char const *file)
Definition
Config.cpp:123
ConfigMgr::_configLoaded
bool _configLoaded
Definition
Config.h:57
ConfigMgr::GetIntDefault
int GetIntDefault(const char *name, int def)
Definition
Config.cpp:177
ConfigMgr::_config
Config _config
Definition
Config.h:56
ConfigMgr::Reload
bool Reload()
Definition
Config.cpp:118
ConfigMgr::GetKeysByString
std::list< std::string > GetKeysByString(std::string const &name)
Definition
Config.cpp:195
ConfigMgr::~ConfigMgr
~ConfigMgr()
Definition
Config.h:24
ConfigMgr::GuardType
std::lock_guard< std::mutex > GuardType
Definition
Config.h:53
ConfigMgr::_configLock
LockType _configLock
Definition
Config.h:58
ConfigMgr::GetStringDefault
std::string GetStringDefault(const char *name, const std::string &def)
Definition
Config.cpp:160
ConfigMgr::ConfigMgr
ConfigMgr()
Definition
Config.h:23
ConfigMgr::ConfigMgr
ConfigMgr(ConfigMgr const &)
ConfigMgr::LockType
std::mutex LockType
Definition
Config.h:52
ConfigMgr::operator=
ConfigMgr & operator=(ConfigMgr const &)
ConfigMgr::LoadInitial
bool LoadInitial(char const *file)
Method used only for loading main configuration files (authserver.conf and worldserver....
Definition
Config.cpp:88
ConfigMgr::GetFloatDefault
float GetFloatDefault(const char *name, float def)
Definition
Config.cpp:183
ConfigMgr::GetBoolDefault
bool GetBoolDefault(const char *name, bool def)
Definition
Config.cpp:166
ConfigMgr::GetValueHelper
bool GetValueHelper(const char *name, std::string &result)
Definition
Config.cpp:68
Skyfire::Singleton
Definition
Singleton.h:15
Skyfire
Definition
AuthPatchTransfer.h:12
src
server
shared
Configuration
Config.h
Generated on
for Project SkyFire Core by
1.17.0