summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Serializer/PayloadSerializerCollection.h')
-rw-r--r--Swiften/Serializer/PayloadSerializerCollection.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/Swiften/Serializer/PayloadSerializerCollection.h b/Swiften/Serializer/PayloadSerializerCollection.h
new file mode 100644
index 0000000..63ccabe
--- /dev/null
+++ b/Swiften/Serializer/PayloadSerializerCollection.h
@@ -0,0 +1,23 @@
+#pragma once
+
+#include <vector>
+#include <boost/shared_ptr.hpp>
+
+#include "Swiften/Elements/Payload.h"
+
+namespace Swift {
+ class PayloadSerializer;
+ class String;
+
+ class PayloadSerializerCollection {
+ public:
+ PayloadSerializerCollection();
+
+ void addSerializer(PayloadSerializer* factory);
+ void removeSerializer(PayloadSerializer* factory);
+ PayloadSerializer* getPayloadSerializer(boost::shared_ptr<Payload>) const;
+
+ private:
+ std::vector<PayloadSerializer*> serializers_;
+ };
+}