summaryrefslogtreecommitdiff
path: root/src/NetrcAuthResolver.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-06-26 21:45:29 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-06-26 21:45:29 +0900
commitd485c8e76758c68ce55e9554d339eaf715ae7bca (patch)
tree51ecc085110b4598159f980105f51eb87eaeceb0 /src/NetrcAuthResolver.cc
parenta4cf50914dc5c5ca1a363b9f63a34eeb3c17cee4 (diff)
Rewrite AuthConfig objects using std::unique_ptr
Diffstat (limited to 'src/NetrcAuthResolver.cc')
-rw-r--r--src/NetrcAuthResolver.cc22
1 files changed, 12 insertions, 10 deletions
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<AuthConfig>
+std::unique_ptr<AuthConfig>
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<AuthConfig>
+std::unique_ptr<AuthConfig>
NetrcAuthResolver::findNetrcAuthenticator(const std::string& hostname) const
{
if(!netrc_) {
return getDefaultAuthConfig();
} else {
- std::shared_ptr<Authenticator> 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<AuthConfig>
- (new AuthConfig(auth->getLogin(), auth->getPassword()));
+ return make_unique<AuthConfig>(auth->getLogin(), auth->getPassword());
}
}
}
}
-void NetrcAuthResolver::setNetrc(const std::shared_ptr<Netrc>& netrc)
+void NetrcAuthResolver::setNetrc(Netrc* netrc)
{
netrc_ = netrc;
}