;
// Define valid command line parameters
- Opt_desc_cmd = new po::options_description("Command line options");
+ Options_descriptionPtr _opt_desc_cmd(new po::options_description("Command line options"));
+ Opt_desc_cmd = _opt_desc_cmd;
+ _opt_desc_cmd.reset();
Opt_desc_cmd->add(opt_desc_cmd_only);
Opt_desc_cmd->add(opt_desc_generic);
Opt_desc_cmd->add(opt_desc_service);
// Define valid config file options
- Opt_desc_conf_main = new po::options_description("Config file options");
+ Options_descriptionPtr _opt_desc_conf_main(new po::options_description("Config file options"));
+ Opt_desc_conf_main = _opt_desc_conf_main;
+ _opt_desc_conf_main.reset();
Opt_desc_conf_main->add(opt_desc_generic);
// Define valid service file options
- Opt_desc_conf_service = new po::options_description("Service file options");
+ Options_descriptionPtr _opt_desc_conf_service(new po::options_description("Service file options"));
+ Opt_desc_conf_service = _opt_desc_conf_service;
+ _opt_desc_conf_service.reset();
Opt_desc_conf_service->add(opt_desc_service);
}
*/
Config::~Config()
{
- delete Opt_desc_cmd;
- delete Opt_desc_conf_main;
- delete Opt_desc_conf_service;
}
* Getter method for member Opt_desc_cmd.
* @return options_description*.
*/
-po::options_description* Config::get_opt_desc_cmd()
+Options_descriptionPtr Config::get_opt_desc_cmd()
{
return Opt_desc_cmd;
}
* Getter method for member Opt_desc_conf_main.
* @return options_description*.
*/
-po::options_description* Config::get_opt_desc_conf_main()
+Options_descriptionPtr Config::get_opt_desc_conf_main()
{
return Opt_desc_conf_main;
}
* Getter method for member Opt_desc_conf_service.
* @return options_description*.
*/
-po::options_description* Config::get_opt_desc_conf_service()
+Options_descriptionPtr Config::get_opt_desc_conf_service()
{
return Opt_desc_conf_service;
}
typedef boost::shared_ptr<Service> ServicePtr;
typedef boost::shared_ptr<Logger> LoggerPtr;
typedef boost::shared_ptr<Serviceholder> ServiceholderPtr;
+typedef boost::shared_ptr<boost::program_options::options_description> Options_descriptionPtr;
class Config
{
private:
- boost::program_options::options_description *Opt_desc_cmd;
- boost::program_options::options_description *Opt_desc_conf_main;
- boost::program_options::options_description *Opt_desc_conf_service;
+ Options_descriptionPtr Opt_desc_cmd;
+ Options_descriptionPtr Opt_desc_conf_main;
+ Options_descriptionPtr Opt_desc_conf_service;
boost::program_options::variables_map Variables_map;
std::list<ServicePtr> Services;
std::list<ServicePtr> get_services();
- boost::program_options::options_description* get_opt_desc_cmd();
+ Options_descriptionPtr get_opt_desc_cmd();
- boost::program_options::options_description* get_opt_desc_conf_main();
+ Options_descriptionPtr get_opt_desc_conf_main();
- boost::program_options::options_description* get_opt_desc_conf_service();
+ Options_descriptionPtr get_opt_desc_conf_service();
bool get_daemon_mode();