4
//=============================================================================
7
// Creation date : Mon Dec 17 2001 00:05:04 by Szymon Stefanek
9
// This file is part of the KVIrc irc client distribution
10
// Copyright (C) 2001-2010 Szymon Stefanek (pragma at kvirc dot net)
12
// This program is FREE software. You can redistribute it and/or
13
// modify it under the terms of the GNU General Public License
14
// as published by the Free Software Foundation; either version 2
15
// of the License, or (at your opinion) any later version.
17
// This program is distributed in the HOPE that it will be USEFUL,
18
// but WITHOUT ANY WARRANTY; without even the implied warranty of
19
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20
// See the GNU General Public License for more details.
22
// You should have received a copy of the GNU General Public License
23
// along with this program. If not, write to the Free Software Foundation,
24
// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
26
//=============================================================================
30
* \author Szymon Stefanek
31
* \brief This file handles file operations performed by KVIrc
34
#include "kvi_settings.h"
35
#include "KviHeapObject.h"
36
#include "KviCString.h"
37
#include "KviPointerList.h"
38
#include "kvi_inttypes.h"
46
#define kvi_file_offset_t qlonglong
50
* \brief KVIrc File class
52
class KVILIB_API KviFile : public QFile, public KviHeapObject
56
* \brief Constructs file object
62
* \brief Constructs file object
63
* \param szName The name of the file
66
KviFile(const QString & szName);
69
* \brief Destroys file object
75
* \param file The file to save
76
* \warning This function saves LITTLE ENDIAN DATA!
79
bool save(kvi_u64_t file);
83
* \param file The file to save
84
* \warning This function saves LITTLE ENDIAN DATA!
87
bool save(kvi_i64_t file){ return save((kvi_u64_t)file); };
91
* \param file The file to save
92
* \warning This function saves LITTLE ENDIAN DATA!
95
bool save(kvi_u32_t file);
99
* \param file The file to save
100
* \warning This function saves LITTLE ENDIAN DATA!
103
bool save(kvi_i32_t file){ return save((kvi_u32_t)file); };
106
* \brief Saves a file
107
* \param file The file to save
108
* \warning This function saves LITTLE ENDIAN DATA!
111
bool save(kvi_u16_t file);
114
* \brief Saves a file
115
* \param file The file to save
116
* \warning This function saves LITTLE ENDIAN DATA!
119
bool save(kvi_i16_t file){ return save((kvi_u16_t)file); };
122
* \brief Saves a file
123
* \param file The file to save
124
* \warning This function saves LITTLE ENDIAN DATA!
127
bool save(kvi_u8_t file);
130
* \brief Saves a file
131
* \param file The file to save
132
* \warning This function saves LITTLE ENDIAN DATA!
135
bool save(kvi_i8_t file){ return save((kvi_u8_t)file); };
138
* \brief Saves a file
139
* \param szData The file to save
140
* \warning This function saves LITTLE ENDIAN DATA!
143
bool save(const KviCString & szData);
146
* \brief Saves a file
147
* \param data The file to save
148
* \warning This function saves LITTLE ENDIAN DATA!
151
bool save(const QByteArray & data);
154
* \brief Saves a file
155
* \param szData The file to save
156
* \warning This function saves LITTLE ENDIAN DATA!
159
bool save(const QString & szData);
162
* \brief Saves a file to a list
163
* \param pData The list where file to save is
164
* \warning This function saves LITTLE ENDIAN DATA!
167
bool save(KviPointerList<KviCString> * pData);
170
* \brief Loads a file
171
* \param file The file to load
172
* \warning This function loads LITTLE ENDIAN DATA!
175
bool load(kvi_u64_t & file);
178
* \brief Loads a file
179
* \param file The file to load
180
* \warning This function loads LITTLE ENDIAN DATA!
183
bool load(kvi_i64_t & file){ return load((kvi_u64_t &)file); };
186
* \brief Loads a file
187
* \param file The file to load
188
* \warning This function loads LITTLE ENDIAN DATA!
191
bool load(kvi_u32_t & file);
194
* \brief Loads a file
195
* \param file The file to load
196
* \warning This function loads LITTLE ENDIAN DATA!
199
bool load(kvi_i32_t & file){ return load((kvi_u32_t &)file); };
202
* \brief Loads a file
203
* \param file The file to load
204
* \warning This function loads LITTLE ENDIAN DATA!
207
bool load(kvi_u16_t & file);
210
* \brief Loads a file
211
* \param file The file to load
212
* \warning This function loads LITTLE ENDIAN DATA!
215
bool load(kvi_i16_t & file){ return load((kvi_u16_t &)file); };
218
* \brief Loads a file
219
* \param file The file to load
220
* \warning This function loads LITTLE ENDIAN DATA!
223
bool load(kvi_u8_t & file);
226
* \brief Loads a file
227
* \param file The file to load
228
* \warning This function loads LITTLE ENDIAN DATA!
231
bool load(kvi_i8_t & file){ return load((kvi_u8_t &)file); };
234
* \brief Loads a file
235
* \param szData The file to load
236
* \warning This function loads LITTLE ENDIAN DATA!
239
bool load(KviCString & szData);
242
* \brief Loads a file
243
* \param data The file to load
244
* \warning This function loads LITTLE ENDIAN DATA!
247
bool load(QByteArray & data);
250
* \brief Loads a file
251
* \param szData The file to load
252
* \warning This function loads LITTLE ENDIAN DATA!
255
bool load(QString & szData);
258
* \brief Loads a file from a list
259
* \param pData The list of files to load
260
* \warning This function loads LITTLE ENDIAN DATA!
263
bool load(KviPointerList<KviCString> * pData);
266
* \brief Skips the first occurrence of the given char for a given dimension
267
* \param t The char to find and skip
268
* \param uMaxDist The dimension of the search field
271
bool skipFirst(char t, unsigned int uMaxDist = 0xffffffff);
274
* \brief Skips the first occurrence of the given string for a given dimension
275
* \param szText The string to find and skip
276
* \param uMaxDist The dimension of the search field
279
bool skipFirst(const KviCString & szText, unsigned int uMaxDist = 0xffffffff);
282
#endif //_KVI_FILE_H_