diff options
Diffstat (limited to 'Swiften/Parser/PayloadParsers/ErrorParserFactory.h')
| -rw-r--r-- | Swiften/Parser/PayloadParsers/ErrorParserFactory.h | 32 | 
1 files changed, 32 insertions, 0 deletions
| diff --git a/Swiften/Parser/PayloadParsers/ErrorParserFactory.h b/Swiften/Parser/PayloadParsers/ErrorParserFactory.h new file mode 100644 index 0000000..1463807 --- /dev/null +++ b/Swiften/Parser/PayloadParsers/ErrorParserFactory.h @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2011 Kevin Smith + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#pragma once + +#include <Swiften/Parser/PayloadParserFactory.h> +#include <Swiften/Parser/PayloadParsers/ErrorParser.h> + +namespace Swift { +	class PayloadParserFactoryCollection; + +	class ErrorParserFactory : public PayloadParserFactory { +		public: +			ErrorParserFactory(PayloadParserFactoryCollection* factories) : factories(factories) { +			} + +			virtual bool canParse(const std::string& element, const std::string& /*ns*/, const AttributeMap&) const { +				return element == "error"; +			} + +			virtual PayloadParser* createPayloadParser() { +				return new ErrorParser(factories); +			} + +		private: +			PayloadParserFactoryCollection* factories; + +	}; +} | 
 Swift
 Swift