xale-db 1.0
minimal SQL engine, written in c++
Loading...
Searching...
No Matches
ConfigurationHandler.h
Go to the documentation of this file.
1#ifndef CORE_CONFIGURATION_HANDLER_H
2#define CORE_CONFIGURATION_HANDLER_H
3
5
6#include <string>
7#include <fstream>
8#include <sstream>
9#include <memory>
10#include <ctime>
11
12namespace Xale::Core
13{
14 class ConfigurationHandler
15 {
16 public:
17 static ConfigurationHandler& getInstance();
18 bool loadFromFile(const std::string& path, std::string& outError) noexcept;
19 bool isLoaded() const noexcept;
20 const std::string& getBuildType() const noexcept;
21 const std::string& getDefaultLogLevel() const noexcept;
22 const std::string& getExceptionLogLevel() const noexcept;
23 const std::string& getLogOutputDirectory() const noexcept;
24 const std::string& getLogFileNameFormat() const noexcept;
25 const std::string& getDataFilePath() const noexcept;
26
27 private:
28 static std::unique_ptr<ConfigurationHandler> instance;
29 ConfigurationHandler() = default;
30 ConfigurationHandler(const ConfigurationHandler&) = delete;
31 ConfigurationHandler& operator=(const ConfigurationHandler&) = delete;
32 bool extractStringField(const std::string& text, const std::string& key, std::string& outValue);
33 std::tm* getLocaltime();
34 std::string getLocaltimeDay();
35 std::string getLocaltimeMonth();
36 std::string getLocaltimeYear();
37 std::string _buildType;
38 std::string _defaultLogLevel;
39 std::string _exceptionLogLevel;
40 std::string _outputFilePath;
41 std::string _fileNameFormat;
42 std::string _dataFilePath;
43 bool _loaded = false;
44 };
45}
46
47#endif //CORE_CONFIGURATION_HANDLER_H
const std::string & getDefaultLogLevel() const noexcept
Definition ConfigurationHandler.cpp:126
static ConfigurationHandler & getInstance()
Definition ConfigurationHandler.cpp:174
const std::string & getBuildType() const noexcept
Definition ConfigurationHandler.cpp:121
bool loadFromFile(const std::string &path, std::string &outError) noexcept
Definition ConfigurationHandler.cpp:7
const std::string & getDataFilePath() const noexcept
Definition ConfigurationHandler.cpp:146
const std::string & getExceptionLogLevel() const noexcept
Definition ConfigurationHandler.cpp:131
const std::string & getLogFileNameFormat() const noexcept
Definition ConfigurationHandler.cpp:141
bool isLoaded() const noexcept
Definition ConfigurationHandler.cpp:116
const std::string & getLogOutputDirectory() const noexcept
Definition ConfigurationHandler.cpp:136
Definition ConfigurationHandler.h:13