/** @file * @brief ZONEEDIT Service class header. This class represents the ZONEEDIT service. * * * * @copyright Intra2net AG * @license GPLv2 */ #ifndef ServiceZoneedit_H #define ServiceZoneedit_H #include "service.h" #include "logger.h" #include "httphelper.h" #include #include class ServiceZoneedit : 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; public: typedef boost::shared_ptr Ptr; ServiceZoneedit(); ServiceZoneedit(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 dns_cache_ttl, const std::string& proxy, const int proxy_port); ~ServiceZoneedit(); int perform_update(const std::string& ip); }; #endif