Skip to content
Snippets Groups Projects
Commit d21e83cc authored by fxk8y's avatar fxk8y :spider:
Browse files

Subscription callbacks

parent 1023cc26
No related branches found
No related tags found
No related merge requests found
......@@ -243,6 +243,7 @@ class Subscription:
self.topic = Topic(topic)
self.state = self.PENDING
self.callbacks = set()
self.subscriptionCallbacks = set()
self.__sub()
......@@ -253,6 +254,11 @@ class Subscription:
def onSubscribe(self, mid):
if self.sub_mid == mid:
self.state = self.ACTIVE
for callback in self.subscriptionCallbacks:
try:
callback()
except Exception as ex:
pass # TODO: logging!
def onMessage(self, msg):
if self.topic.compare(msg.topic):
......@@ -275,6 +281,13 @@ class Subscription:
if callback in self.callbacks:
self.callbacks.remove(callback)
def addSubscriptionCallback(self, callback):
self.subscriptionCallbacks.add(callback)
def removeSubscriptionCallback(self, callback):
if callback in self.subscriptionCallbacks:
self.subscriptionCallbacks.remove(callback)
class SpiderMQTT:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment