20 const std::string& subnet_prefix)
const {
22 getPropertyPtrConst<Subnet4Ptr, const std::string&>
24 subnet, subnet_prefix);
33 getPropertyPtrConst<Subnet4Ptr, const SubnetID&>
43 getAllPropertiesConst<Subnet4Collection>
52 const boost::posix_time::ptime& modification_time)
const {
54 getMultiplePropertiesConst<Subnet4Collection, const boost::posix_time::ptime&>
56 subnets, modification_time);
63 const std::string& name)
const {
65 getPropertyPtrConst<SharedNetwork4Ptr, const std::string&>
67 shared_network, name);
68 return (shared_network);
75 getAllPropertiesConst<SharedNetwork4Collection>
78 return (shared_networks);
85 const boost::posix_time::ptime& modification_time)
const {
87 getMultiplePropertiesConst<SharedNetwork4Collection, const boost::posix_time::ptime&>
89 shared_networks, modification_time);
90 return (shared_networks);
97 const std::string& space)
const {
99 getPropertyPtrConst<OptionDefinitionPtr, uint16_t, const std::string&>
101 option_def, code, space);
109 getAllPropertiesConst<OptionDefContainer>
112 return (option_defs);
118 const boost::posix_time::ptime& modification_time)
const {
120 getMultiplePropertiesConst<OptionDefContainer, const boost::posix_time::ptime&>
122 option_defs, modification_time);
123 return (option_defs);
130 const std::string& space)
const {
132 getPropertyPtrConst<OptionDescriptorPtr, uint16_t, const std::string&>
134 option, code, space);
142 getAllPropertiesConst<OptionContainer>
151 const boost::posix_time::ptime& modification_time)
const {
153 getMultiplePropertiesConst<OptionContainer, const boost::posix_time::ptime&>
155 options, modification_time);
162 const std::string& name)
const {
164 getPropertyPtrConst<StampedValuePtr, const std::string&>
166 server_selector, parameter, name);
174 getAllPropertiesConst<StampedValueCollection>
176 server_selector, parameters);
184 const boost::posix_time::ptime& modification_time)
const {
186 getMultiplePropertiesConst<StampedValueCollection, const boost::posix_time::ptime&>
188 server_selector, parameters, modification_time);
196 createUpdateDeleteProperty<void, const Subnet4Ptr&>
198 server_selector, subnet);
205 createUpdateDeleteProperty<void, const SharedNetwork4Ptr&>
207 server_selector, shared_network);
214 createUpdateDeleteProperty<void, const OptionDefinitionPtr&>
216 server_selector, option_def);
223 createUpdateDeleteProperty<void, const OptionDescriptorPtr&>
225 server_selector, option);
231 const std::string& shared_network_name,
233 createUpdateDeleteProperty<void, const std::string&, const OptionDescriptorPtr&>
235 server_selector, shared_network_name, option);
244 createUpdateDeleteProperty<void, const SubnetID&, const OptionDescriptorPtr&>
246 server_selector, subnet_id, option);
258 server_selector, pool_start_address, pool_end_address, option);
265 createUpdateDeleteProperty<void, const StampedValuePtr&>
267 server_selector, value);
273 const std::string& subnet_prefix) {
274 return (createUpdateDeleteProperty<uint64_t, const std::string&>
283 return (createUpdateDeleteProperty<uint64_t, const SubnetID&>
291 return (createUpdateDeleteProperty<uint64_t>
298 const std::string& name) {
299 return (createUpdateDeleteProperty<uint64_t, const std::string&>
301 server_selector, name));
307 return (createUpdateDeleteProperty<uint64_t>
315 const std::string& space) {
316 return (createUpdateDeleteProperty<uint64_t, uint16_t, const std::string&>
318 server_selector, code, space));
324 return (createUpdateDeleteProperty<uint64_t>
332 const std::string& space) {
333 return (createUpdateDeleteProperty<uint64_t, uint16_t, const std::string&>
341 const std::string& shared_network_name,
343 const std::string& space) {
347 shared_network_name, code, space));
355 const std::string& space) {
356 return (createUpdateDeleteProperty<uint64_t, const SubnetID&, uint16_t, const std::string&>
358 subnet_id, code, space));
367 const std::string& space) {
369 uint16_t,
const std::string&>
371 pool_start_address, pool_end_address, code, space));
377 const std::string& name) {
378 return (createUpdateDeleteProperty<uint64_t, const std::string&>
380 server_selector, name));
386 return (createUpdateDeleteProperty<uint64_t>
The IOAddress class represents an IP addresses (version agnostic)
ReturnValue createUpdateDeleteProperty(ReturnValue(ConfigBackendType::*MethodPointer)(const db::ServerSelector &, FnPtrArgs...), const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, Args... input)
Add, update or delete property from the backend.
Server selector for associating objects in a database with specific servers.
virtual data::StampedValueCollection getModifiedGlobalParameters4(const db::ServerSelector &selector, const boost::posix_time::ptime &modification_time) const =0
Retrieves global parameters modified after specified time.
virtual uint64_t deleteAllGlobalParameters4(const db::ServerSelector &server_selector)=0
Deletes all global parameters.
virtual uint64_t deleteGlobalParameter4(const db::ServerSelector &server_selector, const std::string &name)=0
Deletes global parameter.
virtual OptionDefContainer getAllOptionDefs4(const db::ServerSelector &server_selector) const =0
Retrieves all option definitions.
virtual void createUpdateOptionDef4(const db::ServerSelector &server_selector, const OptionDefinitionPtr &option_def)=0
Creates or updates an option definition.
virtual OptionDefinitionPtr getOptionDef4(const db::ServerSelector &server_selector, const uint16_t code, const std::string &space) const =0
Retrieves single option definition by code and space.
virtual Subnet4Collection getAllSubnets4(const db::ServerSelector &server_selector) const =0
Retrieves all subnets.
virtual OptionContainer getModifiedOptions4(const db::ServerSelector &selector, const boost::posix_time::ptime &modification_time) const =0
Retrieves option modified after specified time.
virtual SharedNetwork4Collection getModifiedSharedNetworks4(const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const =0
Retrieves shared networks modified after specified time.
virtual SharedNetwork4Ptr getSharedNetwork4(const db::ServerSelector &server_selector, const std::string &name) const =0
Retrieves shared network by name.
virtual OptionDescriptorPtr getOption4(const db::ServerSelector &server_selector, const uint16_t code, const std::string &space) const =0
Retrieves single option by code and space.
virtual uint64_t deleteAllOptionDefs4(const db::ServerSelector &server_selector)=0
Deletes all option definitions.
virtual uint64_t deleteAllSharedNetworks4(const db::ServerSelector &server_selector)=0
Deletes all shared networks.
virtual void createUpdateSubnet4(const db::ServerSelector &server_selector, const Subnet4Ptr &subnet)=0
Creates or updates a subnet.
virtual uint64_t deleteOption4(const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)=0
Deletes global option.
virtual void createUpdateGlobalParameter4(const db::ServerSelector &server_selector, const data::StampedValuePtr &value)=0
Creates or updates global parameter.
virtual void createUpdateSharedNetwork4(const db::ServerSelector &server_selector, const SharedNetwork4Ptr &shared_network)=0
Creates or updates a shared network.
virtual Subnet4Ptr getSubnet4(const db::ServerSelector &server_selector, const std::string &subnet_prefix) const =0
Retrieves a single subnet by subnet_prefix.
virtual data::StampedValueCollection getAllGlobalParameters4(const db::ServerSelector &selector) const =0
virtual uint64_t deleteSubnet4(const db::ServerSelector &server_selector, const std::string &subnet_prefix)=0
Deletes subnet by prefix.
virtual uint64_t deleteOptionDef4(const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)=0
Deletes option definition.
virtual OptionContainer getAllOptions4(const db::ServerSelector &server_selector) const =0
Retrieves all global options.
virtual data::StampedValuePtr getGlobalParameter4(const db::ServerSelector &selector, const std::string &name) const =0
Retrieves global parameter value.
virtual SharedNetwork4Collection getAllSharedNetworks4(const db::ServerSelector &server_selector) const =0
Retrieves all shared networks.
virtual uint64_t deleteSharedNetwork4(const db::ServerSelector &server_selector, const std::string &name)=0
Deletes shared network by name.
virtual Subnet4Collection getModifiedSubnets4(const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const =0
Retrieves subnets modified after specified time.
virtual void createUpdateOption4(const db::ServerSelector &server_selector, const OptionDescriptorPtr &option)=0
Creates or updates global option.
virtual OptionDefContainer getModifiedOptionDefs4(const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const =0
Retrieves option definitions modified after specified time.
virtual uint64_t deleteAllSubnets4(const db::ServerSelector &server_selector)=0
Deletes all subnets.
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 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 deleteSharedNetwork4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name)
Deletes shared network by name.
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 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 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 uint64_t deleteSubnet4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &subnet_prefix)
Deletes subnet by prefix.
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 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 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 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.
boost::shared_ptr< StampedValue > StampedValuePtr
Pointer to the stamped value.
std::vector< StampedValuePtr > StampedValueCollection
Collection of pointers to values.
boost::multi_index_container< SharedNetwork4Ptr, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag< SharedNetworkRandomAccessIndexTag > >, 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 > > > > SharedNetwork4Collection
Multi index container holding shared networks.
boost::shared_ptr< Subnet4 > Subnet4Ptr
A pointer to a Subnet4 object.
boost::shared_ptr< OptionDefinition > OptionDefinitionPtr
Pointer to option definition object.
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_ > > > > OptionContainer
Multi index container for DHCP option descriptors.
boost::shared_ptr< OptionDescriptor > OptionDescriptorPtr
A pointer to option descriptor.
uint32_t SubnetID
Unique identifier for a subnet (both v4 and v6)
boost::multi_index_container< Subnet4Ptr, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag< SubnetRandomAccessIndexTag > >, 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 > > > > Subnet4Collection
A collection of Subnet4 objects.
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 > > > > OptionDefContainer
Multi index container for DHCP option definitions.
boost::shared_ptr< SharedNetwork4 > SharedNetwork4Ptr
Pointer to SharedNetwork4 object.
Defines the logger used by the top-level component of kea-dhcp-ddns.