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, |
33 | 33 | from telepathy.interfaces import (CONN_INTERFACE, CHANNEL_TYPE_TEXT, |
34 | 34 | CHANNEL_TYPE_STREAMED_MEDIA, CHANNEL_INTERFACE_GROUP, |
35 | 35 | CONN_INTERFACE_PRESENCE, CHANNEL_TYPE_CONTACT_LIST, |
36 | | CONN_MGR_INTERFACE) |
| 36 | CONN_MGR_INTERFACE, CONNECTION_INTERFACE_CONTACT_CAPABILITIES) |
37 | 37 | from telepathy.errors import (InvalidArgument, InvalidHandle) |
38 | 38 | |
39 | 39 | import psutils |
… |
… |
class TelepathyPlugin(gobject.GObject): |
259 | 259 | mgr = self._registry.GetManager(self._TP_CONN_MANAGER) |
260 | 260 | name, path = mgr[CONN_MGR_INTERFACE].RequestConnection( |
261 | 261 | self._PROTOCOL, acct) |
262 | | conn = Connection(name, path) |
| 262 | conn = Connection(name, path, ready_handler=self._ready_cb) |
263 | 263 | del acct |
264 | 264 | return conn |
265 | 265 | |
| 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 | |
266 | 280 | def _watch_conn_name_cb(self, dbus_name): |
267 | 281 | """Check if we still have a connection on the DBus session bus. |
268 | 282 | |