diff options
Diffstat (limited to 'src/Common/AuthBackend.h')
-rw-r--r-- | src/Common/AuthBackend.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/Common/AuthBackend.h b/src/Common/AuthBackend.h index d916d1d..3fe3840 100644 --- a/src/Common/AuthBackend.h +++ b/src/Common/AuthBackend.h @@ -32,17 +32,18 @@ namespace Common { class AuthContext; class AuthManager; +class AuthProvider; class AuthBackend { protected: friend class AuthManager; - virtual const std::vector<std::string>& getMethods() const = 0; - virtual const std::vector<std::string>& getSubMethods(const std::string &method) const throw(Core::Exception) = 0; + virtual const std::string& getMethodName() const = 0; + virtual std::vector<std::string> getSubMethods(boost::shared_ptr<AuthProvider> provider) const = 0; - virtual boost::shared_ptr<AuthContext> authenticate(const std::string& /*method*/, const std::string& /*subMethod*/, - const std::string& /*user*/, const std::vector<boost::uint8_t>& /*data*/, std::vector<boost::uint8_t>& /*response*/, - boost::shared_ptr<AuthContext> /*context*/) throw(Core::Exception) = 0; + virtual boost::shared_ptr<AuthContext> authenticate(boost::shared_ptr<AuthProvider> provider, const std::string &subMethod, + const std::string &user, const std::vector<boost::uint8_t> &data, std::vector<boost::uint8_t> &response, + boost::shared_ptr<AuthContext> context) throw(Core::Exception) = 0; public: virtual ~AuthBackend() {} |