20 const std::string& subnet_prefix)
const {
22 getPropertyPtrConst<Subnet4Ptr, const std::string&>
23 (&ConfigBackendDHCPv4::getSubnet4, backend_selector, server_selector,
24 subnet, subnet_prefix);
33 getPropertyPtrConst<Subnet4Ptr, const SubnetID&>
34 (&ConfigBackendDHCPv4::getSubnet4, backend_selector, server_selector,
43 getAllPropertiesConst<Subnet4Collection>
44 (&ConfigBackendDHCPv4::getAllSubnets4, backend_selector, server_selector,
50 ConfigBackendPoolDHCPv4::getModifiedSubnets4(
const BackendSelector& backend_selector,
52 const boost::posix_time::ptime& modification_time)
const {
54 getMultiplePropertiesConst<Subnet4Collection, const boost::posix_time::ptime&>
55 (&ConfigBackendDHCPv4::getModifiedSubnets4, backend_selector, server_selector,
56 subnets, modification_time);
63 const std::string& shared_network_name)
const {
65 getMultiplePropertiesConst<Subnet4Collection, const std::string&>
66 (&ConfigBackendDHCPv4::getSharedNetworkSubnets4, backend_selector, server_selector,
67 subnets, shared_network_name);
72 ConfigBackendPoolDHCPv4::getSharedNetwork4(
const BackendSelector& backend_selector,
74 const std::string& name)
const {
76 getPropertyPtrConst<SharedNetwork4Ptr, const std::string&>
77 (&ConfigBackendDHCPv4::getSharedNetwork4, backend_selector, server_selector,
78 shared_network, name);
79 return (shared_network);
83 ConfigBackendPoolDHCPv4::getAllSharedNetworks4(
const BackendSelector& backend_selector,
86 getAllPropertiesConst<SharedNetwork4Collection>
87 (&ConfigBackendDHCPv4::getAllSharedNetworks4, backend_selector, server_selector,
89 return (shared_networks);
93 ConfigBackendPoolDHCPv4::
96 const boost::posix_time::ptime& modification_time)
const {
98 getMultiplePropertiesConst<SharedNetwork4Collection, const boost::posix_time::ptime&>
99 (&ConfigBackendDHCPv4::getModifiedSharedNetworks4, backend_selector, server_selector,
100 shared_networks, modification_time);
101 return (shared_networks);
108 const std::string& space)
const {
110 getPropertyPtrConst<OptionDefinitionPtr, uint16_t, const std::string&>
111 (&ConfigBackendDHCPv4::getOptionDef4, backend_selector, server_selector,
112 option_def, code, space);
120 getAllPropertiesConst<OptionDefContainer>
121 (&ConfigBackendDHCPv4::getAllOptionDefs4, backend_selector, server_selector,
123 return (option_defs);
127 ConfigBackendPoolDHCPv4::getModifiedOptionDefs4(
const BackendSelector& backend_selector,
129 const boost::posix_time::ptime& modification_time)
const {
131 getMultiplePropertiesConst<OptionDefContainer, const boost::posix_time::ptime&>
132 (&ConfigBackendDHCPv4::getModifiedOptionDefs4, backend_selector, server_selector,
133 option_defs, modification_time);
134 return (option_defs);
141 const std::string& space)
const {
143 getPropertyPtrConst<OptionDescriptorPtr, uint16_t, const std::string&>
144 (&ConfigBackendDHCPv4::getOption4, backend_selector, server_selector,
145 option, code, space);
153 getAllPropertiesConst<OptionContainer>
154 (&ConfigBackendDHCPv4::getAllOptions4, backend_selector, server_selector,
162 const boost::posix_time::ptime& modification_time)
const {
164 getMultiplePropertiesConst<OptionContainer, const boost::posix_time::ptime&>
165 (&ConfigBackendDHCPv4::getModifiedOptions4, backend_selector, server_selector,
166 options, modification_time);
173 const std::string& name)
const {
175 getPropertyPtrConst<StampedValuePtr, const std::string&>
176 (&ConfigBackendDHCPv4::getGlobalParameter4, backend_selector,
177 server_selector, parameter, name);
182 ConfigBackendPoolDHCPv4::getAllGlobalParameters4(
const BackendSelector& backend_selector,
185 getAllPropertiesConst<StampedValueCollection>
186 (&ConfigBackendDHCPv4::getAllGlobalParameters4, backend_selector,
187 server_selector, parameters);
192 ConfigBackendPoolDHCPv4::
195 const boost::posix_time::ptime& modification_time)
const {
197 getMultiplePropertiesConst<StampedValueCollection, const boost::posix_time::ptime&>
198 (&ConfigBackendDHCPv4::getModifiedGlobalParameters4, backend_selector,
199 server_selector, parameters, modification_time);
206 const std::string& name)
const {
208 getPropertyPtrConst<ClientClassDefPtr, const std::string&>
209 (&ConfigBackendDHCPv4::getClientClass4, backend_selector, server_selector,
211 return (client_class);
215 ConfigBackendPoolDHCPv4::getAllClientClasses4(
const BackendSelector& backend_selector,
218 getAllPropertiesConst<ClientClassDictionary>
219 (&ConfigBackendDHCPv4::getAllClientClasses4, backend_selector, server_selector,
221 return (client_classes);
226 ConfigBackendPoolDHCPv4::getModifiedClientClasses4(
const BackendSelector& backend_selector,
228 const boost::posix_time::ptime& modification_time)
const {
230 getMultiplePropertiesConst<ClientClassDictionary, const boost::posix_time::ptime&>
231 (&ConfigBackendDHCPv4::getModifiedClientClasses4, backend_selector, server_selector,
232 client_classes, modification_time);
233 return (client_classes);
237 ConfigBackendPoolDHCPv4::
240 const boost::posix_time::ptime& modification_time,
241 const uint64_t& modification_id)
const {
243 getMultiplePropertiesConst<AuditEntryCollection, const boost::posix_time::ptime&>
244 (&ConfigBackendDHCPv4::getRecentAuditEntries, backend_selector,
245 server_selector, audit_entries, modification_time, modification_id);
246 return (audit_entries);
250 ConfigBackendPoolDHCPv4::getAllServers4(
const BackendSelector& backend_selector)
const {
252 getAllBackendPropertiesConst<ServerCollection>
253 (&ConfigBackendDHCPv4::getAllServers4, backend_selector, servers);
261 getBackendPropertyPtrConst<ServerPtr, const ServerTag&>
262 (&ConfigBackendDHCPv4::getServer4, backend_selector, server,
271 createUpdateDeleteProperty<void, const Subnet4Ptr&>
272 (&ConfigBackendDHCPv4::createUpdateSubnet4, backend_selector,
273 server_selector, subnet);
277 ConfigBackendPoolDHCPv4::createUpdateSharedNetwork4(
const BackendSelector& backend_selector,
280 createUpdateDeleteProperty<void, const SharedNetwork4Ptr&>
281 (&ConfigBackendDHCPv4::createUpdateSharedNetwork4, backend_selector,
282 server_selector, shared_network);
286 ConfigBackendPoolDHCPv4::createUpdateOptionDef4(
const BackendSelector& backend_selector,
289 createUpdateDeleteProperty<void, const OptionDefinitionPtr&>
290 (&ConfigBackendDHCPv4::createUpdateOptionDef4, backend_selector,
291 server_selector, option_def);
298 createUpdateDeleteProperty<void, const OptionDescriptorPtr&>
299 (&ConfigBackendDHCPv4::createUpdateOption4, backend_selector,
300 server_selector, option);
306 const std::string& shared_network_name,
308 createUpdateDeleteProperty<void, const std::string&, const OptionDescriptorPtr&>
309 (&ConfigBackendDHCPv4::createUpdateOption4, backend_selector,
310 server_selector, shared_network_name, option);
319 createUpdateDeleteProperty<void, const SubnetID&, const OptionDescriptorPtr&>
320 (&ConfigBackendDHCPv4::createUpdateOption4, backend_selector,
321 server_selector, subnet_id, option);
332 (&ConfigBackendDHCPv4::createUpdateOption4, backend_selector,
333 server_selector, pool_start_address, pool_end_address, option);
337 ConfigBackendPoolDHCPv4::createUpdateGlobalParameter4(
const BackendSelector& backend_selector,
340 createUpdateDeleteProperty<void, const StampedValuePtr&>
341 (&ConfigBackendDHCPv4::createUpdateGlobalParameter4, backend_selector,
342 server_selector, value);
346 ConfigBackendPoolDHCPv4::createUpdateClientClass4(
const BackendSelector& backend_selector,
349 const std::string& follow_class_name) {
350 createUpdateDeleteProperty<void, const ClientClassDefPtr&, const std::string&>
351 (&ConfigBackendDHCPv4::createUpdateClientClass4, backend_selector,
352 server_selector, client_class, follow_class_name);
358 createUpdateDeleteBackendProperty<void, const ServerPtr&>
359 (&ConfigBackendDHCPv4::createUpdateServer4, backend_selector,
366 const std::string& subnet_prefix) {
367 return (createUpdateDeleteProperty<uint64_t, const std::string&>
368 (&ConfigBackendDHCPv4::deleteSubnet4, backend_selector, server_selector,
376 return (createUpdateDeleteProperty<uint64_t, const SubnetID&>
377 (&ConfigBackendDHCPv4::deleteSubnet4, backend_selector, server_selector,
384 return (createUpdateDeleteProperty<uint64_t>
385 (&ConfigBackendDHCPv4::deleteAllSubnets4, backend_selector, server_selector));
391 const std::string& shared_network_name) {
392 return (createUpdateDeleteProperty<uint64_t, const std::string&>
393 (&ConfigBackendDHCPv4::deleteSharedNetworkSubnets4, backend_selector, server_selector,
394 shared_network_name));
398 ConfigBackendPoolDHCPv4::deleteSharedNetwork4(
const BackendSelector& backend_selector,
400 const std::string& name) {
401 return (createUpdateDeleteProperty<uint64_t, const std::string&>
402 (&ConfigBackendDHCPv4::deleteSharedNetwork4, backend_selector,
403 server_selector, name));
407 ConfigBackendPoolDHCPv4::deleteAllSharedNetworks4(
const BackendSelector& backend_selector,
409 return (createUpdateDeleteProperty<uint64_t>
410 (&ConfigBackendDHCPv4::deleteAllSharedNetworks4, backend_selector, server_selector));
417 const std::string& space) {
418 return (createUpdateDeleteProperty<uint64_t, uint16_t, const std::string&>
419 (&ConfigBackendDHCPv4::deleteOptionDef4, backend_selector,
420 server_selector, code, space));
424 ConfigBackendPoolDHCPv4::deleteAllOptionDefs4(
const BackendSelector& backend_selector,
426 return (createUpdateDeleteProperty<uint64_t>
427 (&ConfigBackendDHCPv4::deleteAllOptionDefs4, backend_selector, server_selector));
434 const std::string& space) {
435 return (createUpdateDeleteProperty<uint64_t, uint16_t, const std::string&>
436 (&ConfigBackendDHCPv4::deleteOption4, backend_selector, server_selector,
443 const std::string& shared_network_name,
445 const std::string& space) {
446 return (createUpdateDeleteProperty<uint64_t,
const std::string&, uint16_t,
448 (&ConfigBackendDHCPv4::deleteOption4, backend_selector, server_selector,
449 shared_network_name, code, space));
457 const std::string& space) {
458 return (createUpdateDeleteProperty<uint64_t, const SubnetID&, uint16_t, const std::string&>
459 (&ConfigBackendDHCPv4::deleteOption4, backend_selector, server_selector,
460 subnet_id, code, space));
469 const std::string& space) {
471 uint16_t,
const std::string&>
472 (&ConfigBackendDHCPv4::deleteOption4, backend_selector, server_selector,
473 pool_start_address, pool_end_address, code, space));
477 ConfigBackendPoolDHCPv4::deleteGlobalParameter4(
const BackendSelector& backend_selector,
479 const std::string& name) {
480 return (createUpdateDeleteProperty<uint64_t, const std::string&>
481 (&ConfigBackendDHCPv4::deleteGlobalParameter4, backend_selector,
482 server_selector, name));
486 ConfigBackendPoolDHCPv4::deleteAllGlobalParameters4(
const BackendSelector& backend_selector,
488 return (createUpdateDeleteProperty<uint64_t>
489 (&ConfigBackendDHCPv4::deleteAllGlobalParameters4, backend_selector,
496 const std::string& name) {
497 return (createUpdateDeleteProperty<uint64_t, const std::string&>
498 (&ConfigBackendDHCPv4::deleteClientClass4, backend_selector,
499 server_selector, name));
503 ConfigBackendPoolDHCPv4::deleteAllClientClasses4(
const BackendSelector& backend_selector,
505 return (createUpdateDeleteProperty<uint64_t>
506 (&ConfigBackendDHCPv4::deleteAllClientClasses4, backend_selector, server_selector));
512 return (createUpdateDeleteBackendProperty<uint64_t>
513 (&ConfigBackendDHCPv4::deleteServer4, backend_selector,
519 return (createUpdateDeleteBackendProperty<uint64_t>
520 (&ConfigBackendDHCPv4::deleteAllServers4, backend_selector));
The IOAddress class represents an IP addresses (version agnostic)
Server selector for associating objects in a database with specific servers.
Maintains a list of ClientClassDef's.
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.
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.
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.
boost::shared_ptr< OptionDescriptor > OptionDescriptorPtr
A pointer to option descriptor.
uint32_t SubnetID
Defines unique IPv4 or IPv6 subnet identifier.
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.
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.