KTar

Search for usage in LXR

#include <KTar>

Inheritance diagram for KTar:

Public Member Functions

 KTar (const QString &filename, const QString &mimetype=QString())
 
 KTar (QIODevice *dev)
 
 ~KTar () override
 
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())
 
bool writeData (const char *data, qint64 size)
 
bool writeData (QByteArrayView data)
 
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, QByteArrayView 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)
 
virtual bool doWriteData (const char *data, qint64 size)
 
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 weis@.nosp@m.kde..nosp@m.org, David Faure faure.nosp@m.@kde.nosp@m..org

Definition at line 22 of file ktar.h.

Constructor & Destructor Documentation

◆ KTar() [1/2]

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/gzip" (before 5.85: "application/x-gzip"), "application/x-bzip", "application/x-xz", "application/zstd" (since 5.82) 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 69 of file ktar.cpp.

◆ KTar() [2/2]

KTar::KTar ( QIODevice * dev)
explicit

Creates an instance that operates on the given device.

The device can be compressed (KCompressionDevice) 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 84 of file ktar.cpp.

◆ ~KTar()

KTar::~KTar ( )
override

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

Definition at line 170 of file ktar.cpp.

Member Function Documentation

◆ closeArchive()

bool KTar::closeArchive ( )
overrideprotectedvirtual

Closes the archive.

Called by close.

Implements KArchive.

Definition at line 603 of file ktar.cpp.

◆ createDevice()

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 91 of file ktar.cpp.

◆ doFinishWriting()

bool KTar::doFinishWriting ( qint64 size)
overrideprotectedvirtual

Reimplemented from KArchive.

Implements KArchive.

Definition at line 622 of file ktar.cpp.

◆ doPrepareWriting()

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 751 of file ktar.cpp.

◆ doWriteDir()

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 835 of file ktar.cpp.

◆ doWriteSymLink()

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 903 of file ktar.cpp.

◆ openArchive()

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 370 of file ktar.cpp.

◆ setOrigFileName()

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 KCompressionDevice!

Parameters
fileNamethe original file name

Definition at line 182 of file ktar.cpp.

◆ virtual_hook()

void KTar::virtual_hook ( int id,
void * data )
overrideprotectedvirtual

Reimplemented from KArchive.

Definition at line 968 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-2024 The KDE developers.
Generated on Fri Jun 14 2024 11:47:54 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.