20 #include <boost/shared_ptr.hpp> 21 #include <boost/noncopyable.hpp> 70 class CfgMgr :
public boost::noncopyable {
95 void setDataDir(
const std::string& datadir,
bool unspecified =
true);
195 void revert(
const size_t index);
258 void mergeIntoStagingCfg(
const uint32_t seq);
270 void mergeIntoCurrentCfg(
const uint32_t seq);
276 family_ = family == AF_INET ? AF_INET : AF_INET6;
306 void ensureCurrentAllocated();
315 void mergeIntoCfg(
const SrvConfigPtr& taget_config,
const uint32_t seq);
332 typedef std::list<SrvConfigPtr> SrvConfigList;
336 SrvConfigList configs_;
342 typedef std::map<uint32_t, SrvConfigPtr> SrvConfigMap;
347 SrvConfigMap external_configs_;
static const size_t CONFIG_LIST_SIZE
A number of configurations held by CfgMgr.
Defines elements for storing the names of client classes.
boost::shared_ptr< SrvConfig > SrvConfigPtr
Non-const pointer to the SrvConfig.
Exception thrown when the same interface has been specified twice.
virtual const char * what() const
Returns a C-style character string of the cause of the exception.
DuplicateListeningIface(const char *file, size_t line, const char *what)
void setFamily(uint16_t family)
Sets address family (AF_INET or AF_INET6)
uint16_t getFamily() const
Returns address family.
This is a base class for exceptions thrown from the DNS library module.
Defines the logger used by the top-level component of kea-lfc.
D2ClientMgr isolates Kea from the details of being a D2 client.
boost::shared_ptr< D2ClientConfig > D2ClientConfigPtr
Defines a pointer for D2ClientConfig instances.
Defines the D2ClientMgr class.