KAr

#include <KAr>

Inheritance diagram for KAr:

Public Member Functions

 KAr (const QString &filename)
 
 KAr (QIODevice *dev)
 
virtual ~KAr ()
 
- 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 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 createDevice (QIODevice::OpenMode mode)
 
KArchiveDirectoryfindOrCreate (const QString &path)
 
virtual KArchiveDirectoryrootDir ()
 
void setDevice (QIODevice *dev)
 
void setErrorString (const QString &errorStr)
 
void setRootDir (KArchiveDirectory *rootDir)
 

Detailed Description

KAr is a class for reading archives in ar format.

Writing is not supported. Reading archives that contain files bigger than INT_MAX - 32 bytes is not supported. A class for reading ar archives.

Author
Laurence Anderson l.d.a[email protected]nder[email protected][email protected][email protected]arwi[email protected]ck.ac[email protected].uk

Definition at line 20 of file kar.h.

Constructor & Destructor Documentation

KAr::KAr ( const QString filename)

Creates an instance that operates on the given filename.

Parameters
filenameis a local path (e.g. "/home/holger/myfile.ar")

Definition at line 34 of file kar.cpp.

KAr::KAr ( QIODevice dev)

Creates an instance that operates on the given device.

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

Parameters
devthe device to read from

Definition at line 40 of file kar.cpp.

KAr::~KAr ( )
virtual

If the ar file is still opened, then it will be closed automatically by the destructor.

Definition at line 46 of file kar.cpp.

Member Function Documentation

bool KAr::closeArchive ( )
overrideprotectedvirtual

Closes the archive.

Called by close.

Implements KArchive.

Definition at line 183 of file kar.cpp.

bool KAr::doFinishWriting ( qint64  size)
overrideprotectedvirtual

Called after writing the data.

This virtual method must be implemented by subclasses.

Parameters
sizethe size of the file
See also
finishWriting()

Implements KArchive.

Definition at line 62 of file kar.cpp.

bool KAr::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

This virtual method must be implemented by subclasses.

Depending on the archive type not all metadata might be used.

Parameters
namethe name of the file
userthe user that owns the file
groupthe group that owns the file
sizethe size of the file
permpermissions of the file. Use 0100644 if you don't have any more specific permissions to set.
atimetime the file was last accessed
mtimemodification time of the file
ctimetime of last status change
See also
prepareWriting

Implements KArchive.

Definition at line 54 of file kar.cpp.

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

Write a directory to the archive.

This virtual method must be implemented by subclasses.

Depending on the archive type not all metadata might be used.

Parameters
namethe name of the directory
userthe user that owns the directory
groupthe group that owns the directory
permpermissions of the directory. Use 040755 if you don't have any other information.
atimetime the file was last accessed
mtimemodification time of the file
ctimetime of last status change
See also
writeDir

Implements KArchive.

Definition at line 69 of file kar.cpp.

bool KAr::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

Writes a symbolic link to the archive.

This virtual method must be implemented by subclasses.

Parameters
namename of symbolic link
targettarget of symbolic link
userthe user that owns the directory
groupthe group that owns the directory
permpermissions of the directory
atimetime the file was last accessed
mtimemodification time of the file
ctimetime of last status change
See also
writeSymLink

Implements KArchive.

Definition at line 77 of file kar.cpp.

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

Opens the archive for reading.

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

Implements KArchive.

Definition at line 85 of file kar.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 Mon Nov 30 2020 23:03:11 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.