From d485c8e76758c68ce55e9554d339eaf715ae7bca Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Wed, 26 Jun 2013 21:45:29 +0900 Subject: Rewrite AuthConfig objects using std::unique_ptr --- src/NetrcAuthResolver.cc | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'src/NetrcAuthResolver.cc') diff --git a/src/NetrcAuthResolver.cc b/src/NetrcAuthResolver.cc index 04fcc9c1..593fd81e 100644 --- a/src/NetrcAuthResolver.cc +++ b/src/NetrcAuthResolver.cc @@ -35,42 +35,44 @@ #include "NetrcAuthResolver.h" #include "AuthConfig.h" #include "Netrc.h" +#include "a2functional.h" namespace aria2 { -NetrcAuthResolver::NetrcAuthResolver():ignoreDefault_(false) {} +NetrcAuthResolver::NetrcAuthResolver() + : netrc_(nullptr), ignoreDefault_(false) {} -std::shared_ptr +std::unique_ptr NetrcAuthResolver::resolveAuthConfig(const std::string& hostname) { - if(!getUserDefinedAuthConfig()) { - return findNetrcAuthenticator(hostname); + auto authConfig = getUserDefinedAuthConfig(); + if(authConfig) { + return authConfig; } else { - return getUserDefinedAuthConfig(); + return findNetrcAuthenticator(hostname); } } -std::shared_ptr +std::unique_ptr NetrcAuthResolver::findNetrcAuthenticator(const std::string& hostname) const { if(!netrc_) { return getDefaultAuthConfig(); } else { - std::shared_ptr auth = netrc_->findAuthenticator(hostname); + auto auth = netrc_->findAuthenticator(hostname); if(!auth) { return getDefaultAuthConfig(); } else { if(ignoreDefault_ && auth->getMachine().empty()) { return getDefaultAuthConfig(); } else { - return std::shared_ptr - (new AuthConfig(auth->getLogin(), auth->getPassword())); + return make_unique(auth->getLogin(), auth->getPassword()); } } } } -void NetrcAuthResolver::setNetrc(const std::shared_ptr& netrc) +void NetrcAuthResolver::setNetrc(Netrc* netrc) { netrc_ = netrc; } -- cgit