platform independent kdeinit/klauncher (was KDE4's IPC)
Stefan Teleman
steleman at nyc.rr.com
Thu Dec 29 22:43:43 GMT 2005
> On Thursday 29 December 2005 12:16, nf2 wrote:
> > Isn't that just a main-loop problem?
nope. that's the smallest of problems (you just initialize and start the ORB
in its own thread, and you're done).
the big integration problem is: DCOPClient, DCOPObject and DCOPRef need CORBA
bindings. if you make them inherit from CORBA::Object (which is the intuitive
way of doing it) you can then implement the "orbification" by the standard
CORBA double-inheritance:
class DCOPObjectImpl : virtual public PortableServer::Servant_base,
virtual public KDE::DCOP::POA_DCOPObject
but this way you completely break binary compatibility with the non-CORBA KDE,
and every single time you want to upgrade KDE, you have to recompile
everything from scratch and test it. so the cleaner way is to bridge
CORBA<->DCOP (and keep DCOP clean instead of making DCOP a CORBA service),
and for this you create a separate bridge library (libKORBA.so.4.0.0), and
then you hide the implementation of the method marshalling between CORBA and
DCOP in there. and this is exactly the part they didn't want to have to pay
for, because they thought KDE should provide this.
btw, you can substitute DBUS for DCOP.
o-well.
--Stefan
--
Stefan Teleman 'Nobody Expects the Spanish Inquisition'
steleman at nyc.rr.com -Monty Python
More information about the kde-core-devel
mailing list