Fix 'occurred' typo
[bpdyndnsd] / src / serializeservicecontainer.hpp
1 /** @file
2  * @brief SerializeServiceContainer class header. This class holds Service objects in a list for serialization.
3  *
4  *
5  *
6  * @copyright Intra2net AG
7  * @license GPLv2
8 */
9
10 #ifndef SERIALIZESERVICECONTAINER_H
11 #define SERIALIZESERVICECONTAINER_H
12
13 #include "service.hpp"
14 #include "logger.hpp"
15
16 #include <boost/serialization/list.hpp>
17 #include <boost/serialization/vector.hpp>
18 #include <boost/serialization/map.hpp>
19 #include <boost/serialization/shared_ptr.hpp>
20 #include <boost/serialization/export.hpp>
21
22 #include <boost/shared_ptr.hpp>
23 #include <list>
24
25 #include "service_dhs.hpp"
26 #include "service_ods.hpp"
27 #include "service_dyndns.hpp"
28 #include "service_dyns.hpp"
29 #include "service_easydns.hpp"
30 #include "service_tzo.hpp"
31 #include "service_zoneedit.hpp"
32 #include "service_gnudip.hpp"
33 #include "service_gnudip_fullhostname.hpp"
34
35
36 class SerializeServiceContainer
37 {
38
39 private:
40
41     std::list<Service::Ptr> ContainingServices;
42
43     friend class boost::serialization::access;
44     template<class Archive>
45     void serialize(Archive & ar, const unsigned int version)
46     {
47         ar & ContainingServices;
48     }
49
50 public:
51
52     typedef boost::shared_ptr<SerializeServiceContainer> Ptr;
53
54     SerializeServiceContainer();
55
56     ~SerializeServiceContainer();
57
58     void add_service(Service::Ptr service);
59
60     std::list<Service::Ptr> get_containing_services() const;
61
62 };
63
64 #endif