diff options
author | Dan Williams <dcbw@localhost.localdomain> | 2006-07-23 04:56:40 (GMT) |
---|---|---|
committer | Dan Williams <dcbw@localhost.localdomain> | 2006-07-23 04:56:40 (GMT) |
commit | b63e78a174d1db625edfd20ff6ae3fa6a412bde9 (patch) | |
tree | 56dc8cd06a95c4a72b19f4135c6c6d2d112ba570 /sugar/presence | |
parent | 1c35f8d92ca82525c82ede9b543fe603798ee817 (diff) |
Make the PresenceService stuff start to work
Diffstat (limited to 'sugar/presence')
-rw-r--r-- | sugar/presence/PresenceService.py | 6 | ||||
-rw-r--r-- | sugar/presence/Service.py | 32 |
2 files changed, 36 insertions, 2 deletions
diff --git a/sugar/presence/PresenceService.py b/sugar/presence/PresenceService.py index ac00d1f..5626a7c 100644 --- a/sugar/presence/PresenceService.py +++ b/sugar/presence/PresenceService.py @@ -48,7 +48,7 @@ class PresenceService(gobject.GObject): def __init__(self): gobject.GObject.__init__(self) - self._obcache = ObjectCache() + self._objcache = ObjectCache() self._bus = dbus.SessionBus() self._ps = dbus.Interface(self._bus.get_object(self._PRESENCE_SERVICE, self._PRESENCE_OBJECT_PATH), self._PRESENCE_DBUS_INTERFACE) @@ -174,3 +174,7 @@ class PresenceService(gobject.GObject): return None return self._new_object(buddy_op) + def registerService(self, name, stype, properties={"":""}, address="", port=-1, domain=u"local"): + serv_op = self._ps.registerService(name, stype, properties, address, port, domain) + return self._new_object(serv_op) + diff --git a/sugar/presence/Service.py b/sugar/presence/Service.py index f5e6eae..f798f6e 100644 --- a/sugar/presence/Service.py +++ b/sugar/presence/Service.py @@ -14,12 +14,42 @@ class Service(gobject.GObject): self._ps_del_object = del_obj_cb sobj = bus.get_object(self._PRESENCE_SERVICE, object_path) self._service = dbus.Interface(sobj, self._SERVICE_DBUS_INTERFACE) + self._props = self._service.getProperties() def object_path(self): return self._object_path def getProperties(self): - return self._service.getProperties() + return self._props def getPublishedValue(self, key): value = self._service.getPublishedValue(key) + + def get_name(self): + return self._props['name'] + + def get_type(self): + return self._props['type'] + + def get_domain(self): + return self._props['domain'] + + def get_address(self): + if self._props.has_key('address'): + return self._props['address'] + return None + + def get_activity_id(self): + if self._props.has_key('activityId'): + return self._props['activityId'] + return None + + def get_port(self): + if self._props.has_key('port'): + return self._props['port'] + return None + + def get_source_address(self): + if self._props.has_key('sourceAddress'): + return self._props['sourceAddress'] + return None |