kio Library API Documentation

ktar.h

00001 /* This file is part of the KDE libraries
00002    Copyright (C) 2000 David Faure <faure@kde.org>
00003 
00004    This library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Library General Public
00006    License version 2 as published by the Free Software Foundation.
00007 
00008    This library is distributed in the hope that it will be useful,
00009    but WITHOUT ANY WARRANTY; without even the implied warranty of
00010    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011    Library General Public License for more details.
00012 
00013    You should have received a copy of the GNU Library General Public License
00014    along with this library; see the file COPYING.LIB.  If not, write to
00015    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00016    Boston, MA 02111-1307, USA.
00017 */
00018 #ifndef __ktar_h
00019 #define __ktar_h
00020 
00021 #include <sys/stat.h>
00022 #include <sys/types.h>
00023 
00024 #include <qdatetime.h>
00025 #include <qstring.h>
00026 #include <qstringlist.h>
00027 #include <qdict.h>
00028 
00029 #include <karchive.h>
00030 
00035 class KTar : public KArchive
00036 {
00037 public:
00047     KTar( const QString& filename, const QString & mimetype = QString::null );
00048 
00055     KTar( QIODevice * dev );
00056 
00061     virtual ~KTar();
00062 
00067     QString fileName() { return m_filename; }
00068 
00074     void setOrigFileName( const QCString & fileName );
00075 
00076     virtual bool writeDir( const QString& name, const QString& user, const QString& group );
00077     virtual bool prepareWriting( const QString& name, const QString& user, const QString& group, uint size );
00078     virtual bool doneWriting( uint size );
00079 
00080 protected:
00087     virtual bool openArchive( int mode );
00088     virtual bool closeArchive();
00089 
00090 private:
00094     void prepareDevice( const QString & filename, const QString & mimetype, bool forced = false );
00095 
00103     void fillBuffer( char * buffer, const char * mode, int size, char typeflag, const char * uname, const char * gname );
00104 
00105     QString m_filename;
00106 protected:
00107     virtual void virtual_hook( int id, void* data );
00108 private:
00109     class KTarPrivate;
00110     KTarPrivate * d;
00111 };
00112 
00116 #define KTarGz KTar
00117 #define KTarEntry KArchiveEntry
00118 #define KTarFile KArchiveFile
00119 #define KTarDirectory KArchiveDirectory
00120 
00121 #endif
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 13:14:29 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001