• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdelibs API Reference
  • KDE Home
  • Contact Us
 

KDECore

Public Member Functions | Protected Member Functions | List of all members
KTar Class Reference

#include <ktar.h>

Inheritance diagram for KTar:
Inheritance graph
[legend]

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
virtual ~KArchive ()
 
bool addLocalDirectory (const QString &path, const QString &destName)
 
bool addLocalFile (const QString &fileName, const QString &destName)
 
virtual bool close ()
 
QIODevice * device () const
 
const KArchiveDirectory * directory () const
 
QString fileName () const
 
virtual bool finishWriting (qint64 size)
 
bool isOpen () const
 
QIODevice::OpenMode mode () const
 
virtual bool open (QIODevice::OpenMode mode)
 
virtual bool prepareWriting (const QString &name, const QString &user, const QString &group, qint64 size, mode_t perm=0100644, time_t atime=UnknownTime, time_t mtime=UnknownTime, time_t ctime=UnknownTime)
 
virtual bool writeData (const char *data, qint64 size)
 
virtual bool writeDir (const QString &name, const QString &user, const QString &group, mode_t perm=040755, time_t atime=UnknownTime, time_t mtime=UnknownTime, time_t ctime=UnknownTime)
 
virtual bool writeFile (const QString &name, const QString &user, const QString &group, const char *data, qint64 size, mode_t perm=0100644, time_t atime=UnknownTime, time_t mtime=UnknownTime, time_t ctime=UnknownTime)
 
virtual bool writeSymLink (const QString &name, const QString &target, const QString &user, const QString &group, mode_t perm=0120755, time_t atime=UnknownTime, time_t mtime=UnknownTime, time_t ctime=UnknownTime)
 

Protected Member Functions

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

Additional Inherited Members

- Public Types inherited from KArchive
enum  { UnknownTime = static_cast<time_t>( -1 ) }
 

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 32 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 74 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 80 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 158 of file ktar.cpp.

Member Function Documentation

bool KTar::closeArchive ( )
protectedvirtual

Closes the archive.

Called by close.

Implements KArchive.

Definition at line 545 of file ktar.cpp.

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

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

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

Reimplemented from KArchive.

Definition at line 87 of file ktar.cpp.

bool KTar::doFinishWriting ( qint64  size)
protectedvirtual

Reimplemented from KArchive.

Implements KArchive.

Definition at line 563 of file ktar.cpp.

bool KTar::doPrepareWriting ( const QString &  name,
const QString &  user,
const QString &  group,
qint64  size,
mode_t  perm,
time_t  atime,
time_t  mtime,
time_t  ctime 
)
protectedvirtual

Reimplemented from KArchive.

Implements KArchive.

Definition at line 683 of file ktar.cpp.

bool KTar::doWriteDir ( const QString &  name,
const QString &  user,
const QString &  group,
mode_t  perm,
time_t  atime,
time_t  mtime,
time_t  ctime 
)
protectedvirtual

Reimplemented from KArchive.

Implements KArchive.

Definition at line 748 of file ktar.cpp.

bool KTar::doWriteSymLink ( const QString &  name,
const QString &  target,
const QString &  user,
const QString &  group,
mode_t  perm,
time_t  atime,
time_t  mtime,
time_t  ctime 
)
protectedvirtual

Reimplemented from KArchive.

Implements KArchive.

Definition at line 806 of file ktar.cpp.

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

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

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

Reimplemented from KArchive.

Definition at line 861 of file ktar.cpp.


The documentation for this class was generated from the following files:
  • ktar.h
  • ktar.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:47:11 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KDECore

Skip menu "KDECore"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdelibs API Reference

Skip menu "kdelibs API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  • kjsembed
  •   WTF
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Nepomuk-Core
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal