Porting kio-slaves to GnomeVFS modules
nf2 at scheinwelt.at
Tue Jan 4 11:34:29 GMT 2005
Thiago Macieira wrote:
>>>You'll need to reimplement the SlaveBase class in order to receive
>>>input from the Gnome-VFS master. However, bear in mind that you must
>>>respect the usual C++ Binary Compatibility guidelines when doing so.
>>I think we can't use them "as is". So binary compatibility won't be
>>possible. The main reason is that io-slaves are designed to run async
>>only. Therefore they provide single methods for "get", "put" or
>>"readDir" and push back data with callbacks.
>Binary Compatibility is not an option if you want to make anything useful.
>You have to be binary compatible.
>You'll have the option to influence the ABI when KDE goes 4.0. But not
>before, nor ever again until 5.0.
Of course i need to take care of that. If i put them into a different
library, which gets called by Wrapper (to sit in KIO or GnomeVFS),
binary compatibility shouldn't be an issue. :-)
But i do have questions about kio-slaves and binary compatibility. For
instance when i want to add fields to the AuthInfo class. GnomeVFS wants
a "domain" field for SMB authentication for instance.
GnomeVFSModuleCallbackFullAuthenticationIn / GnomeVFSModuleCallbackFullAuthenticationOut.
Let's say i want to inherit AuthInfo with the class "AdvancedAuthInfo".
The documentation says that's possible: "If you extend this class to add
additional parameters do not forget to overload the stream insertion and
extraction operators ("<<" and ">>") so that the added data can be
But how does the deserializer know whether is receives a AuthInfo or
Or would it be better to add a "openAdvancedPassDlg" method to
SlaveBase. Would that break binary compatibility?
More information about the kde-core-devel