Le Thu, 19 Aug 2010 08:34:35 +0200, tomw <[email protected]> a écrit :
> Hi folks, > > I'm trying to use a remote Object over a DBus tube. So far everything > works fine. The tube is open and upon the tube_channel_state_change I > get a dbus.connection.Connection object with the related address like > unix:path=/tmp/dbus-gabble-6k8gfh-V. If I proceed then with: > > if state == TUBE_CHANNEL_STATE_OPEN: > tube = dbus.connection.Connection(self.tube_addr) > tube.add_signal_receiver(self.signal_cb) > remote = tube.get_object(SERVICE, PATH) What is "SERVICE" here? Are you using a 1-1 D-Bus tube or MUC D-Bus tubes? In D-Bus tubes (both 1-1 and MUC), there is no bus driver implementing org.freedesktop.DBus, so there is no well-known names. In the case of MUC D-Bus tubes, you can find the D-Bus unique name (to use instead of "SERVICE") of a contact with the "DBusNames" property on your tube channel: http://telepathy.freedesktop.org/spec/Channel_Type_DBus_Tube.html#org.freedesktop.Telepathy.Channel.Type.DBusTube.DBusNames > remote.Method(reply_handler=self.tube_reply_cb, > error_handler=self.tube_error_cb) > > Calling Method on the remote object always creates a DBus timeout: > "DBusException(dbus.String(u'Did not receive a reply..." > The remote object is running on the DBUs and locally works like it > should. So, what am I missing here? You can use strace on your application to see if it receives a D-Bus message on the tube socket. > BTW, the telepathy framework is really a great piece of work (once you > grasp it :-) BR, Alban _______________________________________________ telepathy mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/telepathy
