Horizon Official Technical Documentation
ServerConfiguration.hpp
Go to the documentation of this file.
1/***************************************************
2 * _ _ _ *
3 * | | | | (_) *
4 * | |_| | ___ _ __ _ _______ _ __ *
5 * | _ |/ _ \| '__| |_ / _ \| '_ \ *
6 * | | | | (_) | | | |/ / (_) | | | | *
7 * \_| |_/\___/|_| |_/___\___/|_| |_| *
8 ***************************************************
9 * This file is part of Horizon (c).
10 *
11 * Copyright (c) 2019 Sagun K. (sagunxp@gmail.com).
12 * Copyright (c) 2019 Horizon Dev Team.
13 *
14 * Base Author - Sagun K. (sagunxp@gmail.com)
15 *
16 * This library is free software; you can redistribute it and/or modify
17 * it under the terms of the GNU General Public License as published by
18 * the Free Software Foundation, either version 3 of the License, or
19 * (at your option) any later version.
20 *
21 * This library is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
25 *
26 * You should have received a copy of the GNU General Public License
27 * along with this library. If not, see <http://www.gnu.org/licenses/>.
28 **************************************************/
29
30#ifndef HORIZON_SERVERCONFIGURATION_H
31#define HORIZON_SERVERCONFIGURATION_H
32
33#include <string>
34#include <boost/filesystem.hpp>
35#include <vector>
36
38{
42};
44{
45 /* Minimal Load for Test Run */
46 int get_test_run() const { return _test_run; }
47 void set_test_run(test_run_type type) { this->_test_run |= (int) type; }
48 void unset_test_run(test_run_type type) { this->_test_run &= ~((int) type); }
49
50 bool is_test_run() const { return _test_run > 0; }
51 bool is_test_run_minimal() const { return (_test_run&TEST_RUN_MINIMAL) == TEST_RUN_MINIMAL ? true : false; }
53
54 /* Configuration File Path */
55 const boost::filesystem::path &get_config_file_path() const { return _config_file_path; }
56 void set_config_file_path(const boost::filesystem::path &path) { _config_file_path = path; }
57 /* Shut Down Signal */
58 int get_shutdown_signal() const { return shutdown_signal; }
59 void set_shutdown_signal(int shutdown_signal) { this->shutdown_signal = shutdown_signal; }
60 /* Listen IP */
61 const std::string &get_listen_ip() const { return _listen_ip; }
62 void set_listen_ip(const std::string &listen_ip) { _listen_ip = listen_ip; }
63 /* Listen Port */
64 uint16_t get_listen_port() const { return _listen_port; }
65 void set_listen_port(uint16_t listen_port) { _listen_port = listen_port; }
66
68
69 const std::string &get_db_host() const { return _db_host; }
70 void set_db_host(std::string &&host) { _db_host = host; }
71
72 const std::string &get_db_user() const { return _db_user; }
73 void set_db_user(std::string &&user) { _db_user = user; }
74
75 const std::string &get_db_pass() const { return _db_pass; }
76 void set_db_pass(std::string &&pass) { _db_pass = pass; }
77
78 const std::string &get_db_database() const { return _db_database; }
79 void set_db_database(std::string &&database) { _db_database = database; }
80
81 const uint16_t &get_db_port() const { return _db_port; }
82 void set_db_port(uint16_t port) { _db_port = port; }
83
84 const uint8_t &get_db_threads() const { return _db_threads; }
85 void set_db_threads(uint8_t threads) { _db_threads = threads; }
86
87 boost::filesystem::path _config_file_path{""};
88
90
91 std::string _listen_ip;
92 uint16_t _listen_port;
93
95 uint16_t _db_port{3306};
96 uint8_t _db_threads{5};
97
98};
99
100#endif //HORIZON_SERVERCONFIGURATION_H
test_run_type
Definition: ServerConfiguration.hpp:38
@ TEST_RUN_MINIMAL
Definition: ServerConfiguration.hpp:40
@ TEST_RUN_NONE
Definition: ServerConfiguration.hpp:39
@ TEST_RUN_WITH_NETWORK
Definition: ServerConfiguration.hpp:41
Definition: ServerConfiguration.hpp:44
void set_listen_ip(const std::string &listen_ip)
Definition: ServerConfiguration.hpp:62
const std::string & get_db_host() const
Definition: ServerConfiguration.hpp:69
bool is_test_run_minimal() const
Definition: ServerConfiguration.hpp:51
bool is_test_run() const
Definition: ServerConfiguration.hpp:50
void set_db_user(std::string &&user)
Definition: ServerConfiguration.hpp:73
std::string _db_host
Definition: ServerConfiguration.hpp:94
const std::string & get_db_pass() const
Definition: ServerConfiguration.hpp:75
int _test_run
Definition: ServerConfiguration.hpp:67
void set_db_threads(uint8_t threads)
Definition: ServerConfiguration.hpp:85
uint16_t get_listen_port() const
Definition: ServerConfiguration.hpp:64
void set_test_run(test_run_type type)
Definition: ServerConfiguration.hpp:47
void set_db_port(uint16_t port)
Definition: ServerConfiguration.hpp:82
std::string _listen_ip
Listen IP.
Definition: ServerConfiguration.hpp:91
std::string _db_user
Definition: ServerConfiguration.hpp:94
const uint16_t & get_db_port() const
Definition: ServerConfiguration.hpp:81
void set_shutdown_signal(int shutdown_signal)
Definition: ServerConfiguration.hpp:59
const std::string & get_db_user() const
Definition: ServerConfiguration.hpp:72
std::string _db_database
Definition: ServerConfiguration.hpp:94
boost::filesystem::path _config_file_path
Definition: ServerConfiguration.hpp:87
const boost::filesystem::path & get_config_file_path() const
Definition: ServerConfiguration.hpp:55
bool is_test_run_with_network() const
Definition: ServerConfiguration.hpp:52
void set_listen_port(uint16_t listen_port)
Definition: ServerConfiguration.hpp:65
void set_db_pass(std::string &&pass)
Definition: ServerConfiguration.hpp:76
uint16_t _db_port
Definition: ServerConfiguration.hpp:95
int shutdown_signal
Shutdown signal.
Definition: ServerConfiguration.hpp:89
void set_config_file_path(const boost::filesystem::path &path)
Definition: ServerConfiguration.hpp:56
const std::string & get_db_database() const
Definition: ServerConfiguration.hpp:78
void unset_test_run(test_run_type type)
Definition: ServerConfiguration.hpp:48
int get_test_run() const
Definition: ServerConfiguration.hpp:46
void set_db_database(std::string &&database)
Definition: ServerConfiguration.hpp:79
std::string _db_pass
Definition: ServerConfiguration.hpp:94
const uint8_t & get_db_threads() const
Definition: ServerConfiguration.hpp:84
void set_db_host(std::string &&host)
Definition: ServerConfiguration.hpp:70
const std::string & get_listen_ip() const
Definition: ServerConfiguration.hpp:61
uint8_t _db_threads
Definition: ServerConfiguration.hpp:96
uint16_t _listen_port
Listen Port Number.
Definition: ServerConfiguration.hpp:92
int get_shutdown_signal() const
Definition: ServerConfiguration.hpp:58