//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module tdeio  version KDE 3.5.3


// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


%If ( KDE_3_1_0 -  )

class KZip : KArchive
{
%TypeHeaderCode
#include <kzip.h>
%End


public:
                         KZip (const TQString&);
                         KZip (TQIODevice*);
    TQString              fileName ();

%If ( KDE_3_2_0 -  )

    enum ExtraField
    {
        NoExtraField, 
        ModificationTime, 
        DefaultExtraField
    };

    void                 setExtraField (KZip::ExtraField);
    KZip::ExtraField     extraField () const;
%End


    enum Compression
    {
        NoCompression, 
        DeflateCompression
    };

    void                 setCompression (KZip::Compression);
    KZip::Compression    compression () const;
    virtual bool         writeFile (const TQString&, const TQString&, const TQString&, uint, const char*);
    virtual bool         prepareWriting (const TQString&, const TQString&, const TQString&, uint);

%If ( KDE_3_2_0 -  )
    bool                 writeSymLink (const TQString&, const TQString&, const TQString&, const TQString&, mode_t, time_t, time_t, time_t);
    bool                 prepareWriting (const TQString&, const TQString&, const TQString&, uint, mode_t, time_t, time_t, time_t);
    bool                 writeFile (const TQString&, const TQString&, const TQString&, uint, mode_t, time_t, time_t, time_t, const char*);
%End

    bool                 writeData (const char*, uint);
    virtual bool         doneWriting (uint);

protected:
    virtual bool         openArchive (int);
    virtual bool         closeArchive ();
    virtual bool         writeDir (const TQString&, const TQString&, const TQString&);

protected:
    virtual void         virtual_hook (int, void*);

%If ( KDE_3_2_0 -  )
    bool                 writeData_impl (const char*, uint);
    bool                 prepareWriting_impl (const TQString&, const TQString&, const TQString&, uint, mode_t, time_t, time_t, time_t);
    bool                 writeSymLink_impl (const TQString&, const TQString&, const TQString&, const TQString&, mode_t, time_t, time_t, time_t);
%End


};  // class KZip

%End


%If ( KDE_3_1_0 -  )

class KZipFileEntry : KArchiveFile
{
%TypeHeaderCode
#include <kzip.h>
%End


public:
                         KZipFileEntry (KZip*, const TQString&, int, int, const TQString&, const TQString&, const TQString&, const TQString&, TQ_LONG, TQ_LONG, int, TQ_LONG);
    int                  encoding () const;
    TQ_LONG               compressedSize () const;
    void                 setCompressedSize (TQ_LONG);
    void                 setHeaderStart (TQ_LONG);
    TQ_LONG               headerStart () const;
    ulong                crc32 () const;
    void                 setCRC32 (ulong);
    TQString              path () const;
    virtual TQByteArray   data () const;
    TQIODevice*           device () const;

};  // class KZipFileEntry

%End

