WebFramework v3.0.12
Web framework for C++.
Loading...
Searching...
No Matches
JSONSettingsParser.h
1#pragma once
2
3#include "Import/WebFrameworkCore.h"
4
5#include "JSONUtility.h"
6
7namespace framework
8{
9 namespace utility
10 {
14 class WEB_FRAMEWORK_API JSONSettingsParser
15 {
16 public:
20 struct WEB_FRAMEWORK_API ExecutorSettings
21 {
22 enum class loadType
23 {
24 initialization,
25 dynamic,
26 none
27 };
28
29 json::utility::jsonObject initParameters;
30 std::string name;
31 loadType executorLoadType;
32
34
35 ExecutorSettings(ExecutorSettings&& other) noexcept = default;
36
37 ExecutorSettings& operator =(ExecutorSettings&& other) noexcept = default;
38
39 ~ExecutorSettings() = default;
40 };
41
42 private:
43 std::unordered_map<std::string, ExecutorSettings> settings; //route - settings
44
45 public:
52 JSONSettingsParser(const std::string& JSONSettings);
53
56 JSONSettingsParser(JSONSettingsParser&& other) noexcept = default;
57
62 const std::unordered_map<std::string, ExecutorSettings>& getSettings() const;
63
69 const ExecutorSettings& getExecutorSettings(const std::string& executorName) const;
70
71 ~JSONSettingsParser() = default;
72 };
73 }
74}
Parser for .json settings file.
JSONSettingsParser(JSONSettingsParser &&other) noexcept=default
Move constructor.
JSONSettingsParser(const std::string &JSONSettings)
Construct JSONSettingsParser from .json file.