00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
#ifndef __kio_global_h__
00019
#define __kio_global_h__
00020
00021
#include <qstring.h>
00022
#include <qvaluelist.h>
00023
#include <qptrlist.h>
00024
#include <qdatastream.h>
00025
#include <qdatetime.h>
00026
#include <qmap.h>
00027
00028
#include <kurl.h>
00029
00034
namespace KIO
00035 {
00037 typedef Q_LLONG
fileoffset_t;
00039 typedef Q_ULLONG
filesize_t;
00040
00047 KIO_EXPORT
QString convertSize( KIO::filesize_t size );
00048
00056 KIO_EXPORT
QString number( KIO::filesize_t size );
00057
00064 KIO_EXPORT
QString convertSizeFromKB( KIO::filesize_t kbSize );
00065
00076 KIO_EXPORT
unsigned int calculateRemainingSeconds( KIO::filesize_t totalSize,
00077 KIO::filesize_t processedSize, KIO::filesize_t speed );
00078
00087 KIO_EXPORT
QString convertSeconds(
unsigned int seconds );
00088
00098 KIO_EXPORT
QTime calculateRemaining( KIO::filesize_t totalSize, KIO::filesize_t processedSize, KIO::filesize_t speed ) KDE_DEPRECATED;
00099
00109 KIO_EXPORT
QString itemsSummaryString(uint items, uint files, uint dirs, KIO::filesize_t size,
bool showSize);
00110
00118 KIO_EXPORT
QString encodeFileName(
const QString & str );
00125 KIO_EXPORT
QString decodeFileName(
const QString & str );
00126
00130 enum Command {
00131 CMD_HOST =
'0',
00132 CMD_CONNECT =
'1',
00133 CMD_DISCONNECT =
'2',
00134 CMD_SLAVE_STATUS =
'3',
00135 CMD_SLAVE_CONNECT =
'4',
00136 CMD_SLAVE_HOLD =
'5',
00137 CMD_NONE =
'A',
00138 CMD_TESTDIR =
'B',
00139 CMD_GET =
'C',
00140 CMD_PUT =
'D',
00141 CMD_STAT =
'E',
00142 CMD_MIMETYPE =
'F',
00143 CMD_LISTDIR =
'G',
00144 CMD_MKDIR =
'H',
00145 CMD_RENAME =
'I',
00146 CMD_COPY =
'J',
00147 CMD_DEL =
'K',
00148 CMD_CHMOD =
'L',
00149 CMD_SPECIAL =
'M',
00150 CMD_USERPASS =
'N',
00151 CMD_REPARSECONFIGURATION =
'O',
00152 CMD_META_DATA =
'P',
00153 CMD_SYMLINK =
'Q',
00154 CMD_SUBURL =
'R',
00155 CMD_MESSAGEBOXANSWER =
'S',
00156 CMD_RESUMEANSWER =
'T',
00157 CMD_CONFIG =
'U',
00158 CMD_MULTI_GET =
'V'
00159
00160
00161 };
00162
00166 enum Error {
00167 ERR_CANNOT_OPEN_FOR_READING = 1,
00168 ERR_CANNOT_OPEN_FOR_WRITING = 2,
00169 ERR_CANNOT_LAUNCH_PROCESS = 3,
00170 ERR_INTERNAL = 4,
00171 ERR_MALFORMED_URL = 5,
00172 ERR_UNSUPPORTED_PROTOCOL = 6,
00173 ERR_NO_SOURCE_PROTOCOL = 7,
00174 ERR_UNSUPPORTED_ACTION = 8,
00175 ERR_IS_DIRECTORY = 9,
00176 ERR_IS_FILE = 10,
00177 ERR_DOES_NOT_EXIST = 11,
00178 ERR_FILE_ALREADY_EXIST = 12,
00179 ERR_DIR_ALREADY_EXIST = 13,
00180 ERR_UNKNOWN_HOST = 14,
00181 ERR_ACCESS_DENIED = 15,
00182 ERR_WRITE_ACCESS_DENIED = 16,
00183 ERR_CANNOT_ENTER_DIRECTORY = 17,
00184 ERR_PROTOCOL_IS_NOT_A_FILESYSTEM = 18,
00185 ERR_CYCLIC_LINK = 19,
00186 ERR_USER_CANCELED = 20,
00187 ERR_CYCLIC_COPY = 21,
00188 ERR_COULD_NOT_CREATE_SOCKET = 22,
00189 ERR_COULD_NOT_CONNECT = 23,
00190 ERR_CONNECTION_BROKEN = 24,
00191 ERR_NOT_FILTER_PROTOCOL = 25,
00192 ERR_COULD_NOT_MOUNT = 26,
00193 ERR_COULD_NOT_UNMOUNT = 27,
00194 ERR_COULD_NOT_READ = 28,
00195 ERR_COULD_NOT_WRITE = 29,
00196 ERR_COULD_NOT_BIND = 30,
00197 ERR_COULD_NOT_LISTEN = 31,
00198 ERR_COULD_NOT_ACCEPT = 32,
00199 ERR_COULD_NOT_LOGIN = 33,
00200 ERR_COULD_NOT_STAT = 34,
00201 ERR_COULD_NOT_CLOSEDIR = 35,
00202 ERR_COULD_NOT_MKDIR = 37,
00203 ERR_COULD_NOT_RMDIR = 38,
00204 ERR_CANNOT_RESUME = 39,
00205 ERR_CANNOT_RENAME = 40,
00206 ERR_CANNOT_CHMOD = 41,
00207 ERR_CANNOT_DELETE = 42,
00208
00209
00210 ERR_SLAVE_DIED = 43,
00211 ERR_OUT_OF_MEMORY = 44,
00212 ERR_UNKNOWN_PROXY_HOST = 45,
00213 ERR_COULD_NOT_AUTHENTICATE = 46,
00214 ERR_ABORTED = 47,
00215 ERR_INTERNAL_SERVER = 48,
00216 ERR_SERVER_TIMEOUT = 49,
00217 ERR_SERVICE_NOT_AVAILABLE = 50,
00218 ERR_UNKNOWN = 51,
00219
00220 ERR_UNKNOWN_INTERRUPT = 53,
00221 ERR_CANNOT_DELETE_ORIGINAL = 54,
00222 ERR_CANNOT_DELETE_PARTIAL = 55,
00223 ERR_CANNOT_RENAME_ORIGINAL = 56,
00224 ERR_CANNOT_RENAME_PARTIAL = 57,
00225 ERR_NEED_PASSWD = 58,
00226 ERR_CANNOT_SYMLINK = 59,
00227 ERR_NO_CONTENT = 60,
00228 ERR_DISK_FULL = 61,
00229 ERR_IDENTICAL_FILES = 62,
00230 ERR_SLAVE_DEFINED = 63,
00231
00232
00233
00234
00235
00236 ERR_UPGRADE_REQUIRED = 64,
00237
00238
00239 ERR_POST_DENIED = 65
00240
00241 };
00242
00250 KIO_EXPORT
QString buildErrorString(
int errorCode,
const QString &errorText);
00251
00262 KIO_EXPORT
QString buildHTMLErrorString(
int errorCode,
const QString &errorText,
00263
const KURL *reqUrl = 0L,
int method = -1 );
00264
00281 KIO_EXPORT
QByteArray rawErrorDetail(
int errorCode,
const QString &errorText,
00282
const KURL *reqUrl = 0L,
int method = -1 );
00283
00292 KIO_EXPORT
QString unsupportedActionErrorString(
const QString &protocol,
int cmd);
00293
00297 enum UDSAtomTypes {
00299
UDS_STRING = 1,
00300 UDS_LONG = 2,
00301 UDS_TIME = 4 | UDS_LONG,
00302
00303
00304
00305
00306
00308
UDS_SIZE = 8 | UDS_LONG,
00309 UDS_SIZE_LARGE = 32768 | UDS_LONG,
00311
UDS_USER = 16 |
UDS_STRING,
00315
UDS_ICON_NAME = 24 |
UDS_STRING,
00317
UDS_GROUP = 32 |
UDS_STRING,
00321
UDS_EXTRA = 48 |
UDS_STRING,
00324
UDS_NAME = 64 |
UDS_STRING,
00327
UDS_LOCAL_PATH = 72 |
UDS_STRING,
00328
00329
00330
00332
UDS_ACCESS = 128 | UDS_LONG,
00334
UDS_MODIFICATION_TIME = 256 | UDS_TIME,
00336
UDS_ACCESS_TIME = 512 | UDS_TIME,
00338
UDS_CREATION_TIME = 1024 | UDS_TIME,
00342
UDS_FILE_TYPE = 2048 | UDS_LONG,
00345
UDS_LINK_DEST = 4096 |
UDS_STRING,
00347
UDS_URL = 8192 |
UDS_STRING,
00349
UDS_MIME_TYPE = 16384 |
UDS_STRING,
00352
UDS_GUESSED_MIME_TYPE = 16392 |
UDS_STRING,
00355
UDS_XML_PROPERTIES = 32768 |
UDS_STRING
00356 };
00357
00363 enum CacheControl
00364 {
00365
CC_CacheOnly,
00366
CC_Cache,
00367
CC_Verify,
00368
CC_Refresh,
00369
00370
CC_Reload
00371 };
00372
00380 KIO_EXPORT KIO::CacheControl
parseCacheControl(
const QString &cacheControl);
00381
00389 KIO_EXPORT
QString getCacheControlString(KIO::CacheControl cacheControl);
00390
00396 KIO_EXPORT
QString findDeviceMountPoint(
const QString& device );
00397
00405 KIO_EXPORT
QString findPathMountPoint(
const QString & filename );
00406
00414 KIO_EXPORT
bool probably_slow_mounted(
const QString& filename);
00415
00422 KIO_EXPORT
bool manually_mounted(
const QString& filename);
00423
00424
enum FileSystemFlag { SupportsChmod, SupportsChown, SupportsUTime,
00425 SupportsSymlinks, CaseInsensitive };
00446 KIO_EXPORT
bool testFileSystemFlag(
const QString& filename, FileSystemFlag flag);
00447
00448
00449
00450
00451
00452
00453
00454
00455
00456
00457
00458
00459
00460
00461
00462
class KIO_EXPORT UDSAtom
00463 {
00464
public:
00468
QString m_str;
00472
long long m_long;
00473
00477
unsigned int m_uds;
00478 };
00479
00483 typedef QValueList<UDSAtom> UDSEntry;
00484
typedef QValueList<UDSEntry> UDSEntryList;
00485
typedef QValueListIterator<UDSEntry> UDSEntryListIterator;
00486
typedef QValueListConstIterator<UDSEntry> UDSEntryListConstIterator;
00487
00491 class KIO_EXPORT MetaData :
public QMap<QString, QString>
00492 {
00493
public:
00497 MetaData() :
QMap<
QString,
QString>() { };
00501 MetaData(
const QMap<QString, QString>&metaData) :
00502
QMap<
QString,
QString>(metaData) { };
00503
00509 MetaData & operator+= (
const QMap<QString,QString> &metaData )
00510 {
00511
QMap<QString,QString>::ConstIterator it;
00512
for( it = metaData.begin();
00513 it != metaData.end();
00514 ++it)
00515 {
00516 replace(it.key(), it.data());
00517 }
00518
return *
this;
00519 }
00520 };
00521
00522 }
00523
#endif