KAr Class Reference

#include <kar.h>

Inheritance diagram for KAr:

KArchive List of all members.

Detailed Description

KAr is a class for reading archives in ar format.A class for reading ar archives.

Writing is not supported.

Author:
Laurence Anderson <l.d.anderson@warwick.ac.uk>
Since:
3.1

Definition at line 38 of file kar.h.


Public Member Functions

 KAr (const QString &filename)
 KAr (QIODevice *dev)
virtual ~KAr ()
QString fileName ()
virtual bool prepareWriting (const QString &name, const QString &user, const QString &group, uint size)
virtual bool doneWriting (uint size)
virtual bool writeDir (const QString &name, const QString &user, const QString &group)

Protected Member Functions

virtual bool openArchive (int mode)
virtual bool closeArchive ()
virtual void virtual_hook (int id, void *data)

Constructor & Destructor Documentation

KAr::KAr ( const QString filename  ) 

Creates an instance that operates on the given filename.

Parameters:
filename is a local path (e.g. "/home/holger/myfile.ar")

Definition at line 42 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:
dev the device to read from

Definition at line 51 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 58 of file kar.cpp.


Member Function Documentation

bool KAr::closeArchive (  )  [protected, virtual]

Closes the archive.

Called by close.

Implements KArchive.

Definition at line 163 of file kar.cpp.

virtual bool KAr::doneWriting ( uint  size  )  [inline, virtual]

Call doneWriting after writing the data.

Parameters:
size the size of the file
See also:
prepareWriting()

Implements KArchive.

Definition at line 77 of file kar.h.

QString KAr::fileName (  )  [inline]

The name of the ar file, as passed to the constructor.

Returns:
the filename. Null if you used the QIODevice constructor

Definition at line 65 of file kar.h.

bool KAr::openArchive ( int  mode  )  [protected, virtual]

Opens the archive for reading.

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

Implements KArchive.

Definition at line 69 of file kar.cpp.

virtual bool KAr::prepareWriting ( const QString name,
const QString user,
const QString group,
uint  size 
) [inline, virtual]

Here's another way of writing a file into an archive: Call prepareWriting, then call writeData() as many times as wanted then call doneWriting( totalSize ).

For tar.gz files, you need to know the size before hand, since it is needed in the header. For zip files, size isn't used.

Parameters:
name the name of the file
user the user that owns the file
group the group that owns the file
size the size of the file
Todo:
TODO(BIC): make this a thin non-virtual wrapper around prepareWriting(name,user,group,size,perm,atime,mtime,ctime) or eliminate it.

Implements KArchive.

Definition at line 71 of file kar.h.

virtual bool KAr::writeDir ( const QString name,
const QString user,
const QString group 
) [inline, virtual]

If an archive is opened for writing then you can add new directories using this function.

KArchive won't write one directory twice.

Parameters:
name the name of the directory
user the user that owns the directory
group the group that owns the directory
Todo:
TODO(BIC): make this a thin wrapper around writeDir(name,user,group,perm,atime,mtime,ctime) or eliminate it

Implements KArchive.

Definition at line 83 of file kar.h.


The documentation for this class was generated from the following files:
KDE Home | KDE Accessibility Home | Description of Access Keys