Leosac  0.8.0
Open Source Access Control
runtimeoptions.hpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2014-2016 Leosac
3 
4  This file is part of Leosac.
5 
6  Leosac is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Affero General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  Leosac is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Affero General Public License for more details.
15 
16  You should have received a copy of the GNU Affero General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
26 #ifndef RUNTIMEOPTIONS_HPP
27 #define RUNTIMEOPTIONS_HPP
28 
29 #include <bitset>
30 #include <cstdint>
31 #include <map>
32 #include <string>
33 
34 namespace Leosac
35 {
36 namespace Tools
37 {
43 {
44  static const std::string DefaultEmptyParam;
45 
46  public:
47  explicit RuntimeOptions();
48 
49  ~RuntimeOptions() = default;
50 
51  RuntimeOptions(const RuntimeOptions &other) = delete;
52 
53  RuntimeOptions &operator=(const RuntimeOptions &other) = delete;
54 
55  public:
56  bool has_param(const std::string &key) const;
57 
58  void set_param(const std::string &key, const std::string &value);
59 
60  const std::string &get_param(const std::string &key) const;
61 
62  bool is_strict() const;
63  void set_strict(bool v);
64 
65  private:
66  std::map<std::string, std::string> _params;
67  bool strict_;
68 };
69 }
70 }
71 
72 #endif // RUNTIMEOPTIONS_HPP
Leosac::Tools::RuntimeOptions::operator=
RuntimeOptions & operator=(const RuntimeOptions &other)=delete
Leosac::Tools::RuntimeOptions::DefaultEmptyParam
static const std::string DefaultEmptyParam
Definition: runtimeoptions.hpp:44
Leosac
This is the header file for a generated source file, GitSHA1.cpp.
Definition: APIStatusCode.hpp:22
Leosac::Tools::RuntimeOptions::RuntimeOptions
RuntimeOptions()
Definition: runtimeoptions.cpp:32
Leosac::Tools::RuntimeOptions::set_strict
void set_strict(bool v)
Definition: runtimeoptions.cpp:60
Leosac::Tools::RuntimeOptions::strict_
bool strict_
Definition: runtimeoptions.hpp:67
Leosac::Tools::RuntimeOptions::is_strict
bool is_strict() const
Definition: runtimeoptions.cpp:55
Leosac::Tools::RuntimeOptions::set_param
void set_param(const std::string &key, const std::string &value)
Definition: runtimeoptions.cpp:36
Leosac::Tools::RuntimeOptions::_params
std::map< std::string, std::string > _params
Definition: runtimeoptions.hpp:66
Leosac::Tools::RuntimeOptions::get_param
const std::string & get_param(const std::string &key) const
Definition: runtimeoptions.cpp:41
Leosac::Tools::RuntimeOptions::~RuntimeOptions
~RuntimeOptions()=default
Leosac::Tools::RuntimeOptions::has_param
bool has_param(const std::string &key) const
Definition: runtimeoptions.cpp:50
Leosac::Tools::RuntimeOptions
Holds informations about runtime options, such as "is this a verbose run" or path to configurations f...
Definition: runtimeoptions.hpp:42