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

tomw tomw at ubilix.com
Mon Aug 23 02:49:25 PDT 2010


It seems I found my (pretty dumb) mistake. Using Dbus Objects which are
classes of the respective client works perfectly well implementing the
object with the relevant methods on both side of the tube.
 
My assumption was, that I should be able to connect to any arbitrary
object on the SessionBus like I would do locally ("D-Bus Tubes allow you
to share a private D-Bus bus between two or more clients, proxied over
Telepathy"). But it's pretty obvious, that it can't work as the
"independent" object is not connected to the tube. Calling such objects
from connected object works perfectly well.

thanks, guys






On Mon, 2010-08-23 at 17:35 +1000, Jiri Baum wrote:
> Hi tomw,
> 
> > I'm trying to use a remote Object over a DBus tube. 
> ...
> > Calling Method on the remote object always creates a DBus timeout:
> 
> What's on the other end of the tube? If it's another copy of your program, 
> somewhere you need to connect the incoming tube to an object that has the 
> relevant method; that's done by creating an object inheriting from 
> dbus.service.Object and passing the tube and the PATH to the constructor.
> 
> If you're already doing that, try storing a reference to that object somewhere 
> in a global variable or something, in case it's being garbage-collected - if 
> that's the problem, you can then store it in a more disciplined place, but for 
> a quick test something like global_list.append(local_object) is fine.
> 
> 
> Jiri




More information about the telepathy mailing list