/** @file * @brief Serviceholder class header. This class holds Service and OldService lists. * * * * @copyright Intra2net AG * @license GPLv2 */ #ifndef SERVICEHOLDER_H #define SERVICEHOLDER_H #include "service.hpp" #include "serializeservicecontainer.hpp" #include "logger.hpp" #include "ip_addr_helper.hpp" #include #include class Serviceholder { private: Logger::Ptr Log; std::list OldServices; // Represents all old Services where the timeout isn't expired (in case the same Service is redefined). std::list Services; // Represents all active Services. IPAddrHelper::Ptr IPAddrHelp; public: typedef boost::shared_ptr Ptr; Serviceholder(); Serviceholder(Logger::Ptr _log); ~Serviceholder(); void add_service(Service::Ptr service); int deserialize_services(); int serialize_services() const; void delete_services(); void set_ip_addr_helper(IPAddrHelper::Ptr _ip_addr_helper); IPAddrHelper::Ptr get_ip_addr_helper() const; std::list get_services() const; }; #endif