kde-playground/pykde4/sip/kio/karchive.sip

196 lines
6.6 KiB
Text
Raw Permalink Normal View History

//
// Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
// Earlier copyrights 1998 - 2007 Jim Bublitz also apply
// Generated by twine
// This file is part of PyKDE4.
// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.
// PyKDE4 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 program. If not, see <http://www.gnu.org/licenses/>.
%ModuleHeaderCode
//ctscc
#include <karchive.h>
#include <kzip.h>
%End
class KArchive
{
%TypeHeaderCode
#include <karchive.h>
%End
protected:
KArchive (const QString& fileName);
KArchive (QIODevice* dev);
public:
virtual bool open (QIODevice::OpenMode mode);
virtual bool close ();
bool isOpen () const;
QIODevice::OpenMode mode () const;
QIODevice* device () const;
QString fileName () const;
const KArchiveDirectory* directory () const;
bool addLocalFile (const QString& fileName, const QString& destName);
bool addLocalDirectory (const QString& path, const QString& destName);
enum
{
UnknownTime
};
virtual bool writeDir (const QString& name, const QString& user, const QString& group, mode_t perm = 040755, time_t atime = UnknownTime, time_t mtime = UnknownTime, time_t ctime = UnknownTime);
virtual bool writeSymLink (const QString& name, const QString& target, const QString& user, const QString& group, mode_t perm = 0120755, time_t atime = UnknownTime, time_t mtime = UnknownTime, time_t ctime = UnknownTime);
virtual bool writeFile (const QString& name, const QString& user, const QString& group, const char* data, qint64 size, mode_t perm = 0100644, time_t atime = UnknownTime, time_t mtime = UnknownTime, time_t ctime = UnknownTime);
virtual bool prepareWriting (const QString& name, const QString& user, const QString& group, qint64 size, mode_t perm = 0100644, time_t atime = UnknownTime, time_t mtime = UnknownTime, time_t ctime = UnknownTime);
virtual bool writeData (const char* data, qint64 size);
virtual bool finishWriting (qint64 size);
protected:
virtual bool openArchive (QIODevice::OpenMode mode)=0;
virtual bool closeArchive ()=0;
virtual KArchiveDirectory* rootDir ();
virtual bool doWriteDir (const QString& name, const QString& user, const QString& group, mode_t perm, time_t atime, time_t mtime, time_t ctime)=0;
virtual bool doWriteSymLink (const QString& name, const QString& target, const QString& user, const QString& group, mode_t perm, time_t atime, time_t mtime, time_t ctime)=0;
virtual bool doPrepareWriting (const QString& name, const QString& user, const QString& group, qint64 size, mode_t perm, time_t atime, time_t mtime, time_t ctime)=0;
virtual bool doFinishWriting (qint64 size)=0;
KArchiveDirectory* findOrCreate (const QString& path);
virtual bool createDevice (QIODevice::OpenMode mode);
void setDevice (QIODevice* dev);
void setRootDir (KArchiveDirectory* rootDir);
private:
//force
KArchive (const KArchive& other);
//end
public:
~KArchive ();
};
// KArchive
class KArchiveEntry
{
%TypeHeaderCode
#include <karchive.h>
%End
public:
KArchiveEntry (KArchive* archive, const QString& name, int access, int date, const QString& user, const QString& group, const QString& symlink);
QDateTime datetime () const;
int date () const;
QString name () const;
mode_t permissions () const;
QString user () const;
QString group () const;
QString symLinkTarget () const;
virtual bool isFile () const;
virtual bool isDirectory () const;
protected:
KArchive* archive () const;
private:
//force
KArchiveEntry (const KArchiveEntry& other);
//end
public:
~KArchiveEntry ();
};
// KArchiveEntry
class KArchiveFile : KArchiveEntry
{
%TypeHeaderCode
#include <karchive.h>
%End
public:
KArchiveFile (KArchive* archive, const QString& name, int access, int date, const QString& user, const QString& group, const QString& symlink, qint64 pos, qint64 size);
qint64 position () const;
qint64 size () const;
void setSize (qint64 s);
virtual QByteArray data () const;
virtual QIODevice* createDevice () const;
virtual bool isFile () const;
void copyTo (const QString& dest) const;
protected:
private:
//force
KArchiveFile (const KArchiveFile& other);
//end
public:
~KArchiveFile ();
};
// KArchiveFile
class KArchiveDirectory : KArchiveEntry
{
%TypeHeaderCode
#include <karchive.h>
%End
public:
KArchiveDirectory (KArchive* archive, const QString& name, int access, int date, const QString& user, const QString& group, const QString& symlink);
QStringList entries () const;
const KArchiveEntry* entry (const QString& name) const;
void addEntry (KArchiveEntry*);
virtual bool isDirectory () const;
void copyTo (const QString& dest, bool recursive = 1) const;
protected:
private:
//force
KArchiveDirectory (const KArchiveDirectory& other);
// Subclasses of KArchiveEntry
//end
%ConvertToSubClassCode
// CTSCC for subclasses of 'KArchiveEntry'
sipType = NULL;
if (dynamic_cast<KArchiveDirectory*>(sipCpp))
sipType = sipType_KArchiveDirectory;
else if (dynamic_cast<KArchiveFile*>(sipCpp))
{
sipType = sipType_KArchiveFile;
if (dynamic_cast<KZipFileEntry*>(sipCpp))
sipType = sipType_KZipFileEntry;
}
%End
public:
~KArchiveDirectory ();
};
// KArchiveDirectory