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

List:       kde-core-devel
Subject:    Re: Porting kio-slaves to GnomeVFS modules
From:       nf2 <nf2 () scheinwelt ! at>
Date:       2005-01-04 11:34:29
Message-ID: 41DA7F45.2000900 () scheinwelt ! at
[Download RAW message or body]

Thiago Macieira wrote:

>nf 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.

(see
http://cvs.gnome.org/viewcvs/gnome-vfs/libgnomevfs/gnome-vfs-standard-callbacks.h?rev=1.12&view=auto

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 
correctly serialized."

But how does the deserializer know whether is receives a AuthInfo or 
AdvancedAuthInfo object?

Or would it be better to add a "openAdvancedPassDlg" method to 
SlaveBase. Would that break binary compatibility?

Regards,

Norbert

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

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