/* * Copyright (c) 2010-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include #include #include #include #include #include namespace Swift { PrivateStorageSerializer::PrivateStorageSerializer(PayloadSerializerCollection* serializers) : serializers(serializers) { } std::string PrivateStorageSerializer::serializePayload(std::shared_ptr storage) const { XMLElement storageElement("query", "jabber:iq:private"); std::shared_ptr payload = storage->getPayload(); if (payload) { PayloadSerializer* serializer = serializers->getPayloadSerializer(payload); if (serializer) { storageElement.addNode(std::make_shared(serializer->serialize(payload))); } } return storageElement.serialize(); } }