add new protocol variation "gnudip-fullhostname", used by provider dynu.com
[bpdyndnsd] / src / service_gnudip_fullhostname.hpp
diff --git a/src/service_gnudip_fullhostname.hpp b/src/service_gnudip_fullhostname.hpp
new file mode 100644 (file)
index 0000000..d496ceb
--- /dev/null
@@ -0,0 +1,41 @@
+/** @file
+ * @brief GNUDIP Service class header. This class represents the GNUDIP service.
+ *
+ *
+ *
+ * @copyright Intra2net AG
+ * @license GPLv2
+*/
+
+#ifndef ServiceGnudipFullhostname_H
+#define ServiceGnudipFullhostname_H
+
+#include "service_gnudip.hpp"
+
+class ServiceGnudipFullhostname : public ServiceGnudip
+{
+
+private:
+
+    friend class boost::serialization::access;
+    template<class Archive>
+    void serialize(Archive & ar, const unsigned int version)
+    {
+        ar & boost::serialization::base_object<ServiceGnudip>(*this);
+    }
+
+    std::string assemble_update_url(const std::string& salt, const std::string& curr_time, const std::string& sign, const std::string& secret, const std::string& ip) const;
+
+public:
+
+    typedef boost::shared_ptr<ServiceGnudipFullhostname> Ptr;
+
+    ServiceGnudipFullhostname();
+
+    ServiceGnudipFullhostname(const std::string& _protocol, const std::string& _gnudip_server ,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);
+
+    ~ServiceGnudipFullhostname();
+
+};
+
+#endif