diff options
author | Remko Tronçon <git@el-tramo.be> | 2009-11-20 21:14:01 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2009-11-20 21:25:03 (GMT) |
commit | c84fb752cc881dfca9727b69fcdb3230830b7cc4 (patch) | |
tree | ede286a20ccf8daf109f2d1b03c610d6d97f9b8a /Swiften/SASL/ClientAuthenticator.h | |
parent | 8149107ade43f9c9fff8fe134f1bce5b5e8b2234 (diff) | |
download | swift-contrib-c84fb752cc881dfca9727b69fcdb3230830b7cc4.zip swift-contrib-c84fb752cc881dfca9727b69fcdb3230830b7cc4.tar.bz2 |
Abstracting authenticators.
Diffstat (limited to 'Swiften/SASL/ClientAuthenticator.h')
-rw-r--r-- | Swiften/SASL/ClientAuthenticator.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Swiften/SASL/ClientAuthenticator.h b/Swiften/SASL/ClientAuthenticator.h new file mode 100644 index 0000000..f42a51e --- /dev/null +++ b/Swiften/SASL/ClientAuthenticator.h @@ -0,0 +1,43 @@ +#pragma once + +#include "Swiften/Base/String.h" +#include "Swiften/Base/ByteArray.h" + +namespace Swift { + class ClientAuthenticator { + public: + ClientAuthenticator(const String& name); + virtual ~ClientAuthenticator(); + + const String& getName() const { + return name; + } + + void setCredentials(const String& authcid, const String& password, const String& authzid = String()) { + this->authcid = authcid; + this->password = password; + this->authzid = authzid; + } + + virtual ByteArray getResponse() const = 0; + virtual bool setChallenge(const ByteArray&) = 0; + + const String& getAuthenticationID() const { + return authcid; + } + + const String& getAuthorizationID() const { + return authzid; + } + + const String& getPassword() const { + return password; + } + + private: + String name; + String authcid; + String password; + String authzid; + }; +} |