phoenix_title wx.lib.pubsub.utils.notification.NotifyByPubsubMessage

Handle pubsub notification messages by generating messages of a ‘pubsub.’ subtopic. Also provides an example of how to create a notification handler.

Use it by calling:

import pubsub.utils
pubsub.utils.useNotifyByPubsubMessage()
...
pub.setNotificationFlags(...) # optional

E.g. whenever a listener is unsubscribed, a ‘pubsub.unsubscribe’ message is generated. If you have subscribed a listener of this topic, your listener will be notified of what listener unsubscribed from what topic.


class_hierarchy Class Hierarchy

Inheritance diagram for class NotifyByPubsubMessage:

method_summary Methods Summary

__init__

Initialize self. See help(type(self)) for accurate signature.

createNotificationTopics

Create the notification topics. The root of the topics created

notifyDeadListener

Called when a listener has been garbage collected.

notifyDelTopic

Called whenever a topic is removed from topic tree.

notifyNewTopic

Called whenever a new topic is added to the topic tree.

notifySend

Stage must be ‘pre’ or ‘post’. Note that any pubsub sendMessage

notifySubscribe

Called when a listener is subscribed to a topic.

notifyUnsubscribe

Called when a listener is unsubscribed from given topic.


api Class API

class NotifyByPubsubMessage(INotificationHandler)

Handle pubsub notification messages by generating messages of a ‘pubsub.’ subtopic. Also provides an example of how to create a notification handler.

Use it by calling:

import pubsub.utils
pubsub.utils.useNotifyByPubsubMessage()
...
pub.setNotificationFlags(...) # optional

E.g. whenever a listener is unsubscribed, a ‘pubsub.unsubscribe’ message is generated. If you have subscribed a listener of this topic, your listener will be notified of what listener unsubscribed from what topic.


Methods

__init__(self, topicMgr=None)

Initialize self. See help(type(self)) for accurate signature.



createNotificationTopics(self, topicMgr)

Create the notification topics. The root of the topics created is self.topicRoot. The topicMgr is (usually) pub.topicMgr.



notifyDeadListener(self, pubListener, topicObj)

Called when a listener has been garbage collected. :param pubListener: the pubsub.core.Listener that wraps GC’d listener. :param topicObj: the pubsub.core.Topic object it was subscribed to.



notifyDelTopic(self, topicName)

Called whenever a topic is removed from topic tree. :param topicName: name of topic removed.



notifyNewTopic(self, topicObj, desc, required, argsDocs)

Called whenever a new topic is added to the topic tree. :param topicObj: the Topic object for the message. :param description: docstring for the topic. :param required: list of message data names (keys in argsDocs) that are required. :param argsDocs: dictionary of all message data names, with the corresponding docstring.



notifySend(self, stage, topicObj, pubListener=None)

Stage must be ‘pre’ or ‘post’. Note that any pubsub sendMessage operation resulting from this notification (which sends a message; listener could handle by sending another message!) will NOT themselves lead to a send notification.



notifySubscribe(self, pubListener, topicObj, newSub)

Called when a listener is subscribed to a topic. :param pubListener: the pubsub.core.Listener that wraps subscribed listener. :param topicObj: the pubsub.core.Topic object subscribed to. :param newSub: false if pubListener was already subscribed.



notifyUnsubscribe(self, pubListener, topicObj)

Called when a listener is unsubscribed from given topic. :param pubListener: the pubsub.core.Listener that wraps unsubscribed listener. :param topicObj: the pubsub.core.Topic object unsubscribed from.