7 #ifndef WRITABLE_HOST_DATA_SOURCE_H
8 #define WRITABLE_HOST_DATA_SOURCE_H
41 const uint8_t* identifier_begin,
42 const size_t identifier_len) = 0;
114 size_t& source_index,
115 uint64_t lower_host_id,
137 size_t& source_index,
138 uint64_t lower_host_id,
159 uint64_t lower_host_id,
180 uint64_t lower_host_id,
206 const uint8_t* identifier_begin,
const size_t identifier_len) = 0;
220 const uint8_t* identifier_begin,
const size_t identifier_len) = 0;
245 #endif // WRITABLE_HOST_DATA_SOURCE_H
virtual HostPtr get4(const SubnetID &subnet_id, const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len)=0
Returns a host connected to the IPv4 subnet.
Wraps value holding size of the page with host reservations.
boost::shared_ptr< Host > HostPtr
Pointer to the Host object.
virtual HostCollection getAllbyHostname4(const std::string &hostname, const SubnetID &subnet_id)=0
Return all hosts with a hostname in a DHCPv4 subnet.
virtual HostPtr get6(const SubnetID &subnet_id, const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len)=0
Returns a host connected to the IPv6 subnet.
Interface for retrieving writable host reservations.
std::vector< HostPtr > HostCollection
Collection of the Host objects.
virtual HostCollection getAll4(const SubnetID &subnet_id)=0
Returns a collection of hosts in the specified DHCPv4 subnet.
virtual HostCollection getAll(const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len)=0
Non-const version of the getAll const method.
Defines the logger used by the top-level component of kea-dhcp-ddns.
virtual HostCollection getAllbyHostname(const std::string &hostname)=0
Return all hosts with a hostname.
virtual HostCollection getPage4(const SubnetID &subnet_id, size_t &source_index, uint64_t lower_host_id, const HostPageSize &page_size)=0
Returns range of hosts in a DHCPv4 subnet.
virtual ~WritableHostDataSource()
Default destructor implementation.
virtual HostCollection getAllbyHostname6(const std::string &hostname, const SubnetID &subnet_id)=0
Return all hosts with a hostname in a DHCPv6 subnet.
IdentifierType
Type of the host identifier.
The IOAddress class represents an IP addresses (version agnostic)
virtual HostCollection getPage6(const SubnetID &subnet_id, size_t &source_index, uint64_t lower_host_id, const HostPageSize &page_size)=0
Returns range of hosts in a DHCPv6 subnet.
virtual HostCollection getAll6(const SubnetID &subnet_id)=0
Returns a collection of hosts in the specified DHCPv6 subnet.
uint32_t SubnetID
Unique identifier for a subnet (both v4 and v6)