[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: Signals/slots via DCOP
From:       Waldo Bastian <bastian () kde ! org>
Date:       2000-07-30 21:54:23
[Download RAW message or body]

On Sun, 30 Jul 2000, Matthias Ettrich wrote:
> Am Son, 30 Jul 2000 schrieb Waldo Bastian:
> > On Sat, 29 Jul 2000, Rik Hemsley wrote:
> > > I know we announced that this was possible now, but can anyone tell me
> > > how ? :)
> > >
> > > I thought slots worked already (do you have to use the ASYNC thing ?)
> > > but I can't find an example of how to make signals work.
> >
> > I have added support for it in DCOPClient and it is used in e.g.
> > klauncher and kicker. I don't know if the idl already supports it. I find
> > these idlcompilers scary so I leave that to someone else.
>
> Waldo, I'd like to discuss the DCOP signals /slot system a bit. I'm
> wondering, why you implemented
>
>    App/Signal  <-> App/Obj/Slot
>
> rather than the general
>
>    App/Obj/Signal <-> App/Obj/Slot
>
> In the general model, App/Signal is just a shortcut for
> App/defaultObject/SIgnal.
>
> Any reasons for that that I'm overlooking?

No not really. Basically the reason is that the DCOPClient/Server don't seem 
to know the concept of "sending object", I didn't want to introduce it.

I agree that App/Obj/Signal <-> App/Obj/Slot is more generic so it might be a 
good idea to expand it to that.

Implementation wise, I think the sending-object could simply be an extra 
constraint that needs to be satisfied when delivering the signal.

Automatically disconnecting the signal when the sending object destructs 
needs some attention. The dcop-server doesn't know about the lifetime of 
objects, so the objects themselves should make sure to disconnect any 
signals. Actually, I don't think that connections are currently removed 
when a receiving-object destructs, so I guess both these issues should be 
addressed in one go.

Cheers,
Waldo
-- 
Make way, KDE/Linux is coming to a desktop near you!

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic