diff options
Diffstat (limited to 'Swiften/Parser/PayloadParsers/ChatStateParserFactory.h')
-rw-r--r-- | Swiften/Parser/PayloadParsers/ChatStateParserFactory.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Swiften/Parser/PayloadParsers/ChatStateParserFactory.h b/Swiften/Parser/PayloadParsers/ChatStateParserFactory.h new file mode 100644 index 0000000..1582d09 --- /dev/null +++ b/Swiften/Parser/PayloadParsers/ChatStateParserFactory.h @@ -0,0 +1,25 @@ +#pragma once + +#include "Swiften/Parser/PayloadParserFactory.h" +#include "Swiften/Parser/PayloadParsers/ChatStateParser.h" + +namespace Swift { + class PayloadParserFactoryCollection; + + class ChatStateParserFactory : public PayloadParserFactory { + public: + ChatStateParserFactory() { + } + + virtual bool canParse(const String& element, const String& ns, const AttributeMap&) const { + return ns == "http://jabber.org/protocol/chatstates" && + (element == "active" || element == "composing" + || element == "paused" || element == "inactive" || element == "gone"); + } + + virtual PayloadParser* createPayloadParser() { + return new ChatStateParser(); + } + + }; +} |