What is a kioslave you ask yourself? A kioslave is a program designed to be intimately familiar with a certian protocol, so that a standardized interface can be used to get at data from any number of places. A few examples are the http and ftp kioslaves, which using nearly identical methods will retrieve data from an http or ftp server respectively. Well, that's nice. How do they work? To understand it, you'll need two ice cubes, a pair of handcuffs, and a ferret. Some Crisco (or other shortening) is optional. Well, that aside, this document focuses on the business end of the whole kio library. The ioslave. See the documentation of the SlaveBase class for the methods you need to reimplement, and see http://developer.kde.org/documentation/design/kde/ioslaves/ for more docu online. That's nice, but how can I use it? Any time you'd like to use non blocking IO over a high level protocol (such as HTTP or FTP) a kioslave is for you. That's nice, but how do I use it? Basically, you create "jobs" by calling a public KIO::blah method (the correct prototypes, etc, are in kio/job.h). Once this is done, you connect to the result() signal, and wait for the result. There are other signals emitted by jobs, see kio/jobclasses.h. Once again, see the online documentation for more. If you are interested in working on an ioslave, the following slaves are severely lacking in functionality: SMTP SMB ------------- Original document by Rich. Updated for KDE 2 by David.