• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdelibs API Reference
  • KDE Home
  • Contact Us
 

KIO

  • sources
  • kde-4.14
  • kdelibs
  • kio
  • kio
dataprotocol.h
Go to the documentation of this file.
1 // dataprotocol.h
2 // ================
3 //
4 // Interface of the KDE data protocol core operations
5 //
6 // Author: Leo Savernik
7 // Email: l.savernik@aon.at
8 // Copyright (C) 2002 by Leo Savernik <l.savernik@aon.at>
9 // Created: Sam Dez 28 14:11:18 CET 2002
10 
11 /***************************************************************************
12  * *
13  * This program is free software; you can redistribute it and/or modify *
14  * it under the terms of the GNU Lesser General Public License as *
15  * published by the Free Software Foundation; version 2. *
16  * *
17  ***************************************************************************/
18 
19 #ifndef DATAPROTOCOL_H
20 #define DATAPROTOCOL_H
21 
22 // dataprotocol.* interprets the following defines
23 // DATAKIOSLAVE: define if you want to compile this into a stand-alone
24 // kioslave
25 // TESTKIO: define for test-driving
26 // Both defines are mutually exclusive. Defining none of them compiles
27 // DataProtocol for internal usage within libkiocore.
28 
29 /* Wondering what this is all about? Leo explained it to me:
30  *
31  * That's simple, you can compile it into a standalone executable that is
32  * registered like any other kioslave.
33  *
34  * However, given that data-urls don't depend on any external data it seemed
35  * overkill, therefore I added a special hack that the kio-dataslave is invoked
36  * in-process on the client side.
37  *
38  * Hence, by defining DATAKIOSLAVE you can disable this special hack and compile
39  * dataprotocol.* into a standalone kioslave.
40  */
41 
42 class QByteArray;
43 
44 class KUrl;
45 
46 #if defined(DATAKIOSLAVE)
47 # include <kio/slavebase.h>
48 #elif !defined(TESTKIO)
49 # include "kio/dataslave.h"
50 #endif
51 
52 namespace KIO {
53 
58 #if defined(DATAKIOSLAVE)
59 class DataProtocol : public KIO::SlaveBase {
60 #elif defined(TESTKIO)
61 class DataProtocol : public TestSlave {
62 #else
63 class DataProtocol : public DataSlave {
64 #endif
65 
66 public:
67 #if defined(DATAKIOSLAVE)
68  DataProtocol(const QByteArray &pool_socket, const QByteArray &app_socket);
69 #else
70  DataProtocol();
71 #endif
72  virtual ~DataProtocol();
73  virtual void mimetype(const KUrl &url);
74  virtual void get(const KUrl &url);
75 };
76 
77 }/*end namespace*/
78 
79 #endif
KIO::DataProtocol::~DataProtocol
virtual ~DataProtocol()
Definition: dataprotocol.cpp:249
QByteArray
KUrl
KIO::SlaveBase
There are two classes that specifies the protocol between application (job) and kioslave.
Definition: slavebase.h:50
KIO::DataProtocol::DataProtocol
DataProtocol()
Definition: dataprotocol.cpp:242
KIO::DataProtocol::mimetype
virtual void mimetype(const KUrl &url)
Definition: dataprotocol.cpp:310
dataslave.h
slavebase.h
KIO::DataSlave
This class provides a high performance implementation for the data url scheme (rfc2397).
Definition: dataslave.h:49
KIO::DataProtocol
This kioslave provides support of data urls as specified by rfc 2397.
Definition: dataprotocol.h:63
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:24:52 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KIO

Skip menu "KIO"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdelibs API Reference

Skip menu "kdelibs API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal