D-Bus object callbacks

Matteo Vescovi matteo.vescovi at yahoo.co.uk
Thu Sep 30 13:44:08 PDT 2010

Hallo list,

I am faced with the following problem and I would appreciate some
guidance from the dbus experts!

I have a python dbus service which exports a simple object PresageObject
with a method predict() using the default DBusGMainLoop.

My client application invokes on PresageObject predict() method. The
problem I am having is that:
- I want my client application to also export a dbus object
DbusPresageCallback with a method get_past_stream()
- I want the service PresageObject predict() method body to invoke on
the DbusPresageCallback get_past_stream()

In other words, the flow of remote invocations is:
- client process mainline starts remote invocation of service process
PresageObject predict()
- service process PresageObject predict() method calls back to client
process DbusPresageCallback get_past_stream() while processing predict()
- client process DbusPresageCallback get_past_stream() invocation
completes and returns
- service process PresageObject predict() method invocation completes
and returns
- client process mainline continues execution

Can this be accomplished?
Can you provide any pointers how this can be done? In particular, how
can I have the client process execute its own mainline and still have
D-Bus objects servicing remote invocations?

- Matteo

More information about the dbus mailing list