diff options
author | Kevin Smith <git@kismith.co.uk> | 2010-06-20 17:38:19 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2010-06-20 17:38:19 (GMT) |
commit | dfea757fd085ca9386b96db58c5d2bcd6173a917 (patch) | |
tree | 9251fa1b1121fb0f90a569ecc5b31014d7e217b5 /Swiften/Serializer | |
parent | f6635d1eee1235710c61e3fad76a161959185323 (diff) | |
download | swift-dfea757fd085ca9386b96db58c5d2bcd6173a917.zip swift-dfea757fd085ca9386b96db58c5d2bcd6173a917.tar.bz2 |
Show subjects on MUC join.
Resolves: #472
Diffstat (limited to 'Swiften/Serializer')
-rw-r--r-- | Swiften/Serializer/PayloadSerializers/FullPayloadSerializerCollection.cpp | 2 | ||||
-rw-r--r-- | Swiften/Serializer/PayloadSerializers/SubjectSerializer.h | 23 |
2 files changed, 25 insertions, 0 deletions
diff --git a/Swiften/Serializer/PayloadSerializers/FullPayloadSerializerCollection.cpp b/Swiften/Serializer/PayloadSerializers/FullPayloadSerializerCollection.cpp index e407876..39e7d5b 100644 --- a/Swiften/Serializer/PayloadSerializers/FullPayloadSerializerCollection.cpp +++ b/Swiften/Serializer/PayloadSerializers/FullPayloadSerializerCollection.cpp @@ -8,6 +8,7 @@ #include "Swiften/Base/foreach.h" #include "Swiften/Serializer/PayloadSerializer.h" #include "Swiften/Serializer/PayloadSerializers/BodySerializer.h" +#include "Swiften/Serializer/PayloadSerializers/SubjectSerializer.h" #include "Swiften/Serializer/PayloadSerializers/ChatStateSerializer.h" #include "Swiften/Serializer/PayloadSerializers/PrioritySerializer.h" #include "Swiften/Serializer/PayloadSerializers/ErrorSerializer.h" @@ -35,6 +36,7 @@ namespace Swift { FullPayloadSerializerCollection::FullPayloadSerializerCollection() { serializers_.push_back(new BodySerializer()); + serializers_.push_back(new SubjectSerializer()); serializers_.push_back(new ChatStateSerializer()); serializers_.push_back(new PrioritySerializer()); serializers_.push_back(new ErrorSerializer()); diff --git a/Swiften/Serializer/PayloadSerializers/SubjectSerializer.h b/Swiften/Serializer/PayloadSerializers/SubjectSerializer.h new file mode 100644 index 0000000..fcd82a5 --- /dev/null +++ b/Swiften/Serializer/PayloadSerializers/SubjectSerializer.h @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2010 Kevin Smith + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#pragma once + +#include "Swiften/Serializer/GenericPayloadSerializer.h" +#include "Swiften/Serializer/XML/XMLTextNode.h" +#include "Swiften/Elements/Subject.h" + +namespace Swift { + class SubjectSerializer : public GenericPayloadSerializer<Subject> { + public: + SubjectSerializer() : GenericPayloadSerializer<Subject>() {} + + virtual String serializePayload(boost::shared_ptr<Subject> subject) const { + XMLTextNode textNode(subject->getText()); + return "<subject>" + textNode.serialize() + "</subject>"; + } + }; +} |