[Telepathy-commits] [telepathy-python/master] file-transfer.py: use the ready handler so we are sure that the Requests interface has been added
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Wed Dec 3 05:51:42 PST 2008
---
examples/file-transfer.py | 21 ++++++++++-----------
1 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/examples/file-transfer.py b/examples/file-transfer.py
index df4b562..d0f3e55 100644
--- a/examples/file-transfer.py
+++ b/examples/file-transfer.py
@@ -31,14 +31,10 @@ ft_states = ['none', 'pending', 'accepted', 'open', 'completed', 'cancelled']
class FTClient:
def __init__(self, account_file):
- self.conn = connection_from_file(account_file)
+ self.conn = connection_from_file(account_file, ready_handler=self.ready_cb)
self.conn[CONN_INTERFACE].connect_to_signal('StatusChanged',
self.status_changed_cb)
- # hack
- self.conn._valid_interfaces.add(CONNECTION_INTERFACE_REQUESTS)
- self.conn[CONNECTION_INTERFACE_REQUESTS].connect_to_signal('NewChannels',
- self.new_channels_cb)
def run(self):
self.conn[CONN_INTERFACE].Connect()
@@ -57,12 +53,15 @@ class FTClient:
print 'connecting'
elif state == CONNECTION_STATUS_CONNECTED:
print 'connected'
- self.connected_cb()
elif state == CONNECTION_STATUS_DISCONNECTED:
print 'disconnected'
loop.quit()
- def connected_cb(self):
+ def ready_cb(self, conn):
+ print "ready"
+ self.conn[CONNECTION_INTERFACE_REQUESTS].connect_to_signal('NewChannels',
+ self.new_channels_cb)
+
self.self_handle = self.conn[CONN_INTERFACE].GetSelfHandle()
self.self_id = self.conn[CONN_INTERFACE].InspectHandles(CONNECTION_HANDLE_TYPE_CONTACT,
[self.self_handle])[0]
@@ -110,8 +109,8 @@ class FTClient:
self.initial_offset = offset
class FTReceiverClient(FTClient):
- def connected_cb(self):
- FTClient.connected_cb(self)
+ def ready_cb(self, conn):
+ FTClient.ready_cb(self, conn)
print "waiting for file transfer offer"
@@ -161,8 +160,8 @@ class FTSenderClient(FTClient):
self.contact = contact
self.file_to_offer = filename
- def connected_cb(self):
- FTClient.connected_cb(self)
+ def ready_cb(self, conn):
+ FTClient.ready_cb(self, conn)
handle = self.conn.RequestHandles(CONNECTION_HANDLE_TYPE_CONTACT, [self.contact])[0]
--
1.5.6.5
More information about the Telepathy-commits
mailing list