Leosac  0.8.0
Open Source Access Control
runtimeoptions.cpp
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 #include "runtimeoptions.hpp"
27 #include <stdexcept>
28 
29 using namespace Leosac::Tools;
30 const std::string RuntimeOptions::DefaultEmptyParam("undef");
31 
33 {
34 }
35 
36 void RuntimeOptions::set_param(const std::string &key, const std::string &value)
37 {
38  _params[key] = value;
39 }
40 
41 const std::string &RuntimeOptions::get_param(const std::string &key) const
42 {
43  if (_params.count(key) > 0)
44  return (_params.at(key));
45  else
46  throw std::runtime_error("RuntimeOptions::get_param [key = " + key +
47  "] [value = " + DefaultEmptyParam + "]");
48 }
49 
50 bool RuntimeOptions::has_param(const std::string &key) const
51 {
52  return _params.count(key);
53 }
54 
56 {
57  return strict_;
58 }
59 
61 {
62  strict_ = v;
63 }
runtimeoptions.hpp
RuntimeOptions class declaration.
Leosac::Tools::RuntimeOptions::DefaultEmptyParam
static const std::string DefaultEmptyParam
Definition: runtimeoptions.hpp:44
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::has_param
bool has_param(const std::string &key) const
Definition: runtimeoptions.cpp:50
Leosac::Tools
Definition: DatabaseLogSink.hpp:27