From 4dfdba680def364d6096a147a72a562edc978188 Mon Sep 17 00:00:00 2001 From: Bjoern Sikora Date: Fri, 18 Sep 2009 10:19:43 +0200 Subject: [PATCH] Improved shared_pointer handling. Use swap instead of copy and reset(). --- src/config.cpp | 9 +++------ src/logger.cpp | 2 -- src/main.cpp | 4 +--- src/service_dhs.cpp | 3 +-- src/service_dyndns.cpp | 3 +-- src/service_dyns.cpp | 3 +-- src/service_easydns.cpp | 3 +-- src/service_tzo.cpp | 3 +-- src/service_zoneedit.cpp | 3 +-- src/updater.cpp | 12 ++++-------- 10 files changed, 14 insertions(+), 31 deletions(-) diff --git a/src/config.cpp b/src/config.cpp index 870f1c7..cb9cbf8 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -90,22 +90,19 @@ Config::Config(Logger::Ptr _log, Serviceholder::Ptr _serviceholder) // Define valid command line parameters Options_descriptionPtr _opt_desc_cmd(new po::options_description("Command line options")); - OptDescCmd = _opt_desc_cmd; - _opt_desc_cmd.reset(); + OptDescCmd.swap(_opt_desc_cmd); OptDescCmd->add(opt_desc_cmd_only); OptDescCmd->add(opt_desc_generic); OptDescCmd->add(opt_desc_service); // Define valid config file options Options_descriptionPtr _opt_desc_conf_main(new po::options_description("Config file options")); - OptDescConfMain = _opt_desc_conf_main; - _opt_desc_conf_main.reset(); + OptDescConfMain.swap(_opt_desc_conf_main); OptDescConfMain->add(opt_desc_generic); // Define valid service file options Options_descriptionPtr _opt_desc_conf_service(new po::options_description("Service file options")); - OptDescConfService = _opt_desc_conf_service; - _opt_desc_conf_service.reset(); + OptDescConfService.swap(_opt_desc_conf_service); OptDescConfService->add(opt_desc_service); } diff --git a/src/logger.cpp b/src/logger.cpp index 1b7da66..a1fd53c 100644 --- a/src/logger.cpp +++ b/src/logger.cpp @@ -73,9 +73,7 @@ void Logger::log_warning(const string& msg, int level) const external.append(msg); external.append("\""); if ( system(external.c_str()) != 0 ) - { print_error_external_logging(external); - } } } diff --git a/src/main.cpp b/src/main.cpp index 47fc99c..a2a221f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -281,9 +281,7 @@ int init_daemon_mode(bool daemon_mode) int main(int argc, char *argv[]) { // initialize Updater - Updater::Ptr _updater(new Updater); - updater = _updater; - _updater.reset(); + Updater::Ptr updater(new Updater); // load config and initialize helper classes if ( updater->load_config(argc,argv) != 0 ) diff --git a/src/service_dhs.cpp b/src/service_dhs.cpp index 46c30bf..e98d864 100644 --- a/src/service_dhs.cpp +++ b/src/service_dhs.cpp @@ -58,8 +58,7 @@ ServiceDhs::ServiceDhs(const string& _protocol, const string& _hostname, const s // create http helper class HTTPHelper::Ptr _http_help(new HTTPHelper(_logger,_proxy,_proxy_port,_login,_password)); - HTTPHelp = _http_help; - _http_help.reset(); + HTTPHelp.swap(_http_help); // extract domain part from hostname list host_domain_part = separate_domain_and_host_part(get_hostname()); diff --git a/src/service_dyndns.cpp b/src/service_dyndns.cpp index 2748e66..dd6fee0 100644 --- a/src/service_dyndns.cpp +++ b/src/service_dyndns.cpp @@ -54,8 +54,7 @@ ServiceDyndns::ServiceDyndns(const string& _protocol, const string& _hostname, c // create http helper class HTTPHelper::Ptr _http_help(new HTTPHelper(_logger,_proxy,_proxy_port,_login,_password)); - HTTPHelp = _http_help; - _http_help.reset(); + HTTPHelp.swap(_http_help); BaseUrl = assemble_base_url(get_hostname()); } diff --git a/src/service_dyns.cpp b/src/service_dyns.cpp index b8ad563..d8e9eb8 100644 --- a/src/service_dyns.cpp +++ b/src/service_dyns.cpp @@ -58,8 +58,7 @@ ServiceDyns::ServiceDyns(const string& _protocol, const string& _hostname, const // create http helper class HTTPHelper::Ptr _http_help(new HTTPHelper(_logger,_proxy,_proxy_port)); - HTTPHelp = _http_help; - _http_help.reset(); + HTTPHelp.swap(_http_help); BaseUrl = assemble_base_url(get_hostname(),get_login(),get_password()); } diff --git a/src/service_easydns.cpp b/src/service_easydns.cpp index 9332eb9..b94358a 100644 --- a/src/service_easydns.cpp +++ b/src/service_easydns.cpp @@ -57,8 +57,7 @@ ServiceEasydns::ServiceEasydns(const string& _protocol, const string& _hostname, // create http helper class HTTPHelper::Ptr _http_help(new HTTPHelper(_logger,_proxy,_proxy_port,_login,_password)); - HTTPHelp = _http_help; - _http_help.reset(); + HTTPHelp.swap(_http_help); // extract domain part from hostname list host_domain_part = separate_domain_and_host_part(get_hostname()); diff --git a/src/service_tzo.cpp b/src/service_tzo.cpp index 8ee64bd..71a76c3 100644 --- a/src/service_tzo.cpp +++ b/src/service_tzo.cpp @@ -58,8 +58,7 @@ ServiceTzo::ServiceTzo(const string& _protocol, const string& _hostname, const s // create http helper class HTTPHelper::Ptr _http_help(new HTTPHelper(_logger,_proxy,_proxy_port)); - HTTPHelp = _http_help; - _http_help.reset(); + HTTPHelp.swap(_http_help); BaseUrl = assemble_base_url(get_hostname(),get_login(),get_password()); } diff --git a/src/service_zoneedit.cpp b/src/service_zoneedit.cpp index 61cbaa0..9365529 100644 --- a/src/service_zoneedit.cpp +++ b/src/service_zoneedit.cpp @@ -58,8 +58,7 @@ ServiceZoneedit::ServiceZoneedit(const string& _protocol, const string& _hostnam // create http helper class HTTPHelper::Ptr _http_help(new HTTPHelper(_logger,_proxy,_proxy_port)); - HTTPHelp = _http_help; - _http_help.reset(); + HTTPHelp.swap(_http_help); BaseUrl = assemble_base_url(get_hostname()); } diff --git a/src/updater.cpp b/src/updater.cpp index 7083d84..4a62541 100644 --- a/src/updater.cpp +++ b/src/updater.cpp @@ -45,18 +45,15 @@ Updater::Updater() { // Initialize program wide Logger, at this point we don't know where to log and with which loglevel. Logger::Ptr _log(new Logger); - Log = _log; - _log.reset(); + Log.swap(_log); // initialize Serviceholder Serviceholder::Ptr _serviceholder(new Serviceholder(Log)); - ServiceHolder = _serviceholder; - _serviceholder.reset(); + ServiceHolder.swap(_serviceholder); // initialize Config Config::Ptr _config(new Config(Log,ServiceHolder)); - Conf = _config; - _config.reset(); + Conf.swap(_config); } @@ -186,8 +183,7 @@ int Updater::init_ip_helper() { // initialize IPHelper IPAddrHelper::Ptr _ipaddrhelp(new IPAddrHelper(Log,Conf->get_webcheck_ip_url(),Conf->get_webcheck_ip_url_alt(),Conf->get_enable_ipv6(),Conf->get_proxy(),Conf->get_proxy_port())); - IPAddrHelp = _ipaddrhelp; - _ipaddrhelp.reset(); + IPAddrHelp.swap(_ipaddrhelp); return 0; } -- 1.7.1