KTar

#include <KTar>

Inheritance diagram for KTar:

Public Member Functions

 KTar (const QString &filename, const QString &mimetype=QString())
 
 KTar (QIODevice *dev)
 
virtual ~KTar ()
 
void setOrigFileName (const QByteArray &fileName)
 
- Public Member Functions inherited from KArchive
bool addLocalDirectory (const QString &path, const QString &destName)
 
bool addLocalFile (const QString &fileName, const QString &destName)
 
virtual bool close ()
 
QIODevicedevice () const
 
const KArchiveDirectorydirectory () const
 
QString errorString () const
 
QString fileName () const
 
bool finishWriting (qint64 size)
 
bool isOpen () const
 
QIODevice::OpenMode mode () const
 
virtual bool open (QIODevice::OpenMode mode)
 
bool prepareWriting (const QString &name, const QString &user, const QString &group, qint64 size, mode_t perm=0100644, const QDateTime &atime=QDateTime(), const QDateTime &mtime=QDateTime(), const QDateTime &ctime=QDateTime())
 
virtual bool writeData (const char *data, qint64 size)
 
bool writeDir (const QString &name, const QString &user=QString(), const QString &group=QString(), mode_t perm=040755, const QDateTime &atime=QDateTime(), const QDateTime &mtime=QDateTime(), const QDateTime &ctime=QDateTime())
 
bool writeFile (const QString &name, const QString &user, const QString &group, const char *data, qint64 size, mode_t perm=0100644, const QDateTime &atime=QDateTime(), const QDateTime &mtime=QDateTime(), const QDateTime &ctime=QDateTime())
 
bool writeFile (const QString &name, const QByteArray &data, mode_t perm=0100644, const QString &user=QString(), const QString &group=QString(), const QDateTime &atime=QDateTime(), const QDateTime &mtime=QDateTime(), const QDateTime &ctime=QDateTime())
 
bool writeSymLink (const QString &name, const QString &target, const QString &user=QString(), const QString &group=QString(), mode_t perm=0120755, const QDateTime &atime=QDateTime(), const QDateTime &mtime=QDateTime(), const QDateTime &ctime=QDateTime())
 

Protected Member Functions

bool closeArchive () override
 
bool createDevice (QIODevice::OpenMode mode) override
 
bool doFinishWriting (qint64 size) override
 
bool doPrepareWriting (const QString &name, const QString &user, const QString &group, qint64 size, mode_t perm, const QDateTime &atime, const QDateTime &mtime, const QDateTime &ctime) override
 
bool doWriteDir (const QString &name, const QString &user, const QString &group, mode_t perm, const QDateTime &atime, const QDateTime &mtime, const QDateTime &ctime) override
 
bool doWriteSymLink (const QString &name, const QString &target, const QString &user, const QString &group, mode_t perm, const QDateTime &atime, const QDateTime &mtime, const QDateTime &ctime) override
 
bool openArchive (QIODevice::OpenMode mode) override
 
void virtual_hook (int id, void *data) override
 
- Protected Member Functions inherited from KArchive
 KArchive (const QString &fileName)
 
 KArchive (QIODevice *dev)
 
KArchiveDirectoryfindOrCreate (const QString &path)
 
virtual KArchiveDirectoryrootDir ()
 
void setDevice (QIODevice *dev)
 
void setErrorString (const QString &errorStr)
 
void setRootDir (KArchiveDirectory *rootDir)
 

Detailed Description

A class for reading / writing (optionally compressed) tar archives.

KTar allows you to read and write tar archives, including those that are compressed using gzip, bzip2 or xz.

Author
Torben Weis [email protected][email protected]kde.[email protected]org, David Faure faure[email protected]@kde[email protected].org

Definition at line 22 of file ktar.h.

Constructor & Destructor Documentation

KTar::KTar ( const QString filename,
const QString mimetype = QString() 
)
explicit

Creates an instance that operates on the given filename using the compression filter associated to given mimetype.

Parameters
filenameis a local path (e.g. "/home/weis/myfile.tgz")
mimetype"application/x-gzip", "application/x-bzip" or "application/x-xz" Do not use application/x-compressed-tar or similar - you only need to specify the compression layer ! If the mimetype is omitted, it will be determined from the filename.

Definition at line 64 of file ktar.cpp.

KTar::KTar ( QIODevice dev)
explicit

Creates an instance that operates on the given device.

The device can be compressed (KFilterDev) or not (QFile, etc.).

Warning
Do not assume that giving a QFile here will decompress the file, in case it's compressed!
Parameters
devthe device to read from. If the source is compressed, the QIODevice must take care of decompression

Definition at line 71 of file ktar.cpp.

KTar::~KTar ( )
virtual

If the tar ball is still opened, then it will be closed automatically by the destructor.

Definition at line 153 of file ktar.cpp.

Member Function Documentation

bool KTar::closeArchive ( )
overrideprotectedvirtual

Closes the archive.

Called by close.

Implements KArchive.

Definition at line 585 of file ktar.cpp.

bool KTar::createDevice ( QIODevice::OpenMode  mode)
overrideprotectedvirtual

Can be reimplemented in order to change the creation of the device (when using the fileName constructor).

By default this method uses QSaveFile when saving, and a simple QFile on reading. This method is called by open().

Reimplemented from KArchive.

Definition at line 78 of file ktar.cpp.

bool KTar::doFinishWriting ( qint64  size)
overrideprotectedvirtual

Reimplemented from KArchive.

Implements KArchive.

Definition at line 604 of file ktar.cpp.

bool KTar::doPrepareWriting ( const QString name,
const QString user,
const QString group,
qint64  size,
mode_t  perm,
const QDateTime atime,
const QDateTime mtime,
const QDateTime ctime 
)
overrideprotectedvirtual

Reimplemented from KArchive.

Implements KArchive.

Definition at line 738 of file ktar.cpp.

bool KTar::doWriteDir ( const QString name,
const QString user,
const QString group,
mode_t  perm,
const QDateTime atime,
const QDateTime mtime,
const QDateTime ctime 
)
overrideprotectedvirtual

Reimplemented from KArchive.

Implements KArchive.

Definition at line 813 of file ktar.cpp.

bool KTar::doWriteSymLink ( const QString name,
const QString target,
const QString user,
const QString group,
mode_t  perm,
const QDateTime atime,
const QDateTime mtime,
const QDateTime ctime 
)
overrideprotectedvirtual

Reimplemented from KArchive.

Implements KArchive.

Definition at line 877 of file ktar.cpp.

bool KTar::openArchive ( QIODevice::OpenMode  mode)
overrideprotectedvirtual

Opens the archive for reading.

Parses the directory listing of the archive and creates the KArchiveDirectory/KArchiveFile entries.

Parameters
modethe mode of the file

Implements KArchive.

Definition at line 354 of file ktar.cpp.

void KTar::setOrigFileName ( const QByteArray fileName)

Special function for setting the "original file name" in the gzip header, when writing a tar.gz file.

It appears when using in the "file" command, for instance. Should only be called if the underlying device is a KFilterDev!

Parameters
fileNamethe original file name

Definition at line 165 of file ktar.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sat Sep 19 2020 23:02:01 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.