KAr

Search for usage in LXR

#include <KAr>

Inheritance diagram for KAr:

Public Member Functions

 KAr (const QString &filename)
 
 KAr (QIODevice *dev)
 
 ~KAr () override
 
- 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 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)
 
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

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.nosp@m.nder.nosp@m.son@w.nosp@m.arwi.nosp@m.ck.ac.nosp@m..uk

Definition at line 20 of file kar.h.

Constructor & Destructor Documentation

◆ KAr() [1/2]

KAr::KAr ( const QString & filename)
explicit

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() [2/2]

KAr::KAr ( QIODevice * dev)
explicit

Creates an instance that operates on the given device.

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

Parameters
devthe device to read from

Definition at line 40 of file kar.cpp.

◆ ~KAr()

KAr::~KAr ( )
override

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

◆ closeArchive()

bool KAr::closeArchive ( )
overrideprotectedvirtual

Closes the archive.

Called by close.

Implements KArchive.

Definition at line 186 of file kar.cpp.

◆ doFinishWriting()

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 61 of file kar.cpp.

◆ doPrepareWriting()

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.

◆ doWriteDir()

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 68 of file kar.cpp.

◆ doWriteSymLink()

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 75 of file kar.cpp.

◆ openArchive()

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 82 of file kar.cpp.

◆ virtual_hook()

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

Reimplemented from KArchive.

Definition at line 192 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-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:15:57 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.