Information request

Matthew Johnson dbus at matthew.ath.cx
Wed Apr 12 05:29:49 PDT 2006


On Wed, 12 Apr 2006, Thiago Macieira wrote:

> >Is it possible for C to do a method call to method "i SomeMethod(i,s)"
> >to all objects implementing the "org.foo.SomeIface" interface, and
> >getting replies from all these objects?
>
> Not automatically.
>
> It could do a bus-search and find all objects in all services that
> implement that interface, but not only would that be inefficient, it is
> also not atomic (services could connect and disconnect at any time).
>
You could have A and B reply to a signal from C by calling a method on C
telling C that they provide org.foo.SomeIface and it can then iterate
over them.

so you would have

C->* signal
B->C register
A->C register
C->A call method
C->B call method

the register could be a signal or a method call, depending on how many
other clients like C there are. A & B could send out a register signal
when they start, periodically and when requested. All clients could
watch for these signals and add them to a list to iterate over when they
want to call the methods.

Matt

-- 
Matthew Johnson
http://www.matthew.ath.cx/



More information about the dbus mailing list