25 #include <sys/types.h> 27 #include <tqdatetime.h> 29 #include <tqstringlist.h> 32 #include <tdelibs_export.h> 61 virtual bool open(
int mode );
77 bool closeSucceeded()
const;
90 int mode()
const {
return m_mode; }
96 TQIODevice *
device()
const {
return m_dev; }
115 bool addLocalFile(
const TQString& fileName,
const TQString& destName );
128 bool addLocalDirectory(
const TQString& path,
const TQString& destName );
142 virtual bool writeDir(
const TQString& name,
const TQString& user,
const TQString& group ) = 0;
161 bool writeDir(
const TQString& name,
const TQString& user,
const TQString& group,
162 mode_t perm, time_t atime, time_t mtime, time_t ctime );
178 bool writeSymLink(
const TQString &name,
const TQString &target,
179 const TQString &user,
const TQString &group,
180 mode_t perm, time_t atime, time_t mtime, time_t ctime);
195 virtual bool writeFile(
const TQString& name,
const TQString& user,
const TQString& group, uint size,
const char* data );
218 bool writeFile(
const TQString& name,
const TQString& user,
const TQString& group,
219 uint size, mode_t perm, time_t atime, time_t mtime,
220 time_t ctime,
const char* data );
238 virtual bool prepareWriting(
const TQString& name,
const TQString& user,
const TQString& group, uint size ) = 0;
261 bool prepareWriting(
const TQString& name,
const TQString& user,
262 const TQString& group, uint size, mode_t perm,
263 time_t atime, time_t mtime, time_t ctime );
269 bool writeData(
const char* data, uint size );
276 virtual bool doneWriting( uint size ) = 0;
284 virtual bool openArchive(
int mode ) = 0;
290 virtual bool closeArchive() = 0;
312 void setDevice( TQIODevice *dev );
324 virtual void virtual_hook(
int id,
void* data );
326 enum { VIRTUAL_WRITE_DATA = 1, VIRTUAL_WRITE_SYMLINK, VIRTUAL_WRITE_DIR,
327 VIRTUAL_WRITE_FILE, VIRTUAL_PREPARE_WRITING };
328 bool prepareWriting_impl(
const TQString& name,
const TQString& user,
329 const TQString& group, uint size, mode_t perm,
330 time_t atime, time_t mtime, time_t ctime );
331 struct PrepareWritingParams {
332 const TQString *name;
333 const TQString *user;
334 const TQString *group;
337 time_t atime, mtime, ctime;
340 bool writeFile_impl(
const TQString& name,
const TQString& user,
341 const TQString& group, uint size, mode_t perm,
342 time_t atime, time_t mtime, time_t ctime,
344 struct WriteFileParams {
345 const TQString *name;
346 const TQString *user;
347 const TQString *group;
350 time_t atime, mtime, ctime;
354 bool writeDir_impl(
const TQString& name,
const TQString& user,
355 const TQString& group, mode_t perm,
356 time_t atime, time_t mtime, time_t ctime);
357 struct WriteDirParams {
358 const TQString *name;
359 const TQString *user;
360 const TQString *group;
362 time_t atime, mtime, ctime;
365 bool writeSymLink_impl(
const TQString &name,
const TQString &target,
366 const TQString &user,
const TQString &group,
367 mode_t perm, time_t atime, time_t mtime, time_t ctime);
368 struct WriteSymlinkParams {
369 const TQString *name;
370 const TQString *target;
371 const TQString *user;
372 const TQString *group;
374 time_t atime, mtime, ctime;
377 bool writeData_impl(
const char* data, uint size );
378 struct WriteDataParams {
384 class KArchivePrivate;
409 const TQString& user,
const TQString& group,
410 const TQString &symlink );
418 TQDateTime datetime()
const;
424 int date()
const {
return m_date; }
430 TQString
name()
const {
return m_name; }
441 TQString
user()
const {
return m_user; }
446 TQString
group()
const {
return m_group; }
452 TQString
symlink()
const {
return m_symlink; }
458 virtual bool isFile()
const {
return false; }
467 KArchive* archive()
const {
return m_archive; }
478 virtual void virtual_hook(
int id,
void* data );
480 class KArchiveEntryPrivate* d;
506 const TQString& user,
const TQString& group,
const TQString &symlink,
515 int position()
const;
532 virtual TQByteArray data()
const;
542 TQIODevice *device()
const;
548 virtual bool isFile()
const {
return true; }
555 void copyTo(
const TQString& dest)
const;
561 virtual void virtual_hook(
int id,
void* data );
563 class KArchiveFilePrivate* d;
587 const TQString& user,
const TQString& group,
588 const TQString& symlink);
596 TQStringList entries()
const;
629 void copyTo(
const TQString& dest,
bool recursive =
true)
const;
632 TQDict<KArchiveEntry> m_entries;
634 virtual void virtual_hook(
int id,
void* data );
636 class KArchiveDirectoryPrivate* d;
virtual bool isDirectory() const
Checks whether the entry is a directory.
bool isOpened() const
Checks whether the archive is open.
TQString name() const
Name of the file without path.
KArchive is a base class for reading and writing archives.
TQString group() const
Group of the user who created the file.
TQString symlink() const
Symlink if there is one.
virtual bool isFile() const
Checks whether this entry is a file.
virtual bool isFile() const
Checks whether the entry is a file.
A base class for entries in an KArchive.
int date() const
Creation date of the file.
TQIODevice * device() const
The underlying device.
mode_t permissions() const
The permissions and mode flags as returned by the stat() function in st_mode.
Represents a directory entry in a KArchive.
int mode() const
Returns the mode in which the archive was opened.
Represents a file entry in a KArchive.
virtual bool isDirectory() const
Checks whether this entry is a directory.
void setSize(int s)
Set size of data, usually after writing the file.
TQString user() const
User who created the file.