/* * Copyright (c) 2014 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #include #include #include #include #include #include namespace Swift { UserTuneSerializer::UserTuneSerializer() { } std::string UserTuneSerializer::serializePayload( boost::shared_ptr payload) const { XMLElement result("tune", "http://jabber.org/protocol/tune"); if (boost::optional value = payload->getArtist()) { result.addNode(boost::make_shared("artist", "", *value)); } if (boost::optional value = payload->getLength()) { result.addNode(boost::make_shared("length", "", boost::lexical_cast(*value))); } if (boost::optional value = payload->getRating()) { result.addNode(boost::make_shared("rating", "", boost::lexical_cast(*value))); } if (boost::optional value = payload->getSource()) { result.addNode(boost::make_shared("source", "", *value)); } if (boost::optional value = payload->getTitle()) { result.addNode(boost::make_shared("title", "", *value)); } if (boost::optional value = payload->getTrack()) { result.addNode(boost::make_shared("track", "", *value)); } if (boost::optional value = payload->getURI()) { result.addNode(boost::make_shared("uri", "", *value)); } return result.serialize(); } }