← Back to team overview

zeitgeist team mailing list archive

[Bug 488967] Re: Add event notification and subscription system

 

Cool that you did this test Markus! I am a bit troubled by the results
though...

I fear that signals are by definition always broadcasted. We may be able
to work around this by setting a match rule on each signal connection on
the client side, but I am not sure... Something like adding a named
param. destination=bus.get_unique_name() to the line where we call
object.connect_to_signal() in client.py. However it does not appear to
be possible according to http://dbus.freedesktop.org/doc/dbus-
python/api/dbus.proxies.ProxyObject-class.html#connect_to_signal.

The alternative is to do our own simple monitoring system... Maybe
adding two methods to the Log interface:

InstallMonitor(in o client_monitor_path, in E event_template)
RemoveMonitor(in o client_monitor_path)

And then defining a new interface org.gnome.zeitgeist.Monitor with a
single method

Notify(in aE new_events)

The way we'd do this in the engine is to remember the unique bus name of
the caller in InstallMonitor() and then ping back on that address and
object path client_monitor_path, on the interface
org.gnome.zeitgeist.Monitor. We'd automagically drop monitors when
clients disconnect by listening for NameOwnerChanged.

Somehow I am nore inclined to the Monitor-solution... At least we can be
sure that it will always work disregarding if the client remembers to
set up the right match rules...

-- 
Add event notification and subscription system
https://bugs.launchpad.net/bugs/488967
You received this bug notification because you are a member of
Zeitgeist-Engine, which is the registrant for Zeitgeist Framework.

Status in Zeitgeist Framework: Confirmed

Bug description:
Zeitgeist 0.2 relayed all incoming events over the bus. This might be a bit over the top, but apps still need a way to get notified of events elsewhere in the system.

This bug relates a lot to bug #447417 "Zeitgeist should have any kind of system to protect users privacy" where a dynamic black listing system is needed. This is sort of inverse to a notification system (only "sort of" mind you).

I want to use this bug as a tracker an reminder for us/me to finish this feature. I have it pretty cut out in my head, so if any one else starts on this please ping me...



References