Ticket #1680 (new enhancement)
sugar-base: add sugar.dispatch.DbusSignal
|Reported by:||sascha_silbe||Owned by:||sascha_silbe|
|Priority:||Unspecified by Maintainer||Milestone:||0.90|
|Component:||sugar||Version:||Git as of bugdate|
This patch adds the classes sugar.dispatch.RelayedSignal and sugar.dispatch.DbusSignal.
RelayedSignal is a base class for distributing signals from some external sources. The external source will usually only be attached if there are actually (internal) listeners to prevent unnecessary overhead.
DbusSignal (deriving from RelayedSignal) relays DBus signals which can be passed either via full name specification (looked up and connected to only on demand) or as an interface instance (in case the caller already got one).
It is intended to provide data store listeners in sugar.datastore.datastore that only listen to the DBus signals if there's actually someone listening for it, thus reducing overhead.