[telepathy-python/master] Try to set contact FT capabilities

Sjoerd Simons sjoerd.simons at collabora.co.uk
Sun Nov 29 09:14:02 PST 2009


---
 examples/file-transfer.py |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/examples/file-transfer.py b/examples/file-transfer.py
index 125fca7..20ae172 100644
--- a/examples/file-transfer.py
+++ b/examples/file-transfer.py
@@ -10,7 +10,11 @@ import time
 
 from dbus import PROPERTIES_IFACE
 from telepathy.client import (Connection, Channel)
-from telepathy.interfaces import (CONN_INTERFACE, CONNECTION_INTERFACE_REQUESTS, CHANNEL, CHANNEL_TYPE_FILE_TRANSFER)
+from telepathy.interfaces import (CONN_INTERFACE,
+    CONNECTION_INTERFACE_REQUESTS,
+    CONNECTION_INTERFACE_CONTACT_CAPABILITIES,
+    CHANNEL, CHANNEL_INTERFACE, CHANNEL_TYPE_FILE_TRANSFER,
+    CLIENT)
 from telepathy.constants import (CONNECTION_HANDLE_TYPE_CONTACT, CONNECTION_STATUS_CONNECTING,
     CONNECTION_STATUS_CONNECTED, CONNECTION_STATUS_DISCONNECTED, SOCKET_ADDRESS_TYPE_UNIX,
     SOCKET_ACCESS_CONTROL_LOCALHOST, FILE_TRANSFER_STATE_NONE, FILE_TRANSFER_STATE_PENDING, FILE_TRANSFER_STATE_ACCEPTED,
@@ -61,6 +65,19 @@ class FTClient(object):
             [self.self_handle])[0]
         print "I am %s" % self.self_id
 
+        try:
+            self.conn[CONNECTION_INTERFACE_CONTACT_CAPABILITIES].UpdateCapabilities([
+                (CLIENT + ".FtExample", [
+                    { CHANNEL_INTERFACE + ".ChannelType":
+                        CHANNEL_TYPE_FILE_TRANSFER,
+                      CHANNEL_INTERFACE + ".TargetHandleType":
+                        CONNECTION_HANDLE_TYPE_CONTACT },
+                ], [ ]),
+            ])
+        except:
+            pass
+
+
         if not self.is_ft_present():
             print "FileTransfer is not implemented on this ConnectionManager"
             sys.exit(1)
-- 
1.5.6.5



More information about the telepathy-commits mailing list