/** @file * @brief DYNS Service class header. This class represents the DYNS service. * * * * @copyright Intra2net AG * @license GPLv2 */ #ifndef ServiceDyns_H #define ServiceDyns_H #include "service.hpp" #include "logger.hpp" #include "httphelper.hpp" #include #include class ServiceDyns : public Service { private: friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int version) { ar & boost::serialization::base_object(*this); } std::string BaseUrl; HTTPHelper::Ptr HTTPHelp; std::string assemble_base_url(const std::string& fqhn, const std::string& username, const std::string& password) const; public: typedef boost::shared_ptr Ptr; ServiceDyns(); ServiceDyns(const std::string& _protocol, const std::string& _hostname, const std::string& _login, const std::string& _password, const Logger::Ptr& _logger, const int _update_interval, const int _max_updates_within_interval, const int _max_equal_updates_in_succession, const int dns_cache_ttl, const std::string& proxy, const int proxy_port); ~ServiceDyns(); UpdateErrorCode perform_update(const std::string& ip); }; #endif