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

KIO

  • 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
42class QByteArray;
43
44class KUrl;
45
46#if defined(DATAKIOSLAVE)
47# include <kio/slavebase.h>
48#elif !defined(TESTKIO)
49# include "kio/dataslave.h"
50#endif
51
52namespace KIO {
53
58#if defined(DATAKIOSLAVE)
59class DataProtocol : public KIO::SlaveBase {
60#elif defined(TESTKIO)
61class DataProtocol : public TestSlave {
62#else
63class DataProtocol : public DataSlave {
64#endif
65
66public:
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
This kioslave provides support of data urls as specified by rfc 2397.
Definition: dataprotocol.h:63
KIO::DataProtocol::DataProtocol
DataProtocol()
Definition: dataprotocol.cpp:242
KIO::DataSlave
This class provides a high performance implementation for the data url scheme (rfc2397).
Definition: dataslave.h:49
KIO::SlaveBase
There are two classes that specifies the protocol between application (job) and kioslave.
Definition: slavebase.h:51
KUrl
dataslave.h
KIO
A namespace for KIO globals.
Definition: kbookmarkmenu.h:55
KIO::get
TransferJob * get(const KUrl &url, LoadType reload=NoReload, JobFlags flags=DefaultFlags)
Get (a.k.a.
Definition: job.cpp:1369
KIO::mimetype
MimetypeJob * mimetype(const KUrl &url, JobFlags flags=DefaultFlags)
Find mimetype for one file or directory.
Definition: job.cpp:1856
slavebase.h
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 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-4.14.38 API Reference

Skip menu "kdelibs-4.14.38 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
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