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

List:       kde-core-devel
Subject:    Re: New kdelibs policy starting monday
From:       Thiago Macieira <thiago () kde ! org>
Date:       2006-07-16 17:58:29
Message-ID: 200607161958.38845.thiago () kde ! org
[Download RAW message or body]


Reinhold Kainhofer wrote:
>Harry told me that there was a way to introduce custom marshalling for
> our K* types. He just didn't explain it too me how exactly that would
> work (i.e. with an example).

You can introduce overloading for any type. But you can't overload a 
simple D-BUS type, like "String". You'd have to make it a structure that 
contains a string on the bus, which in turn makes it more difficult for 
the other side if they are not using QtDBus. There's also a performance 
penalty because you have to open a recursive iterator (libdbus internally 
isn't very optimised in that area yet).

Just use .url() and it'll make your life much easier:

	call("MyMethod", url.url()); // sends 's'

instead of:

	call("MyMethod", qVariantFromValue(url)); // sends '(s)'
-- 
   Thiago Macieira   -   thiago (AT) macieira.info - thiago (AT) kde.org
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C   966C 33F5 F005 6EF4 5358

[Attachment #3 (application/pgp-signature)]

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

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