Files
@ 9dc0273ab297
Branch filter:
Location: libtransport.git/include/Swiften/Serializer/PayloadSerializers/StatsSerializer.cpp - annotation
9dc0273ab297
1.2 KiB
text/x-c++hdr
Roster management: only delete our contacts when user removes registration
6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6b45e0e418ee 6ff8b24992b1 6b45e0e418ee 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6d2f8c192761 6d2f8c192761 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6d2f8c192761 6ff8b24992b1 6b45e0e418ee 6d2f8c192761 6ff8b24992b1 bcf60737f919 bcf60737f919 bcf60737f919 5811d83e0dd9 5811d83e0dd9 bcf60737f919 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 | /*
* Copyright (c) 2011 Jan Kaluza
* Licensed under the Simplified BSD license.
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
#include <boost/foreach.hpp>
#include <Swiften/Serializer/PayloadSerializers/StatsSerializer.h>
#include <Swiften/Serializer/XML/XMLTextNode.h>
#include <Swiften/Serializer/XML/XMLRawTextNode.h>
#include <Swiften/Serializer/XML/XMLElement.h>
#include "Swiften/SwiftenCompat.h"
namespace Swift {
StatsSerializer::StatsSerializer() : GenericPayloadSerializer<StatsPayload>() {
}
std::string StatsSerializer::serializePayload(SWIFTEN_SHRPTR_NAMESPACE::shared_ptr<StatsPayload> stats) const {
XMLElement queryElement("query", "http://jabber.org/protocol/stats");
BOOST_FOREACH(const StatsPayload::Item& item, stats->getItems()) {
SWIFTEN_SHRPTR_NAMESPACE::shared_ptr<XMLElement> statElement(new XMLElement("stat"));
statElement->setAttribute("name", item.getName());
if (!item.getUnits().empty()) {
statElement->setAttribute("units", item.getUnits());
}
if (!item.getValue().empty()) {
statElement->setAttribute("value", item.getValue());
}
queryElement.addNode(statElement);
}
return queryElement.serialize();
}
}
|