/** @file * @brief The updater class header. This class represents the updater logic. * * * * @copyright Intra2net AG * @license GPLv2 */ #ifndef UPDATER_H #define UPDATER_H #include "config.hpp" #include "ip_addr_helper.hpp" #include "httphelper.hpp" #include "logger.hpp" #include "serviceholder.hpp" #include class Updater { private: Config::Ptr Conf; IPAddrHelper::Ptr IPAddrHelp; HTTPHelper::Ptr HTTPHelp; Logger::Ptr Log; Serviceholder::Ptr ServiceHolder; public: typedef boost::shared_ptr Ptr; Updater(); ~Updater(); void update_services() const; int init_config_from_cmd(int argc, char *argv[]) const; int init_config_from_files() const; Config::Ptr get_config() const; Logger::Ptr get_logger() const; Serviceholder::Ptr get_service_holder() const; int load_config(int argc, char *argv[]); int reload_config(); int init_helper_classes(); void init_log_facility() const; int init_ip_helper(); int init_http_helper(); }; #endif