7 #ifndef PGSQL_HOST_DATA_SOURCE_H 8 #define PGSQL_HOST_DATA_SOURCE_H 18 class PgSqlHostDataSourceImpl;
126 const uint8_t* identifier_begin,
const size_t identifier_len);
142 const uint8_t* identifier_begin,
const size_t identifier_len);
159 const uint8_t* identifier_begin,
const size_t identifier_len)
const;
184 const uint8_t* identifier_begin,
const size_t identifier_len)
const;
215 const uint8_t* identifier_begin,
const size_t identifier_len)
const;
243 return (std::string(
"postgresql"));
249 virtual std::string
getName()
const;
271 virtual std::pair<uint32_t, uint32_t>
getVersion()
const;
291 #endif // PGSQL_HOST_DATA_SOURCE_H virtual void add(const HostPtr &host)
Adds a new host to the collection.
boost::shared_ptr< Host > HostPtr
Pointer to the Host object.
virtual std::string getName() const
Returns the name of the open database.
PgSqlHostDataSource(const db::DatabaseConnection::ParameterMap ¶meters)
Constructor.
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 type, identifier)
virtual ConstHostCollection getAll4(const asiolink::IOAddress &address) const
Returns a collection of hosts using the specified IPv4 address.
std::vector< ConstHostPtr > ConstHostCollection
Collection of the const Host objects.
boost::shared_ptr< const Host > ConstHostPtr
Const pointer to the Host object.
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 type, identifier)
virtual ~PgSqlHostDataSource()
Virtual destructor.
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 del(const SubnetID &subnet_id, const asiolink::IOAddress &addr)
Attempts to delete a host by (subnet-id, address)
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...
virtual std::string getDescription() const
Returns description of the backend.
Defines the logger used by the top-level component of kea-dhcp-ddns.
Implementation of the PgSqlHostDataSource.
Base interface for the classes implementing simple data source for host reservations.
virtual void rollback()
Rollback Transactions.
PostgreSQL Host Data Source.
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.
virtual void commit()
Commit Transactions.
IdentifierType
Type of the host identifier.
virtual std::pair< uint32_t, uint32_t > getVersion() const
Returns backend version.
std::map< std::string, std::string > ParameterMap
Database configuration parameter map.
virtual std::string getType() const
Return backend type.
The IOAddress class represents an IP addresses (version agnostic)
uint32_t SubnetID
Unique identifier for a subnet (both v4 and v6)