Files
        @ 45f760927118
    
        
              Branch filter: 
        
    Location: libtransport.git/include/Swiften/Serializer/PayloadSerializers/StatsSerializer.cpp - annotation
        
            
            45f760927118
            1.1 KiB
            text/x-c++hdr
        
        
    
    follow/unfollow users in multiple contact mode
    | 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 6ff8b24992b1 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 <Swiften/Serializer/PayloadSerializers/StatsSerializer.h>
#include <boost/shared_ptr.hpp>
#include <Swiften/Base/foreach.h>
#include <Swiften/Serializer/XML/XMLTextNode.h>
#include <Swiften/Serializer/XML/XMLRawTextNode.h>
#include <Swiften/Serializer/XML/XMLElement.h>
namespace Swift {
StatsSerializer::StatsSerializer() : GenericPayloadSerializer<StatsPayload>() {
}
std::string StatsSerializer::serializePayload(boost::shared_ptr<StatsPayload> stats)  const {
	XMLElement queryElement("query", "http://jabber.org/protocol/stats");
	foreach(const StatsPayload::Item& item, stats->getItems()) {
		boost::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();
}
}
 |