Ticket #1603: 0001-Announce-our-file-transfer-capabilities-1603.patch

File 0001-Announce-our-file-transfer-capabilities-1603.patch, 2.0 KB (added by tomeu, 14 years ago)
  • src/telepathy_plugin.py

    From 21c4a335c1a0e6eaeafc15745fcc7671102fd0c2 Mon Sep 17 00:00:00 2001
    From: Tomeu Vizoso <tomeu@sugarlabs.org>
    Date: Thu, 3 Dec 2009 20:04:51 +0000
    Subject: [PATCH] Announce our file transfer capabilities #1603
    
    ---
     src/telepathy_plugin.py |   18 ++++++++++++++++--
     1 files changed, 16 insertions(+), 2 deletions(-)
    
    diff --git a/src/telepathy_plugin.py b/src/telepathy_plugin.py
    index 5aca07e..0736790 100644
    a b from telepathy.constants import (CONNECTION_STATUS_DISCONNECTED, 
    3333from telepathy.interfaces import (CONN_INTERFACE, CHANNEL_TYPE_TEXT,
    3434        CHANNEL_TYPE_STREAMED_MEDIA, CHANNEL_INTERFACE_GROUP,
    3535        CONN_INTERFACE_PRESENCE, CHANNEL_TYPE_CONTACT_LIST,
    36         CONN_MGR_INTERFACE)
     36        CONN_MGR_INTERFACE, CONNECTION_INTERFACE_CONTACT_CAPABILITIES)
    3737from telepathy.errors import (InvalidArgument, InvalidHandle)
    3838
    3939import psutils
    class TelepathyPlugin(gobject.GObject): 
    259259        mgr = self._registry.GetManager(self._TP_CONN_MANAGER)
    260260        name, path = mgr[CONN_MGR_INTERFACE].RequestConnection(
    261261            self._PROTOCOL, acct)
    262         conn = Connection(name, path)
     262        conn = Connection(name, path, ready_handler=self._ready_cb)
    263263        del acct
    264264        return conn
    265265
     266    def _ready_cb(self, conn):
     267        logging.debug('_ready_cb')
     268        try:
     269            conn[CONNECTION_INTERFACE_CONTACT_CAPABILITIES].UpdateCapabilities([
     270                (CLIENT + ".FtExample", [
     271                    { CHANNEL_INTERFACE + ".ChannelType":
     272                        CHANNEL_TYPE_FILE_TRANSFER,
     273                        CHANNEL_INTERFACE + ".TargetHandleType":
     274                        CONNECTION_HANDLE_TYPE_CONTACT },
     275                ], [ ]),
     276            ])
     277        except:
     278            logging.exception('Error when setting capabilities')
     279
    266280    def _watch_conn_name_cb(self, dbus_name):
    267281        """Check if we still have a connection on the DBus session bus.
    268282