Kea 3.1.1
config_backend_pool_dhcp4.h
Go to the documentation of this file.
1// Copyright (C) 2018-2025 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>
18#include <dhcpsrv/cfg_option.h>
22#include <dhcpsrv/subnet.h>
23#include <boost/date_time/posix_time/ptime.hpp>
24#include <string>
25
26namespace isc {
27namespace dhcp {
28
33class ConfigBackendPoolDHCPv4 : public cb::BaseConfigBackendPool<ConfigBackendDHCPv4> {
34public:
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
173 virtual OptionDescriptorPtr
174 getOption4(const db::BackendSelector& backend_selector,
175 const db::ServerSelector& server_selector,
176 const uint16_t code,
177 const std::string& space,
178 const ClientClassesPtr client_classes = ClientClassesPtr()) const;
179
186 virtual OptionContainer
187 getAllOptions4(const db::BackendSelector& backend_selector,
188 const db::ServerSelector& server_selector) const;
189
197 virtual OptionContainer
198 getModifiedOptions4(const db::BackendSelector& backend_selector,
199 const db::ServerSelector& server_selector,
200 const boost::posix_time::ptime& modification_time) const;
201
209 getGlobalParameter4(const db::BackendSelector& backend_selector,
210 const db::ServerSelector& server_selector,
211 const std::string& name) const;
212
218 getAllGlobalParameters4(const db::BackendSelector& backend_selector,
219 const db::ServerSelector& server_selector) const;
220
229 const db::ServerSelector& server_selector,
230 const boost::posix_time::ptime& modification_time) const;
231
238 virtual ClientClassDefPtr
239 getClientClass4(const db::BackendSelector& backend_selector,
240 const db::ServerSelector& server_selector,
241 const std::string& name) const;
242
249 getAllClientClasses4(const db::BackendSelector& backend_selector,
250 const db::ServerSelector& server_selector) const;
251
259 getModifiedClientClasses4(const db::BackendSelector& backend_selector,
260 const db::ServerSelector& server_selector,
261 const boost::posix_time::ptime& modification_time) const;
262
274 getRecentAuditEntries(const db::BackendSelector& backend_selector,
275 const db::ServerSelector& server_selector,
276 const boost::posix_time::ptime& modification_time,
277 const uint64_t& modification_id) const;
278
287 getAllServers4(const db::BackendSelector& backend_selector) const;
288
295 virtual db::ServerPtr
296 getServer4(const db::BackendSelector& backend_selector,
297 const data::ServerTag& server_tag) const;
298
304 virtual void
305 createUpdateSubnet4(const db::BackendSelector& backend_selector,
306 const db::ServerSelector& server_selector,
307 const Subnet4Ptr& subnet);
308
314 virtual void
315 createUpdateSharedNetwork4(const db::BackendSelector& backend_selector,
316 const db::ServerSelector& server_selector,
317 const SharedNetwork4Ptr& shared_network);
318
324 virtual void
325 createUpdateOptionDef4(const db::BackendSelector& backend_selector,
326 const db::ServerSelector& server_selector,
327 const OptionDefinitionPtr& option_def);
328
334 virtual void
335 createUpdateOption4(const db::BackendSelector& backend_selector,
336 const db::ServerSelector& server_selector,
337 const OptionDescriptorPtr& option);
338
346 virtual void
347 createUpdateOption4(const db::BackendSelector& backend_selector,
348 const db::ServerSelector& server_selector,
349 const std::string& shared_network_name,
350 const OptionDescriptorPtr& option);
351
358 virtual void
359 createUpdateOption4(const db::BackendSelector& backend_selector,
360 const db::ServerSelector& server_selector,
361 const SubnetID& subnet_id,
362 const OptionDescriptorPtr& option);
363
373 virtual void
374 createUpdateOption4(const db::BackendSelector& backend_selector,
375 const db::ServerSelector& server_selector,
376 const asiolink::IOAddress& pool_start_address,
377 const asiolink::IOAddress& pool_end_address,
378 const OptionDescriptorPtr& option);
379
385 virtual void
387 const db::ServerSelector& server_selector,
388 const data::StampedValuePtr& value);
389
399 virtual void
400 createUpdateClientClass4(const db::BackendSelector& backend_selector,
401 const db::ServerSelector& server_selector,
402 const ClientClassDefPtr& client_class,
403 const std::string& follow_class_name);
404
409 virtual void
410 createUpdateServer4(const db::BackendSelector& backend_selector,
411 const db::ServerPtr& server);
412
419 virtual uint64_t
420 deleteSubnet4(const db::BackendSelector& backend_selector,
421 const db::ServerSelector& server_selector,
422 const std::string& subnet_prefix);
423
430 virtual uint64_t
431 deleteSubnet4(const db::BackendSelector& backend_selector,
432 const db::ServerSelector& server_selector,
433 const SubnetID& subnet_id);
434
440 virtual uint64_t
441 deleteAllSubnets4(const db::BackendSelector& backend_selector,
442 const db::ServerSelector& server_selector);
443
451 virtual uint64_t
452 deleteSharedNetworkSubnets4(const db::BackendSelector& backend_selector,
453 const db::ServerSelector& server_selector,
454 const std::string& shared_network_name);
455
462 virtual uint64_t
463 deleteSharedNetwork4(const db::BackendSelector& backend_selector,
464 const db::ServerSelector& server_selector,
465 const std::string& name);
466
472 virtual uint64_t
473 deleteAllSharedNetworks4(const db::BackendSelector& backend_selector,
474 const db::ServerSelector& server_selector);
475
483 virtual uint64_t
484 deleteOptionDef4(const db::BackendSelector& backend_selector,
485 const db::ServerSelector& server_selector,
486 const uint16_t code,
487 const std::string& space);
488
494 virtual uint64_t
495 deleteAllOptionDefs4(const db::BackendSelector& backend_selector,
496 const db::ServerSelector& server_selector);
497
507 virtual uint64_t
508 deleteOption4(const db::BackendSelector& backend_selector,
509 const db::ServerSelector& server_selector,
510 const uint16_t code,
511 const std::string& space,
512 const ClientClassesPtr client_classes = ClientClassesPtr());
513
525 virtual uint64_t
526 deleteOption4(const db::BackendSelector& backend_selector,
527 const db::ServerSelector& server_selector,
528 const std::string& shared_network_name,
529 const uint16_t code,
530 const std::string& space,
531 const ClientClassesPtr client_classes = ClientClassesPtr());
532
544 virtual uint64_t
545 deleteOption4(const db::BackendSelector& backend_selector,
546 const db::ServerSelector& server_selector,
547 const SubnetID& subnet_id,
548 const uint16_t code, const std::string& space,
549 const ClientClassesPtr client_classes = ClientClassesPtr());
550
564 virtual uint64_t
565 deleteOption4(const db::BackendSelector& backend_selector,
566 const db::ServerSelector& server_selector,
567 const asiolink::IOAddress& pool_start_address,
568 const asiolink::IOAddress& pool_end_address,
569 const uint16_t code,
570 const std::string& space,
571 const ClientClassesPtr client_classes = ClientClassesPtr());
572
579 virtual uint64_t
580 deleteGlobalParameter4(const db::BackendSelector& backend_selector,
581 const db::ServerSelector& server_selector,
582 const std::string& name);
583
589 virtual uint64_t
590 deleteAllGlobalParameters4(const db::BackendSelector& backend_selector,
591 const db::ServerSelector& server_selector);
592
599 virtual uint64_t
600 deleteClientClass4(const db::BackendSelector& backend_selector,
601 const db::ServerSelector& server_selector,
602 const std::string& name);
603
609 virtual uint64_t
610 deleteAllClientClasses4(const db::BackendSelector& backend_selector,
611 const db::ServerSelector& server_selector);
612
618 virtual uint64_t
619 deleteServer4(const db::BackendSelector& backend_selector,
620 const data::ServerTag& server_tag);
621
627 virtual uint64_t
628 deleteAllServers4(const db::BackendSelector& backend_selector);
629};
630
631
632} // end of namespace isc::dhcp
633} // end of namespace isc
634
635#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 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 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 uint64_t deleteOption4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space, const ClientClassesPtr client_classes=ClientClassesPtr())
Deletes global option.
virtual OptionDescriptorPtr getOption4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space, const ClientClassesPtr client_classes=ClientClassesPtr()) const
Retrieves single option by code and space.
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.
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:22
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.
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:461
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_ > >, boost::multi_index::hashed_non_unique< boost::multi_index::composite_key< OptionDescriptor, KeyFromKeyExtractor< boost::multi_index::const_mem_fun< Option, uint16_t, &Option::getType >, boost::multi_index::member< OptionDescriptor, OptionPtr, &OptionDescriptor::option_ > >, boost::multi_index::member< OptionDescriptor, ClientClasses, &OptionDescriptor::client_classes_ > > > > > OptionContainer
Multi index container for DHCP option descriptors.
Definition cfg_option.h:347
boost::shared_ptr< ClientClasses > ClientClassesPtr
Smart pointer to ClientClasses object.
Definition classify.h:281
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:866
boost::shared_ptr< OptionDescriptor > OptionDescriptorPtr
A pointer to option descriptor.
Definition cfg_option.h:38
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::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.