# kio Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# 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:

[legend]
Collaboration diagram for KAr:

[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(), QString::isEmpty(), 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(), QIODevice::at(), QIODevice::atEnd(), KArchive::device(), endl(), QString::find(), kdDebug(), kdWarning(), QString::left(), QString::mid(), QCString::mid(), QIODevice::readBlock(), QString::replace(), QCString::resize(), QCString::right(), KArchive::rootDir(), QString::stripWhiteSpace(), QString::toInt(), and QCString::toInt().

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

| Closes the archive. Called by close. Implements KArchive. Definition at line 163 of file kar.cpp.

The documentation for this class was generated from the following files:

- kar.h
- kar.cpp

This file is part of the documentation for kio Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:24:11 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003