PgSqlConfigBackendDHCPv4::registerBackendType() {
LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_REGISTER_BACKEND_TYPE4);
return (
- dhcp::ConfigBackendDHCPv4Mgr::instance().registerBackendFactory("mysql",
+ dhcp::ConfigBackendDHCPv4Mgr::instance().registerBackendFactory("pgsql",
[](const db::DatabaseConnection::ParameterMap& params) -> dhcp::ConfigBackendDHCPv4Ptr {
+ // Many virtual function still missing
return (dhcp::PgSqlConfigBackendDHCPv4Ptr(new dhcp::PgSqlConfigBackendDHCPv4(params)));
})
);
void
PgSqlConfigBackendDHCPv4::unregisterBackendType() {
LOG_DEBUG(pgsql_cb_logger, DBGLVL_TRACE_BASIC, PGSQL_CB_UNREGISTER_BACKEND_TYPE4);
- dhcp::ConfigBackendDHCPv4Mgr::instance().unregisterBackendFactory("mysql");
+ dhcp::ConfigBackendDHCPv4Mgr::instance().unregisterBackendFactory("pgsql");
}
+void
+PgSqlConfigBackendDHCPv4::createUpdateClientClass4(const db::ServerSelector& server_selector,
+ const ClientClassDefPtr& client_class,
+ const std::string& follow_class_name) {
+ isc_throw(NotImplemented, "Not implemented yet.");
+}
+
+ClientClassDefPtr
+PgSqlConfigBackendDHCPv4::getClientClass4(const db::ServerSelector& selector,
+ const std::string& name) const {
+ isc_throw(NotImplemented, "Not implemented yet.");
+}
+
+ClientClassDictionary
+PgSqlConfigBackendDHCPv4::getAllClientClasses4(const db::ServerSelector& selector) const {
+ isc_throw(NotImplemented, "Not implemented yet.");
+}
+
+ClientClassDictionary
+PgSqlConfigBackendDHCPv4::getModifiedClientClasses4(const db::ServerSelector& selector,
+ const boost::posix_time::ptime& modification_time) const {
+ isc_throw(NotImplemented, "Not implemented yet.");
+}
+
+uint64_t
+PgSqlConfigBackendDHCPv4::deleteClientClass4(const db::ServerSelector& server_selector,
+ const std::string& name) {
+ isc_throw(NotImplemented, "Not implemented yet.");
+}
+
+uint64_t
+PgSqlConfigBackendDHCPv4::deleteAllClientClasses4(const db::ServerSelector& server_selector) {
+ isc_throw(NotImplemented, "Not implemented yet.");
+}
+
+
} // end of namespace isc::dhcp
} // end of namespace isc
virtual void
createUpdateServer4(const db::ServerPtr& server);
+ /// @brief Creates or updates DHCPv4 client class.
+ ///
+ /// @param server_selector Server selector.
+ /// @param client_class Client class to be added or updated.
+ /// @param follow_class_name name of the class after which the
+ /// new or updated class should be positioned. An empty value
+ /// causes the class to be appended at the end of the class
+ /// hierarchy.
+ virtual void
+ createUpdateClientClass4(const db::ServerSelector& server_selector,
+ const ClientClassDefPtr& client_class,
+ const std::string& follow_class_name);
+
/// @brief Deletes subnet by prefix.
///
/// @param server_selector Server selector.
virtual uint64_t
deleteAllGlobalParameters4(const db::ServerSelector& server_selector);
+ /// @brief Retrieves a client class by name.
+ ///
+ /// @param selector Server selector.
+ /// @param name Client class name.
+ /// @return Pointer to the retrieved client class.
+ virtual ClientClassDefPtr
+ getClientClass4(const db::ServerSelector& selector, const std::string& name) const;
+
+ /// @brief Retrieves all client classes.
+ ///
+ /// @param selector Server selector.
+ /// @return Collection of client classes.
+ virtual ClientClassDictionary
+ getAllClientClasses4(const db::ServerSelector& selector) const;
+
+ /// @brief Retrieves client classes modified after specified time.
+ ///
+ /// @param selector Server selector.
+ /// @param modification_time Modification time.
+ /// @return Collection of client classes.
+ virtual ClientClassDictionary
+ getModifiedClientClasses4(const db::ServerSelector& selector,
+ const boost::posix_time::ptime& modification_time) const;
+
+ /// @brief Deletes DHCPv4 client class.
+ ///
+ /// @param server_selector Server selector.
+ /// @param name Name of the class to be deleted.
+ /// @return Number of deleted client classes.
+ virtual uint64_t
+ deleteClientClass4(const db::ServerSelector& server_selector,
+ const std::string& name);
+
+ /// @brief Deletes all client classes.
+ ///
+ /// @param server_selector Server selector.
+ /// @return Number of deleted client classes.
+ virtual uint64_t
+ deleteAllClientClasses4(const db::ServerSelector& server_selector);
+
+
/// @brief Deletes a server from the backend.
///
/// @param server_tag Tag of the server to be deleted.
/// otherwise
virtual bool isUnusable();
+
+
protected:
/// @brief Pointer to the implementation of the @c PgSqlConfigBackendDHCPv4