7 #ifndef BASE_HOST_DATA_SOURCE_H 8 #define BASE_HOST_DATA_SOURCE_H 13 #include <boost/shared_ptr.hpp> 92 const uint8_t* identifier_begin,
93 const size_t identifier_len)
const = 0;
119 const uint8_t* identifier_begin,
120 const size_t identifier_len)
const = 0;
155 const uint8_t* identifier_begin,
156 const size_t identifier_len)
const = 0;
213 const uint8_t* identifier_begin,
const size_t identifier_len) = 0;
228 const uint8_t* identifier_begin,
const size_t identifier_len) = 0;
235 virtual std::string
getType()
const = 0;
259 #endif // BASE_HOST_DATA_SOURCE_H
virtual std::string getType() const =0
Return backend type.
boost::shared_ptr< Host > HostPtr
Pointer to the Host object.
IdType
Specifies the type of an identifier.
boost::shared_ptr< BaseHostDataSource > HostDataSourcePtr
HostDataSource pointer.
virtual const char * what() const
Returns a C-style character string of the cause of the exception.
virtual bool del4(const SubnetID &subnet_id, const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len)=0
Attempts to delete a host by (subnet-id4, identifier, identifier-type)
A generic exception that is thrown if a parameter given to a method is considered invalid in that con...
virtual bool del(const SubnetID &subnet_id, const asiolink::IOAddress &addr)=0
Attempts to delete a host by (subnet-id, address)
DuplicateHost(const char *file, size_t line, const char *what)
std::vector< ConstHostPtr > ConstHostCollection
Collection of the const Host objects.
virtual ConstHostCollection getAll4(const asiolink::IOAddress &address) const =0
Returns a collection of hosts using the specified IPv4 address.
boost::shared_ptr< const Host > ConstHostPtr
Const pointer to the Host object.
virtual ConstHostCollection getAll(const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len) const =0
Return all hosts connected to any subnet for which reservations have been made using a specified iden...
virtual void rollback()
Rollback Transactions.
virtual ConstHostPtr get4(const SubnetID &subnet_id, const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len) const =0
Returns a host connected to the IPv4 subnet.
virtual bool del6(const SubnetID &subnet_id, const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len)=0
Attempts to delete a host by (subnet-id6, identifier, identifier-type)
This is a base class for exceptions thrown from the DNS library module.
Defines the logger used by the top-level component of kea-dhcp-ddns.
virtual ConstHostPtr get6(const SubnetID &subnet_id, const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len) const =0
Returns a host connected to the IPv6 subnet.
ReservedAddress(const char *file, size_t line, const char *what)
Exception thrown when the duplicate Host object is detected.
virtual void commit()
Commit Transactions.
Base interface for the classes implementing simple data source for host reservations.
std::vector< HostDataSourcePtr > HostDataSourceList
HostDataSource list.
virtual ~BaseHostDataSource()
Default destructor implementation.
Exception thrown when invalid IP address has been specified for Host.
BadHostAddress(const char *file, size_t line, const char *what)
IdentifierType
Type of the host identifier.
The IOAddress class represents an IP addresses (version agnostic)
virtual void add(const HostPtr &host)=0
Adds a new host to the collection.
Exception thrown when an address is already reserved by a Host object (DuplicateHost is same identity...
uint32_t SubnetID
Unique identifier for a subnet (both v4 and v6)