/* */ #ifndef _D_AUTH_CONFIG_FACTORY_H_ #define _D_AUTH_CONFIG_FACTORY_H_ #include "common.h" #include #include "SharedHandle.h" #include "SingletonHolder.h" namespace aria2 { class Option; class Netrc; class AuthConfig; class Request; class AuthResolver; class AuthConfigFactory { private: const Option* _option; SharedHandle _netrc; SharedHandle createAuthConfig(const std::string& user, const std::string& password) const; SharedHandle createHttpAuthResolver() const; SharedHandle createFtpAuthResolver() const; public: AuthConfigFactory(const Option* option); ~AuthConfigFactory(); SharedHandle createAuthConfig (const SharedHandle& request) const; void setNetrc(const SharedHandle& netrc); static const std::string ANONYMOUS; static const std::string ARIA2USER_AT; }; typedef SharedHandle AuthConfigFactoryHandle; } // namespace aria2 #endif // _D_AUTH_CONFIG_FACTORY_H_