00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __global_h__
00019 #define __global_h__ "$Id: global.h,v 1.54.2.1 2003/01/16 02:33:59 brade Exp $"
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 {
00036 typedef signed long long int fileoffset_t;
00037 typedef unsigned long long int filesize_t;
00038
00045 QString convertSize( KIO::filesize_t size );
00046
00054 QString number( KIO::filesize_t size );
00055
00062 QString convertSizeFromKB( KIO::filesize_t kbSize );
00063
00072 QTime calculateRemaining( KIO::filesize_t totalSize, KIO::filesize_t processedSize, KIO::filesize_t speed );
00073
00080 QString itemsSummaryString(uint items, uint files, uint dirs, KIO::filesize_t size, bool showSize);
00081
00087 QString encodeFileName( const QString & str );
00092 QString decodeFileName( const QString & str );
00093
00097 enum Error {
00098 ERR_CANNOT_OPEN_FOR_READING = 1,
00099 ERR_CANNOT_OPEN_FOR_WRITING = 2,
00100 ERR_CANNOT_LAUNCH_PROCESS = 3,
00101 ERR_INTERNAL = 4,
00102 ERR_MALFORMED_URL = 5,
00103 ERR_UNSUPPORTED_PROTOCOL = 6,
00104 ERR_NO_SOURCE_PROTOCOL = 7,
00105 ERR_UNSUPPORTED_ACTION = 8,
00106 ERR_IS_DIRECTORY = 9,
00107 ERR_IS_FILE = 10,
00108 ERR_DOES_NOT_EXIST = 11,
00109 ERR_FILE_ALREADY_EXIST = 12,
00110 ERR_DIR_ALREADY_EXIST = 13,
00111 ERR_UNKNOWN_HOST = 14,
00112 ERR_ACCESS_DENIED = 15,
00113 ERR_WRITE_ACCESS_DENIED = 16,
00114 ERR_CANNOT_ENTER_DIRECTORY = 17,
00115 ERR_PROTOCOL_IS_NOT_A_FILESYSTEM = 18,
00116 ERR_CYCLIC_LINK = 19,
00117 ERR_USER_CANCELED = 20,
00118 ERR_CYCLIC_COPY = 21,
00119 ERR_COULD_NOT_CREATE_SOCKET = 22,
00120 ERR_COULD_NOT_CONNECT = 23,
00121 ERR_CONNECTION_BROKEN = 24,
00122 ERR_NOT_FILTER_PROTOCOL = 25,
00123 ERR_COULD_NOT_MOUNT = 26,
00124 ERR_COULD_NOT_UNMOUNT = 27,
00125 ERR_COULD_NOT_READ = 28,
00126 ERR_COULD_NOT_WRITE = 29,
00127 ERR_COULD_NOT_BIND = 30,
00128 ERR_COULD_NOT_LISTEN = 31,
00129 ERR_COULD_NOT_ACCEPT = 32,
00130 ERR_COULD_NOT_LOGIN = 33,
00131 ERR_COULD_NOT_STAT = 34,
00132 ERR_COULD_NOT_CLOSEDIR = 35,
00133 ERR_COULD_NOT_MKDIR = 37,
00134 ERR_COULD_NOT_RMDIR = 38,
00135 ERR_CANNOT_RESUME = 39,
00136 ERR_CANNOT_RENAME = 40,
00137 ERR_CANNOT_CHMOD = 41,
00138 ERR_CANNOT_DELETE = 42,
00139
00140
00141 ERR_SLAVE_DIED = 43,
00142 ERR_OUT_OF_MEMORY = 44,
00143 ERR_UNKNOWN_PROXY_HOST = 45,
00144 ERR_COULD_NOT_AUTHENTICATE = 46,
00145 ERR_ABORTED = 47,
00146
00147 ERR_INTERNAL_SERVER = 48,
00148 ERR_SERVER_TIMEOUT = 49,
00149 ERR_SERVICE_NOT_AVAILABLE = 50,
00150 ERR_UNKNOWN = 51,
00151
00152 ERR_UNKNOWN_INTERRUPT = 53,
00153 ERR_CANNOT_DELETE_ORIGINAL = 54,
00154 ERR_CANNOT_DELETE_PARTIAL = 55,
00155 ERR_CANNOT_RENAME_ORIGINAL = 56,
00156 ERR_CANNOT_RENAME_PARTIAL = 57,
00157 ERR_NEED_PASSWD = 58,
00158 ERR_CANNOT_SYMLINK = 59,
00159 ERR_NO_CONTENT = 60,
00160 ERR_DISK_FULL = 61,
00161 ERR_IDENTICAL_FILES = 62,
00162 ERR_SLAVE_DEFINED = 63,
00163
00164
00165
00166
00167
00168 ERR_UPGRADE_REQUIRED = 64,
00169
00170
00171 ERR_POST_DENIED = 65
00172
00173 };
00174
00175
00176
00177
00178
00179 QString buildErrorString(int errorCode, const QString &errorText);
00180
00181
00182
00183
00184
00185
00186 QString buildHTMLErrorString(int errorCode, const QString &errorText,
00187 const KURL *reqUrl = 0L, int method = -1 );
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201 QByteArray rawErrorDetail(int errorCode, const QString &errorText,
00202 const KURL *reqUrl = 0L, int method = -1 );
00203
00207 enum UDSAtomTypes {
00209 UDS_STRING = 1,
00210 UDS_LONG = 2,
00211 UDS_TIME = 4 | UDS_LONG,
00212
00214 UDS_SIZE = 8 | UDS_LONG,
00215 UDS_SIZE_LARGE = 32768 | UDS_LONG,
00217
00219
00221
00223
00225
00227
00229
00233
00236
00238
00240
00243
00246
00247 };
00248
00249 enum CacheControl
00250 {
00251 CC_CacheOnly,
00252 CC_Cache,
00253 CC_Verify,
00254 CC_Refresh,
00255
00256 CC_Reload
00257 };
00258
00259 KIO::CacheControl parseCacheControl(const QString &cacheControl);
00260
00261 QString getCacheControlString(KIO::CacheControl cacheControl);
00262
00268 QString findDeviceMountPoint( const QString& device );
00269
00275 QString findPathMountPoint( const QString & filename );
00276
00282 bool probably_slow_mounted(const QString& filename);
00283
00290 bool manually_mounted(const QString& filename);
00291
00292
00293
00294
00295
00296
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306 class UDSAtom
00307 {
00308 public:
00312 QString m_str;
00313 long long m_long;
00314
00318 unsigned int m_uds;
00319 };
00320
00324 typedef QValueList<UDSAtom> UDSEntry;
00325 typedef QValueList<UDSEntry> UDSEntryList;
00326 typedef QValueListIterator<UDSEntry> UDSEntryListIterator;
00327 typedef QValueListConstIterator<UDSEntry> UDSEntryListConstIterator;
00328
00329 class MetaData : public QMap<QString, QString>
00330 {
00331 public:
00332 MetaData() : QMap<QString, QString>() { };
00333 MetaData(const QMap<QString, QString>&metaData) :
00334 QMap<QString, QString>(metaData) { };
00335
00336 MetaData & operator+= ( const QMap<QString,QString> &metaData )
00337 {
00338 QMap<QString,QString>::ConstIterator it;
00339 for( it = metaData.begin();
00340 it != metaData.end();
00341 ++it)
00342 {
00343 replace(it.key(), it.data());
00344 }
00345 return *this;
00346 }
00347 };
00348
00349 };
00350 #endif