diff options
| author | Kevin Smith <git@kismith.co.uk> | 2010-02-16 09:05:37 (GMT) | 
|---|---|---|
| committer | Kevin Smith <git@kismith.co.uk> | 2010-02-17 08:05:08 (GMT) | 
| commit | 5a334fd9b676564a8915baad312d92bd86358eec (patch) | |
| tree | aaecbbccd9cddcb843c126b8c022f1d1e667efde /Swiften/Parser/PayloadParsers/ChatStateParserFactory.h | |
| parent | 231c2cb6d00061e70860626467107f4c63f359a0 (diff) | |
| download | swift-contrib-5a334fd9b676564a8915baad312d92bd86358eec.zip swift-contrib-5a334fd9b676564a8915baad312d92bd86358eec.tar.bz2  | |
Preliminary Chat State Notifications support.
Only covers Active and Composing (Which is very possibly all we care about).
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(); +			} + +	}; +}  | 
 Swift