Kea  2.3.9
config_backend_pool_dhcp4.h
Go to the documentation of this file.
1 // Copyright (C) 2018-2022 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 CONFIG_BACKEND_POOL_DHCP4_H
8 #define CONFIG_BACKEND_POOL_DHCP4_H
9 
10 #include <cc/stamped_value.h>
13 #include <database/server.h>
16 #include <dhcp/option.h>
17 #include <dhcp/option_definition.h>
18 #include <dhcpsrv/cfg_option.h>
21 #include <dhcpsrv/shared_network.h>
22 #include <dhcpsrv/subnet.h>
23 #include <boost/date_time/posix_time/ptime.hpp>
24 #include <string>
25 
26 namespace isc {
27 namespace dhcp {
28 
33 class ConfigBackendPoolDHCPv4 : public cb::BaseConfigBackendPool<ConfigBackendDHCPv4> {
34 public:
35 
42  virtual Subnet4Ptr
43  getSubnet4(const db::BackendSelector& backend_selector,
44  const db::ServerSelector& server_selector,
45  const std::string& subnet_prefix) const;
46 
53  virtual Subnet4Ptr
54  getSubnet4(const db::BackendSelector& backend_selector,
55  const db::ServerSelector& server_selector,
56  const SubnetID& subnet_id) const;
57 
63  virtual Subnet4Collection
64  getAllSubnets4(const db::BackendSelector& backend_selector,
65  const db::ServerSelector& server_selector) const;
66 
73  virtual Subnet4Collection
74  getModifiedSubnets4(const db::BackendSelector& backend_selector,
75  const db::ServerSelector& server_selector,
76  const boost::posix_time::ptime& modification_time) const;
77 
89  virtual Subnet4Collection
90  getSharedNetworkSubnets4(const db::BackendSelector& backend_selector,
91  const db::ServerSelector& server_selector,
92  const std::string& shared_network_name) const;
93 
100  virtual SharedNetwork4Ptr
101  getSharedNetwork4(const db::BackendSelector& backend_selector,
102  const db::ServerSelector& server_selector,
103  const std::string& name) const;
104 
112  getAllSharedNetworks4(const db::BackendSelector& backend_selector,
113  const db::ServerSelector& server_selector) const;
114 
123  getModifiedSharedNetworks4(const db::BackendSelector& backend_selector,
124  const db::ServerSelector& server_selector,
125  const boost::posix_time::ptime& modification_time) const;
126 
134  virtual OptionDefinitionPtr
135  getOptionDef4(const db::BackendSelector& backend_selector,
136  const db::ServerSelector& server_selector,
137  const uint16_t code,
138  const std::string& space) const;
139 
146  virtual OptionDefContainer
147  getAllOptionDefs4(const db::BackendSelector& backend_selector,
148  const db::ServerSelector& server_selector) const;
149 
158  virtual OptionDefContainer
159  getModifiedOptionDefs4(const db::BackendSelector& backend_selector,
160  const db::ServerSelector& server_selector,
161  const boost::posix_time::ptime& modification_time) const;
162 
171  virtual OptionDescriptorPtr
172  getOption4(const db::BackendSelector& backend_selector,
173  const db::ServerSelector& server_selector,
174  const uint16_t code,
175  const std::string& space) const;
176 
183  virtual OptionContainer
184  getAllOptions4(const db::BackendSelector& backend_selector,
185  const db::ServerSelector& server_selector) const;
186 
194  virtual OptionContainer
195  getModifiedOptions4(const db::BackendSelector& backend_selector,
196  const db::ServerSelector& server_selector,
197  const boost::posix_time::ptime& modification_time) const;
198 
205  virtual data::StampedValuePtr
206  getGlobalParameter4(const db::BackendSelector& backend_selector,
207  const db::ServerSelector& server_selector,
208  const std::string& name) const;
209 
215  getAllGlobalParameters4(const db::BackendSelector& backend_selector,
216  const db::ServerSelector& server_selector) const;
217 
225  getModifiedGlobalParameters4(const db::BackendSelector& backend_selector,
226  const db::ServerSelector& server_selector,
227  const boost::posix_time::ptime& modification_time) const;
228 
235  virtual ClientClassDefPtr
236  getClientClass4(const db::BackendSelector& backend_selector,
237  const db::ServerSelector& server_selector,
238  const std::string& name) const;
239 
245  virtual ClientClassDictionary
246  getAllClientClasses4(const db::BackendSelector& backend_selector,
247  const db::ServerSelector& server_selector) const;
248 
255  virtual ClientClassDictionary
256  getModifiedClientClasses4(const db::BackendSelector& backend_selector,
257  const db::ServerSelector& server_selector,
258  const boost::posix_time::ptime& modification_time) const;
259 
271  getRecentAuditEntries(const db::BackendSelector& backend_selector,
272  const db::ServerSelector& server_selector,
273  const boost::posix_time::ptime& modification_time,
274  const uint64_t& modification_id) const;
275 
283  virtual db::ServerCollection
284  getAllServers4(const db::BackendSelector& backend_selector) const;
285 
292  virtual db::ServerPtr
293  getServer4(const db::BackendSelector& backend_selector,
294  const data::ServerTag& server_tag) const;
295 
301  virtual void
302  createUpdateSubnet4(const db::BackendSelector& backend_selector,
303  const db::ServerSelector& server_selector,
304  const Subnet4Ptr& subnet);
305 
311  virtual void
312  createUpdateSharedNetwork4(const db::BackendSelector& backend_selector,
313  const db::ServerSelector& server_selector,
314  const SharedNetwork4Ptr& shared_network);
315 
321  virtual void
322  createUpdateOptionDef4(const db::BackendSelector& backend_selector,
323  const db::ServerSelector& server_selector,
324  const OptionDefinitionPtr& option_def);
325 
331  virtual void
332  createUpdateOption4(const db::BackendSelector& backend_selector,
333  const db::ServerSelector& server_selector,
334  const OptionDescriptorPtr& option);
335 
343  virtual void
344  createUpdateOption4(const db::BackendSelector& backend_selector,
345  const db::ServerSelector& server_selector,
346  const std::string& shared_network_name,
347  const OptionDescriptorPtr& option);
348 
355  virtual void
356  createUpdateOption4(const db::BackendSelector& backend_selector,
357  const db::ServerSelector& server_selector,
358  const SubnetID& subnet_id,
359  const OptionDescriptorPtr& option);
360 
370  virtual void
371  createUpdateOption4(const db::BackendSelector& backend_selector,
372  const db::ServerSelector& server_selector,
373  const asiolink::IOAddress& pool_start_address,
374  const asiolink::IOAddress& pool_end_address,
375  const OptionDescriptorPtr& option);
376 
382  virtual void
383  createUpdateGlobalParameter4(const db::BackendSelector& backend_selector,
384  const db::ServerSelector& server_selector,
385  const data::StampedValuePtr& value);
386 
396  virtual void
397  createUpdateClientClass4(const db::BackendSelector& backend_selector,
398  const db::ServerSelector& server_selector,
399  const ClientClassDefPtr& client_class,
400  const std::string& follow_class_name);
401 
406  virtual void
407  createUpdateServer4(const db::BackendSelector& backend_selector,
408  const db::ServerPtr& server);
409 
416  virtual uint64_t
417  deleteSubnet4(const db::BackendSelector& backend_selector,
418  const db::ServerSelector& server_selector,
419  const std::string& subnet_prefix);
420 
427  virtual uint64_t
428  deleteSubnet4(const db::BackendSelector& backend_selector,
429  const db::ServerSelector& server_selector,
430  const SubnetID& subnet_id);
431 
437  virtual uint64_t
438  deleteAllSubnets4(const db::BackendSelector& backend_selector,
439  const db::ServerSelector& server_selector);
440 
448  virtual uint64_t
449  deleteSharedNetworkSubnets4(const db::BackendSelector& backend_selector,
450  const db::ServerSelector& server_selector,
451  const std::string& shared_network_name);
452 
459  virtual uint64_t
460  deleteSharedNetwork4(const db::BackendSelector& backend_selector,
461  const db::ServerSelector& server_selector,
462  const std::string& name);
463 
469  virtual uint64_t
470  deleteAllSharedNetworks4(const db::BackendSelector& backend_selector,
471  const db::ServerSelector& server_selector);
472 
480  virtual uint64_t
481  deleteOptionDef4(const db::BackendSelector& backend_selector,
482  const db::ServerSelector& server_selector,
483  const uint16_t code,
484  const std::string& space);
485 
491  virtual uint64_t
492  deleteAllOptionDefs4(const db::BackendSelector& backend_selector,
493  const db::ServerSelector& server_selector);
494 
502  virtual uint64_t
503  deleteOption4(const db::BackendSelector& backend_selector,
504  const db::ServerSelector& server_selector,
505  const uint16_t code,
506  const std::string& space);
507 
516  virtual uint64_t
517  deleteOption4(const db::BackendSelector& backend_selector,
518  const db::ServerSelector& server_selector,
519  const std::string& shared_network_name,
520  const uint16_t code,
521  const std::string& space);
522 
532  virtual uint64_t
533  deleteOption4(const db::BackendSelector& backend_selector,
534  const db::ServerSelector& server_selector,
535  const SubnetID& subnet_id,
536  const uint16_t code, const std::string& space);
537 
549  virtual uint64_t
550  deleteOption4(const db::BackendSelector& backend_selector,
551  const db::ServerSelector& server_selector,
552  const asiolink::IOAddress& pool_start_address,
553  const asiolink::IOAddress& pool_end_address,
554  const uint16_t code,
555  const std::string& space);
556 
563  virtual uint64_t
564  deleteGlobalParameter4(const db::BackendSelector& backend_selector,
565  const db::ServerSelector& server_selector,
566  const std::string& name);
567 
573  virtual uint64_t
574  deleteAllGlobalParameters4(const db::BackendSelector& backend_selector,
575  const db::ServerSelector& server_selector);
576 
583  virtual uint64_t
584  deleteClientClass4(const db::BackendSelector& backend_selector,
585  const db::ServerSelector& server_selector,
586  const std::string& name);
587 
593  virtual uint64_t
594  deleteAllClientClasses4(const db::BackendSelector& backend_selector,
595  const db::ServerSelector& server_selector);
596 
602  virtual uint64_t
603  deleteServer4(const db::BackendSelector& backend_selector,
604  const data::ServerTag& server_tag);
605 
611  virtual uint64_t
612  deleteAllServers4(const db::BackendSelector& backend_selector);
613 };
614 
615 
616 } // end of namespace isc::dhcp
617 } // end of namespace isc
618 
619 #endif // CONFIG_BACKEND_POOL_DHCP4_H
Base class for configuration backend pools.
Represents a server tag.
Definition: server_tag.h:25
Config Backend selector.
Server selector for associating objects in a database with specific servers.
Maintains a list of ClientClassDef's.
Implementation of the Configuration Backend Pool for DHCPv4.
virtual data::StampedValueCollection getAllGlobalParameters4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all global parameters.
virtual void createUpdateOption4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const OptionDescriptorPtr &option)
Creates or updates global option.
virtual SharedNetwork4Collection getModifiedSharedNetworks4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves shared networks modified after specified time.
virtual ClientClassDefPtr getClientClass4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name) const
Retrieves a client class by name.
virtual void createUpdateServer4(const db::BackendSelector &backend_selector, const db::ServerPtr &server)
Creates or updates a server.
virtual db::ServerCollection getAllServers4(const db::BackendSelector &backend_selector) const
Retrieves all servers from the particular backend.
virtual uint64_t deleteOption4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)
Deletes global option.
virtual OptionDefContainer getModifiedOptionDefs4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves option definitions modified after specified time.
virtual uint64_t deleteAllSubnets4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all subnets.
virtual uint64_t deleteServer4(const db::BackendSelector &backend_selector, const data::ServerTag &server_tag)
Deletes a server from the backend.
virtual uint64_t deleteSharedNetwork4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name)
Deletes shared network by name.
virtual uint64_t deleteAllServers4(const db::BackendSelector &backend_selector)
Deletes all servers from the backend except the logical server 'all'.
virtual OptionDefinitionPtr getOptionDef4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space) const
Retrieves single option definition by code and space.
virtual SharedNetwork4Ptr getSharedNetwork4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name) const
Retrieves shared network by name.
virtual uint64_t deleteAllSharedNetworks4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all shared networks.
virtual db::ServerPtr getServer4(const db::BackendSelector &backend_selector, const data::ServerTag &server_tag) const
Retrieves a server from the particular backend.
virtual void createUpdateSharedNetwork4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const SharedNetwork4Ptr &shared_network)
Creates or updates a shared network.
virtual void createUpdateOptionDef4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const OptionDefinitionPtr &option_def)
Creates or updates an option definition.
virtual ClientClassDictionary getModifiedClientClasses4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves client classes modified after specified time.
virtual data::StampedValuePtr getGlobalParameter4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name) const
Retrieves global parameter value.
virtual void createUpdateGlobalParameter4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const data::StampedValuePtr &value)
Creates or updates global string parameter.
virtual uint64_t deleteOptionDef4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)
Deletes option definition.
virtual Subnet4Collection getAllSubnets4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all subnets.
virtual Subnet4Collection getSharedNetworkSubnets4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &shared_network_name) const
Retrieves all subnets belonging to a specified shared network.
virtual uint64_t deleteSharedNetworkSubnets4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &shared_network_name)
Deletes all subnets belonging to a specified shared network.
virtual uint64_t deleteSubnet4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &subnet_prefix)
Deletes subnet by prefix.
virtual uint64_t deleteClientClass4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name)
Deletes DHCPv4 client class.
virtual OptionContainer getAllOptions4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all global options.
virtual data::StampedValueCollection getModifiedGlobalParameters4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves global parameters modified after specified time.
virtual uint64_t deleteAllOptionDefs4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all option definitions.
virtual OptionDescriptorPtr getOption4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space) const
Retrieves single option by code and space.
virtual ClientClassDictionary getAllClientClasses4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all client classes.
virtual void createUpdateClientClass4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const ClientClassDefPtr &client_class, const std::string &follow_class_name)
Creates or updates DHCPv4 client class.
virtual Subnet4Ptr getSubnet4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &subnet_prefix) const
Retrieves a single subnet by subnet_prefix.
virtual OptionDefContainer getAllOptionDefs4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all option definitions.
virtual uint64_t deleteGlobalParameter4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name)
Deletes global parameter.
virtual OptionContainer getModifiedOptions4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves option modified after specified time.
virtual db::AuditEntryCollection getRecentAuditEntries(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time, const uint64_t &modification_id) const
Retrieves the most recent audit entries.
virtual SharedNetwork4Collection getAllSharedNetworks4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all shared networks.
virtual uint64_t deleteAllGlobalParameters4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all global parameters.
virtual void createUpdateSubnet4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const Subnet4Ptr &subnet)
Creates or updates a subnet.
virtual uint64_t deleteAllClientClasses4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all client classes.
virtual Subnet4Collection getModifiedSubnets4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves subnets modified after specified time.
Defines classes for storing client class definitions.
boost::shared_ptr< StampedValue > StampedValuePtr
Pointer to the stamped value.
Definition: stamped_value.h:23
boost::multi_index_container< StampedValuePtr, boost::multi_index::indexed_by< boost::multi_index::hashed_non_unique< boost::multi_index::tag< StampedValueNameIndexTag >, boost::multi_index::const_mem_fun< StampedValue, std::string, &StampedValue::getName > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< StampedValueModificationTimeIndexTag >, boost::multi_index::const_mem_fun< BaseStampedElement, boost::posix_time::ptime, &BaseStampedElement::getModificationTime > > >> StampedValueCollection
Multi index container for StampedValue.
boost::shared_ptr< Server > ServerPtr
Shared pointer to the Server class.
Definition: server.h:19
boost::multi_index_container< AuditEntryPtr, boost::multi_index::indexed_by< boost::multi_index::ordered_non_unique< boost::multi_index::tag< AuditEntryObjectTypeTag >, boost::multi_index::composite_key< AuditEntry, boost::multi_index::const_mem_fun< AuditEntry, std::string, &AuditEntry::getObjectType >, boost::multi_index::const_mem_fun< AuditEntry, AuditEntry::ModificationType, &AuditEntry::getModificationType > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< AuditEntryModificationTimeIdTag >, boost::multi_index::composite_key< AuditEntry, boost::multi_index::const_mem_fun< AuditEntry, boost::posix_time::ptime, &AuditEntry::getModificationTime >, boost::multi_index::const_mem_fun< AuditEntry, uint64_t, &AuditEntry::getRevisionId > > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< AuditEntryObjectIdTag >, boost::multi_index::const_mem_fun< AuditEntry, uint64_t, &AuditEntry::getObjectId > > >> AuditEntryCollection
Multi index container holding AuditEntry instances.
Definition: audit_entry.h:291
boost::multi_index_container< ServerPtr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag< ServerTagIndexTag >, boost::multi_index::const_mem_fun< Server, std::string, &Server::getServerTagAsText > > >> ServerCollection
Multi index container for Server.
boost::shared_ptr< Subnet4 > Subnet4Ptr
A pointer to a Subnet4 object.
Definition: subnet.h:498
boost::shared_ptr< ClientClassDef > ClientClassDefPtr
a pointer to an ClientClassDef
boost::shared_ptr< OptionDefinition > OptionDefinitionPtr
Pointer to option definition object.
boost::multi_index_container< Subnet4Ptr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag< SubnetSubnetIdIndexTag >, boost::multi_index::const_mem_fun< Subnet, SubnetID, &Subnet::getID > >, boost::multi_index::ordered_unique< boost::multi_index::tag< SubnetPrefixIndexTag >, boost::multi_index::const_mem_fun< Subnet, std::string, &Subnet::toText > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SubnetServerIdIndexTag >, boost::multi_index::const_mem_fun< Network4, asiolink::IOAddress, &Network4::getServerId > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SubnetModificationTimeIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, boost::posix_time::ptime, &data::BaseStampedElement::getModificationTime > > >> Subnet4Collection
A collection of Subnet4 objects.
Definition: subnet.h:906
boost::shared_ptr< OptionDescriptor > OptionDescriptorPtr
A pointer to option descriptor.
Definition: cfg_option.h:32
uint32_t SubnetID
Defines unique IPv4 or IPv6 subnet identifier.
Definition: subnet_id.h:25
boost::multi_index_container< SharedNetwork4Ptr, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag< SharedNetworkRandomAccessIndexTag > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< SharedNetworkIdIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, uint64_t, &data::BaseStampedElement::getId > >, boost::multi_index::ordered_unique< boost::multi_index::tag< SharedNetworkNameIndexTag >, boost::multi_index::const_mem_fun< SharedNetwork4, std::string, &SharedNetwork4::getName > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SharedNetworkServerIdIndexTag >, boost::multi_index::const_mem_fun< Network4, asiolink::IOAddress, &Network4::getServerId > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SharedNetworkModificationTimeIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, boost::posix_time::ptime, &data::BaseStampedElement::getModificationTime > > >> SharedNetwork4Collection
Multi index container holding shared networks.
boost::multi_index_container< OptionDescriptor, boost::multi_index::indexed_by< boost::multi_index::sequenced<>, boost::multi_index::hashed_non_unique< KeyFromKeyExtractor< boost::multi_index::const_mem_fun< Option, uint16_t, &Option::getType >, boost::multi_index::member< OptionDescriptor, OptionPtr, &OptionDescriptor::option_ > > >, boost::multi_index::hashed_non_unique< boost::multi_index::member< OptionDescriptor, bool, &OptionDescriptor::persistent_ > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< data::BaseStampedElement, boost::posix_time::ptime, &data::BaseStampedElement::getModificationTime > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< OptionIdIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, uint64_t, &data::BaseStampedElement::getId > >, boost::multi_index::hashed_non_unique< boost::multi_index::member< OptionDescriptor, bool, &OptionDescriptor::cancelled_ > > >> OptionContainer
Multi index container for DHCP option descriptors.
Definition: cfg_option.h:299
boost::shared_ptr< SharedNetwork4 > SharedNetwork4Ptr
Pointer to SharedNetwork4 object.
boost::multi_index_container< OptionDefinitionPtr, boost::multi_index::indexed_by< boost::multi_index::sequenced<>, boost::multi_index::hashed_non_unique< boost::multi_index::const_mem_fun< OptionDefinition, uint16_t, &OptionDefinition::getCode > >, boost::multi_index::hashed_non_unique< boost::multi_index::const_mem_fun< OptionDefinition, std::string, &OptionDefinition::getName > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< data::BaseStampedElement, boost::posix_time::ptime, &data::StampedElement::getModificationTime > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< OptionIdIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, uint64_t, &data::BaseStampedElement::getId > > >> OptionDefContainer
Multi index container for DHCP option definitions.
Defines the logger used by the top-level component of kea-lfc.