Get rid of the compiler warning about strict aliasing rule.
[bpdyndnsd] / src / service_dyns.h
CommitLineData
089a7152
BS
1/** @file
2 * @brief DYNS Service class header. This class represents the DYNS service.
3 *
4 *
5 *
6 * @copyright Intra2net AG
7 * @license GPLv2
8*/
9
629d8110
BS
10#ifndef ServiceDyns_H
11#define ServiceDyns_H
089a7152
BS
12
13#include <string>
14
15#include "service.h"
16#include "logger.h"
17
18#include <boost/serialization/array.hpp>
19#include <boost/shared_ptr.hpp>
20#include <list>
21
629d8110 22class ServiceDyns : public Service
089a7152
BS
23{
24
25private:
26
27 friend class boost::serialization::access;
28 template<class Archive>
29 void serialize(Archive & ar, const unsigned int version);
30
31 std::string BaseUrl;
32
33 HTTPHelper::Ptr HTTPHelp;
34
35 std::string assemble_base_url(const std::string& fqhn, const std::string& username, const std::string& password) const;
36
089a7152
BS
37public:
38
629d8110 39 typedef boost::shared_ptr<ServiceDyns> Ptr;
089a7152 40
629d8110 41 ServiceDyns();
089a7152 42
629d8110 43 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 dns_cache_ttl, const std::string& proxy, const int proxy_port);
089a7152 44
629d8110 45 ~ServiceDyns();
089a7152
BS
46
47 int perform_update(const std::string& ip);
48};
49
50#endif