summaryrefslogtreecommitdiffstats
path: root/kioslave/DESIGN
diff options
context:
space:
mode:
Diffstat (limited to 'kioslave/DESIGN')
-rw-r--r--kioslave/DESIGN43
1 files changed, 43 insertions, 0 deletions
diff --git a/kioslave/DESIGN b/kioslave/DESIGN
new file mode 100644
index 000000000..92a03b212
--- /dev/null
+++ b/kioslave/DESIGN
@@ -0,0 +1,43 @@
+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.
+