diff options
author | Remko Tronçon <git@el-tramo.be> | 2009-11-22 16:46:37 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2009-11-22 16:54:51 (GMT) |
commit | 497dd9b099e5810057ebcd8a3f6755819cfecdef (patch) | |
tree | a65ecc29c3f86d2ed6b6050d4650708abceafa3d /Swiften/Serializer | |
parent | d9ca66fa828e99ec5b4067d954c97d882b9ab8fe (diff) | |
download | swift-497dd9b099e5810057ebcd8a3f6755819cfecdef.zip swift-497dd9b099e5810057ebcd8a3f6755819cfecdef.tar.bz2 |
Added auth success value support.
Diffstat (limited to 'Swiften/Serializer')
-rw-r--r-- | Swiften/Serializer/AuthSuccessSerializer.cpp | 17 | ||||
-rw-r--r-- | Swiften/Serializer/AuthSuccessSerializer.h | 13 |
2 files changed, 20 insertions, 10 deletions
diff --git a/Swiften/Serializer/AuthSuccessSerializer.cpp b/Swiften/Serializer/AuthSuccessSerializer.cpp new file mode 100644 index 0000000..6d7f195 --- /dev/null +++ b/Swiften/Serializer/AuthSuccessSerializer.cpp @@ -0,0 +1,17 @@ +#include "Swiften/Serializer/AuthSuccessSerializer.h" + +#include "Swiften/Elements/AuthSuccess.h" +#include "Swiften/StringCodecs/Base64.h" + +namespace Swift { + +AuthSuccessSerializer::AuthSuccessSerializer() { +} + +String AuthSuccessSerializer::serialize(boost::shared_ptr<Element> element) const { + boost::shared_ptr<AuthSuccess> authRequest(boost::dynamic_pointer_cast<AuthSuccess>(element)); + String value = (authRequest->getValue().isEmpty() ? "=" : Base64::encode(authRequest->getValue())); + return "<success xmlns=\"urn:ietf:params:xml:ns:xmpp-sasl\">" + value + "</challenge>"; +} + +} diff --git a/Swiften/Serializer/AuthSuccessSerializer.h b/Swiften/Serializer/AuthSuccessSerializer.h index 1fdc3ab..6ced772 100644 --- a/Swiften/Serializer/AuthSuccessSerializer.h +++ b/Swiften/Serializer/AuthSuccessSerializer.h @@ -1,22 +1,15 @@ -#ifndef SWIFTEN_AuthSuccessSerializer_H -#define SWIFTEN_AuthSuccessSerializer_H +#pragma once #include <boost/shared_ptr.hpp> #include "Swiften/Elements/AuthSuccess.h" #include "Swiften/Serializer/GenericElementSerializer.h" -#include "Swiften/Serializer/XML/XMLElement.h" namespace Swift { class AuthSuccessSerializer : public GenericElementSerializer<AuthSuccess> { public: - AuthSuccessSerializer() : GenericElementSerializer<AuthSuccess>() { - } + AuthSuccessSerializer(); - virtual String serialize(boost::shared_ptr<Element>) const { - return XMLElement("success", "urn:ietf:params:xml:ns:xmpp-sasl").serialize(); - } + virtual String serialize(boost::shared_ptr<Element> element) const; }; } - -#endif |