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-c84fb752cc881dfca9727b69fcdb3230830b7cc4.zip swift-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; +	}; +}  | 
 Swift