summaryrefslogtreecommitdiffstats
blob: b1d45750f65b4560e99e17bfe7f17915489dae26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef SWIFTEN_SerializingParser_H
#define SWIFTEN_SerializingParser_H

#include "Swiften/Base/String.h"
#include "Swiften/Parser/AttributeMap.h"
#include "Swiften/Serializer/XML/XMLElement.h"

namespace Swift {
	class SerializingParser {
		public:
			SerializingParser();

			void handleStartElement(const String& element, const String& ns, const AttributeMap& attributes);
			void handleEndElement(const String& element, const String& ns);
			void handleCharacterData(const String& data);

			String getResult() const;

		private:
			std::vector< boost::shared_ptr<XMLElement> > elementStack_;
			boost::shared_ptr<XMLElement> rootElement_;
	};
}

#endif