summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/isode/stroke/pubsub/PubSubManagerImpl.java')
-rw-r--r--src/com/isode/stroke/pubsub/PubSubManagerImpl.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/com/isode/stroke/pubsub/PubSubManagerImpl.java b/src/com/isode/stroke/pubsub/PubSubManagerImpl.java
new file mode 100644
index 0000000..ab1e8c6
--- /dev/null
+++ b/src/com/isode/stroke/pubsub/PubSubManagerImpl.java
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2014, Isode Limited, London, England.
+* All rights reserved.
+*/
+/*
+* Copyright (c) 2014, Remko Tronçon.
+* All rights reserved.
+*/
+
+package com.isode.stroke.pubsub;
+
+import com.isode.stroke.client.StanzaChannel;
+import com.isode.stroke.elements.Message;
+import com.isode.stroke.parser.payloadparsers.PubSubEvent;
+import com.isode.stroke.queries.IQRouter;
+import com.isode.stroke.signals.Slot1;
+
+public class PubSubManagerImpl extends PubSubManager {
+
+ public PubSubManagerImpl(StanzaChannel stanzaChannel, IQRouter router) {
+ stanzaChannel_ = stanzaChannel;
+ router_ = router;
+
+ stanzaChannel.onMessageReceived.connect(new Slot1<Message>() {
+ public void call(Message message) {
+ PubSubEvent event = (PubSubEvent)message.getPayload(new PubSubEvent());
+ if (event != null) {
+ onEvent.emit(message.getFrom(), event.getPayload());
+ }
+ }
+ });
+ }
+
+ StanzaChannel stanzaChannel_;
+ IQRouter router_;
+}