[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:       Waldo Bastian <bastian () kde ! org>
Date:       2005-01-04 11:52:44
Message-ID: 200501041301.58154.bastian () kde ! org
[Download RAW message or body]


On Tuesday 04 January 2005 12:34, nf2 wrote:
> 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-callb
>acks.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."

The documentation means to say when you _change_ the class, I don't think the 
class was ever intended to be subclassed.

Cheers,
Waldo
-- 
bastian@kde.org   |   Free Novell Linux Desktop 9 Evaluation Download
bastian@suse.com  |   http://www.novell.com/products/desktop/eval.html

[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