/* * Copyright (c) 2014-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include #include #include #include using namespace Swift; UserTuneSerializer::UserTuneSerializer(PayloadSerializerCollection* /*serializers*/) { } UserTuneSerializer::~UserTuneSerializer() { } std::string UserTuneSerializer::serializePayload(std::shared_ptr payload) const { if (!payload) { return ""; } XMLElement element("tune", "http://jabber.org/protocol/tune"); if (payload->getRating()) { element.addNode(std::make_shared("rating", "", boost::lexical_cast(*payload->getRating()))); } if (payload->getTitle()) { element.addNode(std::make_shared("title", "", *payload->getTitle())); } if (payload->getTrack()) { element.addNode(std::make_shared("track", "", *payload->getTrack())); } if (payload->getArtist()) { element.addNode(std::make_shared("artist", "", *payload->getArtist())); } if (payload->getURI()) { element.addNode(std::make_shared("uri", "", *payload->getURI())); } if (payload->getSource()) { element.addNode(std::make_shared("source", "", *payload->getSource())); } if (payload->getLength()) { element.addNode(std::make_shared("length", "", boost::lexical_cast(*payload->getLength()))); } return element.serialize(); }