[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