diff --git a/include/Swiften/Parser/PayloadParsers/StatsParser.h b/include/Swiften/Parser/PayloadParsers/StatsParser.h new file mode 100644 index 0000000000000000000000000000000000000000..53b0c97c9699f3c935e4c5b77215464d8773f239 --- /dev/null +++ b/include/Swiften/Parser/PayloadParsers/StatsParser.h @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2011 Jan Kaluza + * Licensed under the Simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +#pragma once + +#include +#include + +namespace Swift { + class SerializingParser; + + class StatsParser : public GenericPayloadParser { + public: + StatsParser(); + + virtual void handleStartElement(const std::string& element, const std::string&, const AttributeMap& attributes); + virtual void handleEndElement(const std::string& element, const std::string&); + virtual void handleCharacterData(const std::string& data); + + private: + enum Level { + TopLevel = 0, + PayloadLevel = 1, + ItemLevel = 2 + }; + int level_; + bool inItem_; + StatsPayload::Item currentItem_; + }; +}