summaryrefslogtreecommitdiffstats
path: root/kdejava/koala/org/kde/koala/KZip.java
diff options
context:
space:
mode:
Diffstat (limited to 'kdejava/koala/org/kde/koala/KZip.java')
-rw-r--r--kdejava/koala/org/kde/koala/KZip.java183
1 files changed, 183 insertions, 0 deletions
diff --git a/kdejava/koala/org/kde/koala/KZip.java b/kdejava/koala/org/kde/koala/KZip.java
new file mode 100644
index 00000000..65fb55d9
--- /dev/null
+++ b/kdejava/koala/org/kde/koala/KZip.java
@@ -0,0 +1,183 @@
+//Auto-generated by kalyptus. DO NOT EDIT.
+package org.kde.koala;
+
+import org.kde.qt.Qt;
+import org.kde.qt.QtSupport;
+import org.kde.qt.QIODevice;
+import org.kde.qt.QIODeviceInterface;
+
+/**
+
+ This class implements a kioslave to access zip files from KDE.
+ You can use it in IO_ReadOnly or in IO_WriteOnly mode, and it
+ behaves just as expected.
+ It can also be used in IO_ReadWrite mode, in this case one can
+ append files to an existing zip archive. When you append new files, which
+ are not yet in the zip, it works as expected, i.e. the files are appended at the end.
+ When you append a file, which is already in the file, the reference to the
+ old file is dropped and the new one is added to the zip - but the
+ old data from the file itself is not deleted, it is still in the
+ zipfile. so when you want to have a small and garbage-free zipfile,
+ just read the contents of the appended zip file and write it to a new one
+ in IO_WriteOnly mode. This is especially important when you don't want
+ to leak information of how intermediate versions of files in the zip
+ were looking.
+ For more information on the zip fileformat go to
+ http://www.pkware.com/products/enterprise/white_papers/appnote.html
+ @author Holger Schroeder <holger-kde@holgis.net>
+
+ @short A class for reading/writing zip archives.
+
+*/
+public class KZip extends KArchive {
+ protected KZip(Class dummy){super((Class) null);}
+ /**
+ Describes the contents of the "extra field" for a given file in the Zip archive.
+ @short Describes the contents of the "extra field" for a given file in the Zip archive.
+ */
+ public static final int NoExtraField = 0;
+ public static final int ModificationTime = 1;
+ public static final int DefaultExtraField = 1;
+
+ /**
+ Describes the compression type for a given file in the Zip archive.
+ @short Describes the compression type for a given file in the Zip archive.
+ */
+ public static final int NoCompression = 0;
+ public static final int DeflateCompression = 1;
+
+ /**
+ Creates an instance that operates on the given filename.
+ using the compression filter associated to given mimetype.
+ @param filename is a local path (e.g. "/home/holger/myfile.zip")
+ @short Creates an instance that operates on the given filename.
+ */
+ public KZip(String filename) {
+ super((Class) null);
+ newKZip(filename);
+ }
+ private native void newKZip(String filename);
+ /**
+ Creates an instance that operates on the given device.
+ The device can be compressed (KFilterDev) or not (QFile, etc.).
+ @warning Do not assume that giving a QFile here will decompress the file,
+ in case it's compressed!
+ @param dev the device to access
+ @short Creates an instance that operates on the given device.
+ */
+ public KZip(QIODeviceInterface dev) {
+ super((Class) null);
+ newKZip(dev);
+ }
+ private native void newKZip(QIODeviceInterface dev);
+ /**
+ The name of the zip file, as passed to the constructor.
+ Null if you used the QIODevice constructor.
+ @return the zip's file name, or null if a QIODevice is used
+
+ @short The name of the zip file, as passed to the constructor.
+ */
+ public native String fileName();
+ /**
+ Call this before writeFile or prepareWriting, to define what the next
+ file to be written should have in its extra field.
+ @param ef the type of "extra field"
+ @short Call this before writeFile or prepareWriting, to define what the next file to be written should have in its extra field.
+ @see #extraField
+ */
+ public native void setExtraField(int ef);
+ /**
+ The current type of "extra field" that will be used for new files.
+ @return the current type of "extra field"
+
+ @short The current type of "extra field" that will be used for new files.
+ @see #setExtraField
+ */
+ public native int extraField();
+ /**
+ Call this before writeFile or prepareWriting, to define whether the next
+ files to be written should be compressed or not.
+ @param c the new compression mode
+ @short Call this before writeFile or prepareWriting, to define whether the next files to be written should be compressed or not.
+ @see #compression
+ */
+ public native void setCompression(int c);
+ /**
+ The current compression mode that will be used for new files.
+ @return the current compression mode
+
+ @short The current compression mode that will be used for new files.
+ @see #setCompression
+ */
+ public native int compression();
+ /**
+ If an archive is opened for writing then you can add a new file
+ using this function.
+ This method takes the whole data at once.
+ @param name can include subdirs e.g. path/to/the/file
+ @param user the user owning the file
+ @param group the group owning the file
+ @param size the size of the file
+ @param data a pointer to the data
+ @return true if successful, false otherwise
+
+ @short If an archive is opened for writing then you can add a new file using this function.
+ */
+ public native boolean writeFile(String name, String user, String group, int size, String data);
+ /**
+ Alternative method for writing: call prepareWriting(), then feed the data
+ in small chunks using writeData(), and call doneWriting() when done.
+ @param name can include subdirs e.g. path/to/the/file
+ @param user the user owning the file
+ @param group the group owning the file
+ @param size unused argument
+ @return true if successful, false otherwise
+
+ @short Alternative method for writing: call prepareWriting(), then feed the data in small chunks using writeData(), and call doneWriting() when done.
+ */
+ public native boolean prepareWriting(String name, String user, String group, int size);
+ public native boolean writeSymLink(String name, String target, String user, String group, long perm, int atime, int mtime, int ctime);
+ public native boolean prepareWriting(String name, String user, String group, int size, long perm, int atime, int mtime, int ctime);
+ public native boolean writeFile(String name, String user, String group, int size, long perm, int atime, int mtime, int ctime, String data);
+ /**
+ Write data to a file that has been created using prepareWriting().
+ @param data a pointer to the data
+ @param size the size of the chunk
+ @return true if successful, false otherwise
+
+ @short Write data to a file that has been created using prepareWriting().
+ */
+ public native boolean writeData(String data, int size);
+ /**
+ Write data to a file that has been created using prepareWriting().
+ @param size the size of the file
+ @return true if successful, false otherwise
+
+ @short Write data to a file that has been created using prepareWriting().
+ */
+ public native boolean doneWriting(int size);
+ /**
+ Opens the archive for reading.
+ Parses the directory listing of the archive
+ and creates the KArchiveDirectory/KArchiveFile entries.
+ @param mode the mode of the file
+ @short Opens the archive for reading.
+ */
+ protected native boolean openArchive(int mode);
+ protected native boolean closeArchive();
+ /**
+ @short
+ */
+ public native boolean writeDir(String name, String user, String group);
+ /** @internal for virtual_hook @short @internal for virtual_hook
+ */
+ protected native boolean writeData_impl(String data, int size);
+ protected native boolean prepareWriting_impl(String name, String user, String group, int size, long perm, int atime, int mtime, int ctime);
+ protected native boolean writeSymLink_impl(String name, String target, String user, String group, long perm, int atime, int mtime, int ctime);
+ /** Deletes the wrapped C++ instance */
+ protected native void finalize() throws InternalError;
+ /** Delete the wrapped C++ instance ahead of finalize() */
+ public native void dispose();
+ /** Has the wrapped C++ instance been deleted? */
+ public native boolean isDisposed();
+}