Fix 'occurred' typo
[bpdyndnsd] / src / serializeservicecontainer.hpp
CommitLineData
e0080b78
BS
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
4de6a9b8
BS
13#include "service.hpp"
14#include "logger.hpp"
e0080b78 15
ca5d6889 16#include <boost/serialization/list.hpp>
c1b8cb79 17#include <boost/serialization/vector.hpp>
4553e833 18#include <boost/serialization/map.hpp>
ca5d6889
BS
19#include <boost/serialization/shared_ptr.hpp>
20#include <boost/serialization/export.hpp>
21
e0080b78 22#include <boost/shared_ptr.hpp>
ca5d6889
BS
23#include <list>
24
4de6a9b8
BS
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"
ca28857e 33#include "service_gnudip_fullhostname.hpp"
ca5d6889 34
e0080b78
BS
35
36class SerializeServiceContainer
37{
38
39private:
40
41 std::list<Service::Ptr> ContainingServices;
42
43 friend class boost::serialization::access;
44 template<class Archive>
ca5d6889
BS
45 void serialize(Archive & ar, const unsigned int version)
46 {
47 ar & ContainingServices;
48 }
e0080b78
BS
49
50public:
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