--===============1713600194== Content-Type: multipart/signed; boundary="nextPart4998447.a6BpxsQsZe"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit --nextPart4998447.a6BpxsQsZe Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Richard Dale wrote: >On Sunday 26 March 2006 08:38, Andreas Silberstorff wrote: >> And where DCOP was simple, D-Bus is designed to be interoperable >> >> > with other languages other than C++/Qt. > >DCOP is very easy to make interoperate with other languages. Athough > some of the KDE interfaces use method overloading on the arg types, > which is a bit more tricky.=20 Interestingly, D-Bus doesn't solve this problem either. The specification and the library don't preclude overloading with=20 different parameters at all. It's actually up to each binding to decide=20 if and how they will support that. Some bindings might do automatic=20 type-conversion and call the same function; others may allow method=20 overloading by parameters (such as is the case of the Qt4 binding). But, the consensus on the D-Bus mailing list and IRC channel is that=20 interfaces that are supposed to be interoperable shouldn't use that kind=20 of "fancy stuff". You'll still be able to use them for your own private,=20 non-interoperable communication. >I hope it will be just as easy to interface with DBUS. I think it will > be up to the developers of C++ apps to ensure they don't go overboard > with nested custom structs or whatever with DBUS, and stick to things > like simple string lists or hashes which can be easily represented in > any of the above languages. Indeed. D-Bus doesn't allow passing of arbitrary types. You can only send=20 a few, well-known types, plus a few compositions of those (arrays and=20 maps). It also supports a type called "struct", but I have not gone deeper into=20 supporting it in the Qt4 binding. There are several limitations in using=20 it, including the fact that you can't generate code that receives=20 an "unnamed struct containing two ints and one string", for instance. =46inally, if an application *really* needs to pass a complex type, it can= =20 still do so. Just encode it with a QDataStream and send the QByteArray.=20 This will not be, of course, interoperable. =2D-=20 Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org thiago.macieira (AT) trolltech.com Trolltech AS GPG: 0x6EF45358 | Sandakerveien 116, E067 918B B660 DBD1 105C | NO-0402 966C 33F5 F005 6EF4 5358 | Oslo, Norway --nextPart4998447.a6BpxsQsZe Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) iD8DBQBEJ8WXM/XwBW70U1gRAulwAJwO5SdVvJr8Ub8COPal01kGQou96QCfUs7g cPie2KYTKxac/KB7mjXWQKA= =mSc1 -----END PGP SIGNATURE----- --nextPart4998447.a6BpxsQsZe-- --===============1713600194== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe << --===============1713600194==--