Started with boost/serialization error handling.
[bpdyndnsd] / src / serviceholder.cpp
CommitLineData
6beab33f
BS
1/** @file
2 * @brief Serviceholder class implementation. This class holds Service objects in a list for serialization.
3 *
4 *
5 *
6 * @copyright Intra2net AG
7 * @license GPLv2
8*/
9
10#include "serviceholder.h"
11
12using namespace std;
13
14
15/**
16 * Default constructor. Invoked on serialization and deserialization.
17 */
18Serviceholder::Serviceholder()
19{
20}
21
22
23/**
24 * Default destructor. While serializing and deserializing we use boost/shared_ptr, the resources are managed correctly.
25 */
26Serviceholder::~Serviceholder()
27{
28}
29
30
31/**
32 * Serialize function needed by boost/serialization to define which members should be stored as the object state.
33 * In this case the STL list of Service pointers will be serialized.
34 * @param ar Archive
35 * @param version Version
36 */
37template<class Archive>
38void Serviceholder::serialize(Archive & ar, const unsigned int version)
39{
40 ar & Hold_services;
41}
42
43
44/**
45 * Add Service * to internal list.
46 * @param service Pointer to Service object.
47 */
2e956a36 48void Serviceholder::add_service(ServicePtr service)
6beab33f
BS
49{
50 Hold_services.push_back(service);
51}
52
53
54/**
55 * Needed after deserialization to get the valid list of Service* back.
56 * @return The list of Service*.
57 */
2e956a36 58std::list<ServicePtr> Serviceholder::get_hold_services()
6beab33f
BS
59{
60 return Hold_services;
61}