Commit | Line | Data |
---|---|---|
089a7152 BS |
1 | /** @file |
2 | * @brief ODS Service class header. This class represents the ODS service. | |
3 | * | |
4 | * | |
5 | * | |
6 | * @copyright Intra2net AG | |
7 | * @license GPLv2 | |
8 | */ | |
9 | ||
629d8110 BS |
10 | #ifndef ServiceOds_H |
11 | #define ServiceOds_H | |
089a7152 | 12 | |
4de6a9b8 BS |
13 | #include "service.hpp" |
14 | #include "logger.hpp" | |
089a7152 | 15 | |
089a7152 | 16 | #include <boost/shared_ptr.hpp> |
ca5d6889 | 17 | #include <string> |
089a7152 BS |
18 | |
19 | ||
629d8110 | 20 | class ServiceOds : public Service |
089a7152 BS |
21 | { |
22 | ||
23 | private: | |
24 | ||
25 | friend class boost::serialization::access; | |
26 | template<class Archive> | |
ca5d6889 BS |
27 | void serialize(Archive & ar, const unsigned int version) |
28 | { | |
29 | ar & boost::serialization::base_object<Service>(*this); | |
30 | } | |
089a7152 | 31 | |
6650af14 BS |
32 | std::string UpdateServer; |
33 | std::string Port; | |
34 | ||
089a7152 BS |
35 | public: |
36 | ||
629d8110 | 37 | typedef boost::shared_ptr<ServiceOds> Ptr; |
089a7152 | 38 | |
629d8110 | 39 | ServiceOds(); |
089a7152 | 40 | |
4553e833 | 41 | ServiceOds(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); |
089a7152 | 42 | |
629d8110 | 43 | ~ServiceOds(); |
089a7152 | 44 | |
d008afbe | 45 | UpdateErrorCode perform_update(const std::string& ip); |
089a7152 BS |
46 | }; |
47 | ||
48 | #endif |