[Telepathy] Connecting a remote DBus Object over a DBus Tube

tomw tomw at ubilix.com
Thu Aug 19 07:13:04 PDT 2010


here we go:

using strace on the application gets me the following:

socket(PF_FILE, SOCK_STREAM, 0)         = 3
connect(3, {sa_family=AF_FILE, path=@"/tmp/dbus-REgYNwDrKY"}, 23) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 8
connect(8, {sa_family=AF_FILE, path="/tmp/dbus-gabble-eJmvd0ho"}, 27) =0

which I interpret as a connection to the remote dbus object under the
address "/tmp/dbus-REgYNwDrKY". However, I'm not quite sure what the @
in front of the path means.
btw, it's a 1-1 Dbus tube.


br, tomw


On Thu, 2010-08-19 at 12:37 +0100, Alban Crequy wrote:
> Le Thu, 19 Aug 2010 08:34:35 +0200,
> tomw <tomw at ubilix.com> 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
> telepathy at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/telepathy




More information about the telepathy mailing list