2 * @brief SerializeServiceContainer class implementation. This class contains Service objects in a list for serialization.
6 * @copyright Intra2net AG
10 #include "serializeservicecontainer.hpp"
12 // Following boost macros are needed for serialization of derived classes through a base class pointer (Service *).
13 BOOST_CLASS_EXPORT_GUID(ServiceOds, "ServiceOds")
14 BOOST_CLASS_EXPORT_GUID(ServiceDhs, "ServiceDhs")
15 BOOST_CLASS_EXPORT_GUID(ServiceDyns, "ServiceDyns")
16 BOOST_CLASS_EXPORT_GUID(ServiceDyndns, "ServiceDyndns")
17 BOOST_CLASS_EXPORT_GUID(ServiceEasydns, "ServiceEasydns")
18 BOOST_CLASS_EXPORT_GUID(ServiceTzo, "ServiceTzo")
19 BOOST_CLASS_EXPORT_GUID(ServiceZoneedit, "ServiceZoneedit")
20 BOOST_CLASS_EXPORT_GUID(ServiceGnudip, "ServiceGnudip")
21 BOOST_CLASS_EXPORT_GUID(ServiceGnudipFullhostname, "ServiceGnudipFullhostname")
24 SerializeServiceContainer::SerializeServiceContainer()
29 SerializeServiceContainer::~SerializeServiceContainer()
34 * Serialize function needed by boost/serialization to define which members should be stored as the object state.
35 * In this case the STL list of Service pointers will be serialized.
37 * @param version Version
40 template<class Archive>
41 void SerializeServiceContainer::serialize(Archive & ar, const unsigned int version)
43 ar & ContainingServices;
47 void SerializeServiceContainer::add_service(Service::Ptr service)
49 ContainingServices.push_back(service);
53 std::list<Service::Ptr> SerializeServiceContainer::get_containing_services() const
55 return ContainingServices;