kio Library API Documentation

KAr Class Reference

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

#include <kar.h>

Inheritance diagram for KAr:

Inheritance graph
[legend]
Collaboration diagram for KAr:

Collaboration graph
[legend]
List of all members.

Public Member Functions

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

Protected Member Functions

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

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.


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.

References KArchive::close(), KArchive::device(), and KArchive::isOpened().


Member Function Documentation

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.

virtual bool KAr::prepareWriting const QString ,
const QString ,
const QString ,
uint 
[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(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::doneWriting uint   )  [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.

virtual bool KAr::writeDir const QString ,
const QString ,
const QString
[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(BIC): make this a thin wrapper around // writeDir(name,user,group,perm,atime,mtime,ctime) // or elimitate it

Implements KArchive.

Definition at line 83 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.

References KArchiveDirectory::addEntry(), KArchive::device(), kdDebug(), kdWarning(), and KArchive::rootDir().

bool KAr::closeArchive  )  [protected, virtual]
 

Closes the archive.

Called by close.

Implements KArchive.

Definition at line 161 of file kar.cpp.


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kio Library Version 3.3.90.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Mar 30 10:15:36 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003