Add signal listener functionality to the DS #1197 (silbe)

This commit is contained in:
Simon Schampijer
2010-01-24 17:53:32 +01:00
parent a6df826d33
commit e1d4afe13e
2 changed files with 27 additions and 9 deletions
+25
View File
@@ -33,6 +33,7 @@ import dbus.glib
from sugar import env
from sugar import mime
from sugar import dispatch
DS_DBUS_SERVICE = "org.laptop.sugar.DataStore"
DS_DBUS_INTERFACE = "org.laptop.sugar.DataStore"
@@ -50,9 +51,33 @@ def _get_data_store():
_data_store = dbus.Interface(_bus.get_object(DS_DBUS_SERVICE,
DS_DBUS_PATH),
DS_DBUS_INTERFACE)
_data_store.connect_to_signal('Created', __datastore_created_cb)
_data_store.connect_to_signal('Deleted', __datastore_deleted_cb)
_data_store.connect_to_signal('Updated', __datastore_updated_cb)
return _data_store
def __datastore_created_cb(object_id):
metadata = _get_data_store().get_properties(object_id, byte_arrays=True)
updated.send(None, object_id=object_id, metadata=metadata)
def __datastore_updated_cb(object_id):
metadata = _get_data_store().get_properties(object_id, byte_arrays=True)
updated.send(None, object_id=object_id, metadata=metadata)
def __datastore_deleted_cb(object_id):
deleted.send(None, object_id=object_id)
created = dispatch.Signal()
deleted = dispatch.Signal()
updated = dispatch.Signal()
_get_data_store()
class DSMetadata(gobject.GObject):
"""A representation of the metadata associated with a DS entry."""
__gsignals__ = {