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

KIO

  • kio
  • kio
global.h
Go to the documentation of this file.
1 // -*- c-basic-offset: 2 -*-
2 /* This file is part of the KDE libraries
3  Copyright (C) 2000-2005 David Faure <faure@kde.org>
4 
5  This library is free software; you can redistribute it and/or
6  modify it under the terms of the GNU Library General Public
7  License version 2 as published by the Free Software Foundation.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Library General Public License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this library; see the file COPYING.LIB. If not, write to
16  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  Boston, MA 02110-1301, USA.
18 */
19 #ifndef KIO_GLOBAL_H
20 #define KIO_GLOBAL_H
21 
22 #include <kio/kio_export.h>
23 
24 #include <QtCore/QString>
25 #include <QtCore/QHash>
26 #include <QtCore/QMap>
27 #include <QtCore/QList>
28 #include <QtCore/QVariant>
29 
30 #include <kiconloader.h>
31 #include <QtGui/QPixmap> // for pixmapForUrl
32 
33 #include <sys/stat.h> // S_ISDIR
34 #include <sys/types.h> // mode_t
35 
36 #include <kjob.h>
37 
38 #ifdef Q_CC_MSVC
39 template class KDE_EXPORT QMap<QString, QString>;
40 #endif
41 
42 class KUrl;
43 class KJobTrackerInterface;
44 
45 class QTime;
46 
51 namespace KIO
52 {
54  typedef qlonglong fileoffset_t;
56  typedef qulonglong filesize_t;
57 
64  KIO_EXPORT QString convertSize( KIO::filesize_t size );
65 
73  KIO_EXPORT QString number( KIO::filesize_t size );
74 
81  KIO_EXPORT QString convertSizeFromKiB( KIO::filesize_t kibSize );
82 
91  KIO_EXPORT unsigned int calculateRemainingSeconds( KIO::filesize_t totalSize,
92  KIO::filesize_t processedSize, KIO::filesize_t speed );
93 
100  KIO_EXPORT QString convertSeconds( unsigned int seconds );
101 
111 #ifndef KDE_NO_DEPRECATED
112  KIO_EXPORT_DEPRECATED QTime calculateRemaining( KIO::filesize_t totalSize, KIO::filesize_t processedSize, KIO::filesize_t speed );
113 #endif
114 
124  KIO_EXPORT QString itemsSummaryString(uint items, uint files, uint dirs, KIO::filesize_t size, bool showSize);
125 
133  KIO_EXPORT QString encodeFileName( const QString & str );
141  KIO_EXPORT QString decodeFileName( const QString & str );
142 
149  enum Command {
150  CMD_HOST = '0', // 48
151  CMD_CONNECT = '1', // 49
152  CMD_DISCONNECT = '2', // 50
153  CMD_SLAVE_STATUS = '3', // 51
154  CMD_SLAVE_CONNECT = '4', // 52
155  CMD_SLAVE_HOLD = '5', // 53
156  CMD_NONE = 'A', // 65
157  CMD_TESTDIR = 'B', // 66
158  CMD_GET = 'C', // 67
159  CMD_PUT = 'D', // 68
160  CMD_STAT = 'E', // 69
161  CMD_MIMETYPE = 'F', // 70
162  CMD_LISTDIR = 'G', // 71
163  CMD_MKDIR = 'H', // 72
164  CMD_RENAME = 'I', // 73
165  CMD_COPY = 'J', // 74
166  CMD_DEL = 'K', // 75
167  CMD_CHMOD = 'L', // 76
168  CMD_SPECIAL = 'M', // 77
169  CMD_SETMODIFICATIONTIME = 'N', // 78
170  CMD_REPARSECONFIGURATION = 'O', // 79
171  CMD_META_DATA = 'P', // 80
172  CMD_SYMLINK = 'Q', // 81
173  CMD_SUBURL = 'R', // 82 Inform the slave about the url it is streaming on.
174  CMD_MESSAGEBOXANSWER = 'S', // 83
175  CMD_RESUMEANSWER = 'T', // 84
176  CMD_CONFIG = 'U', // 85
177  CMD_MULTI_GET = 'V', // 86
178  CMD_SETLINKDEST = 'W', // 87
179  CMD_OPEN = 'X', // 88
180  CMD_CHOWN = 'Y', // 89
181  CMD_READ = 'Z', // 90
182  CMD_WRITE = 91,
183  CMD_SEEK = 92,
184  CMD_CLOSE = 93,
185  CMD_HOST_INFO = 94
186  // Add new ones here once a release is done, to avoid breaking binary compatibility.
187  // Note that protocol-specific commands shouldn't be added here, but should use special.
188  };
189 
193  enum Error {
194  ERR_CANNOT_OPEN_FOR_READING = KJob::UserDefinedError + 1,
195  ERR_CANNOT_OPEN_FOR_WRITING = KJob::UserDefinedError + 2,
196  ERR_CANNOT_LAUNCH_PROCESS = KJob::UserDefinedError + 3,
197  ERR_INTERNAL = KJob::UserDefinedError + 4,
198  ERR_MALFORMED_URL = KJob::UserDefinedError + 5,
199  ERR_UNSUPPORTED_PROTOCOL = KJob::UserDefinedError + 6,
200  ERR_NO_SOURCE_PROTOCOL = KJob::UserDefinedError + 7,
201  ERR_UNSUPPORTED_ACTION = KJob::UserDefinedError + 8,
202  ERR_IS_DIRECTORY = KJob::UserDefinedError + 9, // ... where a file was expected
203  ERR_IS_FILE = KJob::UserDefinedError + 10, // ... where a directory was expected (e.g. listing)
204  ERR_DOES_NOT_EXIST = KJob::UserDefinedError + 11,
205  ERR_FILE_ALREADY_EXIST = KJob::UserDefinedError + 12,
206  ERR_DIR_ALREADY_EXIST = KJob::UserDefinedError + 13,
207  ERR_UNKNOWN_HOST = KJob::UserDefinedError + 14,
208  ERR_ACCESS_DENIED = KJob::UserDefinedError + 15,
209  ERR_WRITE_ACCESS_DENIED = KJob::UserDefinedError + 16,
210  ERR_CANNOT_ENTER_DIRECTORY = KJob::UserDefinedError + 17,
211  ERR_PROTOCOL_IS_NOT_A_FILESYSTEM = KJob::UserDefinedError + 18,
212  ERR_CYCLIC_LINK = KJob::UserDefinedError + 19,
213  ERR_USER_CANCELED = KJob::KilledJobError,
214  ERR_CYCLIC_COPY = KJob::UserDefinedError + 21,
215  ERR_COULD_NOT_CREATE_SOCKET = KJob::UserDefinedError + 22, // KDE4: s/COULD_NOT/CANNOT/ or the other way round
216  ERR_COULD_NOT_CONNECT = KJob::UserDefinedError + 23,
217  ERR_CONNECTION_BROKEN = KJob::UserDefinedError + 24,
218  ERR_NOT_FILTER_PROTOCOL = KJob::UserDefinedError + 25,
219  ERR_COULD_NOT_MOUNT = KJob::UserDefinedError + 26,
220  ERR_COULD_NOT_UNMOUNT = KJob::UserDefinedError + 27,
221  ERR_COULD_NOT_READ = KJob::UserDefinedError + 28,
222  ERR_COULD_NOT_WRITE = KJob::UserDefinedError + 29,
223  ERR_COULD_NOT_BIND = KJob::UserDefinedError + 30,
224  ERR_COULD_NOT_LISTEN = KJob::UserDefinedError + 31,
225  ERR_COULD_NOT_ACCEPT = KJob::UserDefinedError + 32,
226  ERR_COULD_NOT_LOGIN = KJob::UserDefinedError + 33,
227  ERR_COULD_NOT_STAT = KJob::UserDefinedError + 34,
228  ERR_COULD_NOT_CLOSEDIR = KJob::UserDefinedError + 35,
229  ERR_COULD_NOT_MKDIR = KJob::UserDefinedError + 37,
230  ERR_COULD_NOT_RMDIR = KJob::UserDefinedError + 38,
231  ERR_CANNOT_RESUME = KJob::UserDefinedError + 39,
232  ERR_CANNOT_RENAME = KJob::UserDefinedError + 40,
233  ERR_CANNOT_CHMOD = KJob::UserDefinedError + 41,
234  ERR_CANNOT_DELETE = KJob::UserDefinedError + 42,
235  // The text argument is the protocol that the dead slave supported.
236  // This means for example: file, ftp, http, ...
237  ERR_SLAVE_DIED = KJob::UserDefinedError + 43,
238  ERR_OUT_OF_MEMORY = KJob::UserDefinedError + 44,
239  ERR_UNKNOWN_PROXY_HOST = KJob::UserDefinedError + 45,
240  ERR_COULD_NOT_AUTHENTICATE = KJob::UserDefinedError + 46,
241  ERR_ABORTED = KJob::UserDefinedError + 47, // Action got aborted from application side
242  ERR_INTERNAL_SERVER = KJob::UserDefinedError + 48,
243  ERR_SERVER_TIMEOUT = KJob::UserDefinedError + 49,
244  ERR_SERVICE_NOT_AVAILABLE = KJob::UserDefinedError + 50,
245  ERR_UNKNOWN = KJob::UserDefinedError + 51,
246  // (was a warning) ERR_CHECKSUM_MISMATCH = 52,
247  ERR_UNKNOWN_INTERRUPT = KJob::UserDefinedError + 53,
248  ERR_CANNOT_DELETE_ORIGINAL = KJob::UserDefinedError + 54,
249  ERR_CANNOT_DELETE_PARTIAL = KJob::UserDefinedError + 55,
250  ERR_CANNOT_RENAME_ORIGINAL = KJob::UserDefinedError + 56,
251  ERR_CANNOT_RENAME_PARTIAL = KJob::UserDefinedError + 57,
252  ERR_NEED_PASSWD = KJob::UserDefinedError + 58,
253  ERR_CANNOT_SYMLINK = KJob::UserDefinedError + 59,
254  ERR_NO_CONTENT = KJob::UserDefinedError + 60, // Action succeeded but no content will follow.
255  ERR_DISK_FULL = KJob::UserDefinedError + 61,
256  ERR_IDENTICAL_FILES = KJob::UserDefinedError + 62, // src==dest when moving/copying
257  ERR_SLAVE_DEFINED = KJob::UserDefinedError + 63, // for slave specified errors that can be
258  // rich text. Email links will be handled
259  // by the standard email app and all hrefs
260  // will be handled by the standard browser.
261  // <a href="exec:/khelpcenter ?" will be
262  // forked.
263  ERR_UPGRADE_REQUIRED = KJob::UserDefinedError + 64, // A transport upgrade is required to access this
264  // object. For instance, TLS is demanded by
265  // the server in order to continue.
266  ERR_POST_DENIED = KJob::UserDefinedError + 65, // Issued when trying to POST data to a certain Ports
267  // see job.cpp
268  ERR_COULD_NOT_SEEK = KJob::UserDefinedError + 66,
269  ERR_CANNOT_SETTIME = KJob::UserDefinedError + 67, // Emitted by setModificationTime
270  ERR_CANNOT_CHOWN = KJob::UserDefinedError + 68,
271  ERR_POST_NO_SIZE = KJob::UserDefinedError + 69
272  };
273 
281  KIO_EXPORT QString buildErrorString(int errorCode, const QString &errorText);
282 
293  KIO_EXPORT QString buildHTMLErrorString(int errorCode, const QString &errorText,
294  const KUrl *reqUrl = 0L, int method = -1 );
295 
312  KIO_EXPORT QByteArray rawErrorDetail(int errorCode, const QString &errorText,
313  const KUrl *reqUrl = 0L, int method = -1 );
314 
322  KIO_EXPORT QString unsupportedActionErrorString(const QString &protocol, int cmd);
323 
329  enum CacheControl
330  {
331  CC_CacheOnly,
332  CC_Cache,
333  CC_Verify,
334  CC_Refresh,
335  CC_Reload
336  };
337 
345  KIO_EXPORT KIO::CacheControl parseCacheControl(const QString &cacheControl);
346 
354  KIO_EXPORT QString getCacheControlString(KIO::CacheControl cacheControl);
355 
374  KIO_EXPORT QPixmap pixmapForUrl( const KUrl & _url, mode_t _mode = 0, KIconLoader::Group _group = KIconLoader::Desktop,
375  int _force_size = 0, int _state = 0, QString * _path = 0 );
376 
377  KIO_EXPORT KJobTrackerInterface *getJobTracker();
378 
379 
383 class KIO_EXPORT MetaData : public QMap<QString, QString>
384 {
385 public:
389  MetaData() : QMap<QString, QString>() { }
393  MetaData(const QMap<QString, QString>&metaData) :
394  QMap<QString, QString>(metaData) { }
395 
400  MetaData(const QMap<QString,QVariant> &);
401 
407  MetaData & operator += ( const QMap<QString,QString> &metaData )
408  {
409  QMap<QString,QString>::ConstIterator it;
410  for(it = metaData.constBegin(); it != metaData.constEnd(); ++it)
411  {
412  insert(it.key(), it.value());
413  }
414  return *this;
415  }
416 
427  MetaData & operator += ( const QMap<QString,QVariant> &metaData );
428 
435  MetaData & operator = ( const QMap<QString,QVariant> &metaData );
436 
443  QVariant toVariant() const;
444 };
445 
446 }
447 #endif
This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Sat Jun 1 2013 20:20:47 by doxygen 1.8.3.1 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.10.4 API Reference

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