diff options
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