This is a request for comments on the idea of moving the "core" parts of the HTTP, FTP, and file ioslaves into kio itself and having the slaves be simple kdemain functions. History ------- There have been two instances that prompted this. The first was when I started to write a maildir ioslave (not worth it, btw). I wanted to "extend" the file ioslave since most of the functionality is the same. Since all of the file stuff is in the slave and since the file.h either wasn't installed at the time (or I missed it), I figured I'd have to use it *as* an ioslave. This doesn't work. ioslaves can't easily use other ioslaves internally. The second instance was an email from somebody who wanted to extend the HTTP ioslave for some reason that fails me now. He ran into the same problems as me in that short of cut-and-paste, there was no easy way to use or extend the HTTP functionality in another ioslave. Why This Is A Good Thing ------------------------ This will allow developers to extend the base protocols to make more complex ioslaves. It occurs to me that somebody is going to put the WebDAV support directly in kio_http... but with this, you could easily get away with a kio_webdav slave since it just extends HTTP (right?) Putting the code directly into libkio isn't a idealogical shift either since those three (well, file and http at least) protocols are *central* to KDE. Very little in KDE works without file and http. Possible Downside ----------------- This would require installing the header files for the slaves. 'file' isn't a problem since it's already installed. The http.h file will just have to be cleaned up a bit and tweaked to allow for expansion later (private pointers, etc). Comments? --------- Currently only KDE applications have (for instance) an HTTP "component" to use. This step would extend this functionality to the other slaves. I can think of only good things and a tiny downside. Any other thoughts on this? -- Kurt Granroth | http://www.granroth.org KDE Developer/Evangelist | SuSE Labs Open Source Developer granroth@kde.org | granroth@suse.com KDE -- Conquer Your Desktop