kar.h

00001 /* This file is part of the KDE libraries
00002    Copyright (C) 2002 Laurence Anderson <l.d.anderson@warwick.ac.uk>
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., 51 Franklin Street, Fifth Floor,
00016    Boston, MA 02110-1301, USA.
00017 */
00018 #ifndef __kar_h
00019 #define __kar_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 
00038 class KIO_EXPORT KAr : public KArchive
00039 {
00040 public:
00046     KAr( const QString& filename );
00047 
00053     KAr( QIODevice * dev );
00054 
00059     virtual ~KAr();
00060 
00065     QString fileName() { return m_filename; }
00066 
00067     /*
00068      * Writing not supported by this class, will always fail.
00069      * @return always false
00070      */
00071     virtual bool prepareWriting( const QString& name, const QString& user, const QString& group, uint size ) { Q_UNUSED(name); Q_UNUSED(user); Q_UNUSED(group); Q_UNUSED(size); return false; }
00072 
00073     /*
00074      * Writing not supported by this class, will always fail.
00075      * @return always false
00076      */
00077     virtual bool doneWriting( uint size ) { Q_UNUSED(size); return false; }
00078 
00079     /*
00080      * Writing not supported by this class, will always fail.
00081      * @return always false
00082      */
00083     virtual bool writeDir( const QString& name, const QString& user, const QString& group )  { Q_UNUSED(name); Q_UNUSED(user); Q_UNUSED(group); return false; }
00084 
00085 protected:
00092     virtual bool openArchive( int mode );
00093     virtual bool closeArchive();
00094 
00095 protected:
00096     virtual void virtual_hook( int id, void* data );
00097 private:
00098     QString m_filename;
00099     class KArPrivate;
00100     KArPrivate * d;
00101 };
00102 
00103 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys