[sugar] [PATCH] services/presence: buddy: add mapping to/from Telepathy handles
Dan Williams
dcbw
Thu May 24 13:42:53 EDT 2007
On Mon, 2007-05-21 at 12:20 +0100, Simon McVittie wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> - ---
> services/presence/buddy.py | 38 ++++++++++++++++++++++++++++++++++++++
> 1 files changed, 38 insertions(+), 0 deletions(-)
Sure
> diff --git a/services/presence/buddy.py b/services/presence/buddy.py
> index 53999e8..ab397ef 100644
> - --- a/services/presence/buddy.py
> +++ b/services/presence/buddy.py
> @@ -236,6 +236,28 @@ class Buddy(ExportedGObject):
> full set of properties, just the changes.
> """
>
> + @dbus.service.signal(_BUDDY_INTERFACE, signature='sou')
> + def TelepathyHandleAdded(self, tp_conn_name, tp_conn_path, handle):
> + """Another Telepathy handle has become associated with the buddy.
> +
> + This must only be emitted for non-channel-specific handles.
> +
> + tp_conn_name -- The bus name at which the Telepathy connection may be
> + found
> + tp_conn_path -- The object path at which the Telepathy connection may
> + be found
> + handle -- The handle of type CONTACT, which is not channel-specific,
> + newly associated with the buddy
> + """
> +
> + @dbus.service.signal(_BUDDY_INTERFACE, signature='sou')
> + def TelepathyHandleRemoved(self, tp_conn_name, tp_conn_path, handle):
> + """A Telepathy handle has ceased to be associated with the buddy,
> + probably because that contact went offline.
> +
> + The parameters are the same as for TelepathyHandleAdded.
> + """
> +
> # dbus methods
> @dbus.service.method(_BUDDY_INTERFACE,
> in_signature="", out_signature="ay")
> @@ -294,6 +316,22 @@ class Buddy(ExportedGObject):
> props[_PROP_CURACT] = ""
> return props
>
> + @dbus.service.method(_BUDDY_INTERFACE,
> + in_signature='', out_signature='a(sou)')
> + def GetTelepathyHandles(self):
> + """Return a list of non-channel-specific Telepathy contact handles
> + associated with this Buddy.
> +
> + :Returns:
> + An array of triples (connection well-known bus name, connection
> + object path, handle).
> + """
> + ret = []
> + for plugin in self.handles:
> + conn = plugin.get_connection()
> + ret.append((str(conn.service_name), conn.object_path,
> + self.handles[plugin]))
> +
> # methods
> def object_path(self):
> """Retrieve our dbus.ObjectPath object"""
> - --
> 1.5.2-rc3.GIT
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.6 (GNU/Linux)
> Comment: OpenPGP key: http://www.pseudorandom.co.uk/2003/contact/ or pgp.net
>
> iD8DBQFGUYBnWSc8zVUw7HYRAjzLAJ9tGJwOybMRFgPxzRPHf/bxMxgvgACfRZai
> mrDbiRdLbT5/Sst0u1ruqPw=
> =sLDo
> -----END PGP SIGNATURE-----
> _______________________________________________
> Sugar mailing list
> Sugar at laptop.org
> http://mailman.laptop.org/mailman/listinfo/sugar
More information about the Sugar-devel
mailing list