Added cmake search for curl.
[bpdyndnsd] / src / serviceholder.h
CommitLineData
6beab33f
BS
1/** @file
2 * @brief Serviceholder 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 SERVICEHOLDER_H
11#define SERVICEHOLDER_H
12
13#include <list>
14
15#include "service.h"
88a594e8 16#include "logger.h"
6beab33f
BS
17
18#include <boost/serialization/array.hpp>
6beab33f
BS
19#include <boost/shared_ptr.hpp>
20
6beab33f
BS
21class Serviceholder
22{
88a594e8 23
6beab33f 24private:
88a594e8 25
025abebb 26 std::list<Service::Ptr> HoldServices;
6beab33f 27
025abebb 28 friend class boost::serialization::access;
6beab33f
BS
29 template<class Archive>
30 void serialize(Archive &, const unsigned int);
31
6beab33f
BS
32public:
33
88a594e8
BS
34 typedef boost::shared_ptr<Serviceholder> Ptr;
35
6beab33f
BS
36 Serviceholder();
37
88a594e8 38 Serviceholder(Logger::Ptr);
6beab33f
BS
39
40 ~Serviceholder();
41
88a594e8 42 void add_service(Service::Ptr);
6beab33f 43
b38684ce 44 std::list<Service::Ptr> get_hold_services() const;
6beab33f
BS
45};
46
47#endif