 |
Kea
1.5.0
|
Go to the documentation of this file.
17 #include <boost/shared_ptr.hpp>
59 const uint8_t* identifier_begin,
const size_t identifier_len)
const;
75 const uint8_t* identifier_begin,
76 const size_t identifier_len);
134 const uint8_t* identifier_begin,
const size_t identifier_len)
const;
148 const uint8_t* identifier_begin,
const size_t identifier_len);
172 const uint8_t* identifier_begin,
const size_t identifier_len)
const;
186 const uint8_t* identifier_begin,
const size_t identifier_len);
264 const uint8_t* identifier_begin,
const size_t identifier_len);
286 const uint8_t* identifier_begin,
const size_t identifier_len);
294 return (std::string(
"configuration file"));
329 template<
typename Storage>
331 const uint8_t* identifier,
332 const size_t identifier_len,
333 Storage& storage)
const;
346 template<
typename Storage>
348 Storage& storage)
const;
361 template<
typename Storage>
363 Storage& storage)
const;
378 template<
typename Storage>
380 getAllInternal6(
const SubnetID& subnet_id,
382 Storage& storage)
const;
401 getHostInternal(
const SubnetID& subnet_id,
const bool subnet6,
403 const uint8_t* identifier,
404 const size_t identifier_len)
const;
419 template<
typename ReturnType,
typename Storage>
420 ReturnType getHostInternal6(
const SubnetID& subnet_id,
423 template<
typename ReturnType>
425 const uint8_t prefix_len)
const;
438 virtual void add4(
const HostPtr& host);
451 virtual void add6(
const HostPtr& host);
492 #endif // CFG_HOSTS_H
IdentifierType
Type of the host identifier.
virtual size_t delAll4(const SubnetID &subnet_id)
Attempts to delete all hosts for a given IPv4 subnet.
Represents the host reservations specified in the configuration file.
The IOAddress class represents an IP addresses (version agnostic)
Abstract class for configuration Cfg_* classes.
boost::shared_ptr< Host > HostPtr
Pointer to the Host object.
virtual void add(const HostPtr &host)
Adds a new host to the collection.
virtual std::string getType() const
Return backend type.
Defines the logger used by the top-level component of kea-dhcp-ddns.
virtual bool del6(const SubnetID &subnet_id, const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len)
Attempts to delete a host by (subnet6-id, identifier, identifier-type)
virtual ConstHostCollection getAll(const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len) const
Return all hosts connected to any subnet for which reservations have been made using a specified iden...
Base interface for the classes implementing simple data source for host reservations.
isc::data::ElementPtr toElement() const
Unparse a configuration object.
virtual size_t delAll6(const SubnetID &subnet_id)
Attempts to delete all hosts for a given IPv6 subnet.
Interface for retrieving writable host reservations.
virtual ConstHostPtr get4(const SubnetID &subnet_id, const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len) const
Returns a host connected to the IPv4 subnet.
virtual bool del4(const SubnetID &subnet_id, const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len)
Attempts to delete a host by (subnet4-id, identifier, identifier-type)
boost::multi_index_container< HostPtr, boost::multi_index::indexed_by< boost::multi_index::ordered_non_unique< boost::multi_index::composite_key< Host, boost::multi_index::const_mem_fun< Host, const std::vector< uint8_t > &, &Host::getIdentifier >, boost::multi_index::const_mem_fun< Host, Host::IdentifierType, &Host::getIdentifierType > > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< Host, const asiolink::IOAddress &, &Host::getIPv4Reservation > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< Host, SubnetID, &Host::getIPv4SubnetID > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< Host, SubnetID, &Host::getIPv6SubnetID > > >> HostContainer
Multi-index container holding host reservations.
std::vector< ConstHostPtr > ConstHostCollection
Collection of the const Host objects.
boost::shared_ptr< const Host > ConstHostPtr
Const pointer to the Host object.
virtual ~CfgHosts()
Destructor.
boost::shared_ptr< Element > ElementPtr
boost::multi_index_container< HostResrv6Tuple, boost::multi_index::indexed_by< boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< HostResrv6Tuple, const asiolink::IOAddress &, &HostResrv6Tuple::getKey > >, boost::multi_index::ordered_unique< boost::multi_index::composite_key< HostResrv6Tuple, boost::multi_index::member< HostResrv6Tuple, const SubnetID, &HostResrv6Tuple::subnet_id_ >, boost::multi_index::const_mem_fun< HostResrv6Tuple, const asiolink::IOAddress &, &HostResrv6Tuple::getKey > > >, boost::multi_index::ordered_non_unique< boost::multi_index::member< HostResrv6Tuple, const SubnetID, &HostResrv6Tuple::subnet_id_ > > >> HostContainer6
Multi-index container holding IPv6 reservations.
uint32_t SubnetID
Unique identifier for a subnet (both v4 and v6)
boost::shared_ptr< CfgHosts > CfgHostsPtr
Non-const pointer.
virtual bool del(const SubnetID &subnet_id, const asiolink::IOAddress &addr)
Attempts to delete a host by address.
virtual ConstHostPtr get6(const SubnetID &subnet_id, const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len) const
Returns a host connected to the IPv6 subnet.
boost::shared_ptr< const CfgHosts > ConstCfgHostsPtr
Const pointer.
virtual ConstHostCollection getAll6(const asiolink::IOAddress &address) const
Returns a collection of hosts using the specified IPv6 address.
virtual ConstHostCollection getAll4(const asiolink::IOAddress &address) const
Returns a collection of hosts using the specified IPv4 address.
std::vector< HostPtr > HostCollection
Collection of the Host objects.