Kea  2.3.4-git
cfg_rsoo.h
Go to the documentation of this file.
1 // Copyright (C) 2015,2017 Internet Systems Consortium, Inc. ("ISC")
2 //
3 // This Source Code Form is subject to the terms of the Mozilla Public
4 // License, v. 2.0. If a copy of the MPL was not distributed with this
5 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 
7 #ifndef CFG_RSOO_H
8 #define CFG_RSOO_H
9 
10 #include <cc/cfg_to_element.h>
11 #include <boost/shared_ptr.hpp>
12 #include <stdint.h>
13 #include <set>
14 
15 namespace isc {
16 namespace dhcp {
17 
26 public:
27 
32  CfgRSOO();
33 
37  void clear();
38 
43  bool enabled(const uint16_t code) const;
44 
48  void enable(const uint16_t code);
49 
53  virtual isc::data::ElementPtr toElement() const;
54 
55 private:
56 
64  std::set<uint16_t> rsoo_options_;
65 
66 };
67 
69 
70 typedef boost::shared_ptr<CfgRSOO> CfgRSOOPtr;
72 
74 typedef boost::shared_ptr<const CfgRSOO> ConstCfgRSOOPtr;
75 
77 
78 }
79 }
80 
81 #endif // CFG_RSOO_H
Represents configuration of the RSOO options for the DHCP server.
Definition: cfg_rsoo.h:25
boost::shared_ptr< const CfgRSOO > ConstCfgRSOOPtr
Pointer to the const object.
Definition: cfg_rsoo.h:74
boost::shared_ptr< Element > ElementPtr
Definition: data.h:24
bool enabled(const uint16_t code) const
Returns whether specific option code is RSOO-enabled.
Definition: cfg_rsoo.cc:29
void enable(const uint16_t code)
Marks specified option code as RSOO-enabled.
Definition: cfg_rsoo.cc:34
Abstract class for configuration Cfg_* classes.
boost::shared_ptr< CfgRSOO > CfgRSOOPtr
Pointer to the Non-const object.
Definition: cfg_rsoo.h:71
Defines the logger used by the top-level component of kea-lfc.
virtual isc::data::ElementPtr toElement() const
Unparse a configuration object.
Definition: cfg_rsoo.cc:42
CfgRSOO()
Constructor.
Definition: cfg_rsoo.cc:18
void clear()
Removes designation of all options as RSOO_enabled.
Definition: cfg_rsoo.cc:24