//Auto-generated by kalyptus. DO NOT EDIT.
package org.trinitydesktop.koala;

import org.trinitydesktop.qt.Qt;
import org.trinitydesktop.qt.QtSupport;
import java.util.ArrayList;

/**

 Represents a directory entry in a KArchive.
		@short A directory in an archive.
		@see KArchive
		@see KArchiveFile

*/
public class KArchiveDirectory extends KArchiveEntry  {
	protected KArchiveDirectory(Class dummy){super((Class) null);}
	/**
		 Creates a new directory entry.
			@param archive the entries archive
			@param name the name of the entry
			@param access the permissions in unix format
			@param date the date (in seconds since 1970)
			@param user the user that owns the entry
			@param group the group that owns the entry
			@param symlink the symlink, or null
		     		@short    Creates a new directory entry.
	*/
	public KArchiveDirectory(KArchive archive, String name, int access, int date, String user, String group, String symlink) {
		super((Class) null);
		newKArchiveDirectory(archive,name,access,date,user,group,symlink);
	}
	private native void newKArchiveDirectory(KArchive archive, String name, int access, int date, String user, String group, String symlink);
	/**
		 Returns a list of sub-entries.
				@return the names of all entries in this directory (filenames, no path).

		@short    Returns a list of sub-entries.
	*/
	public native ArrayList entries();
	/**
		 Returns the entry with the given name.
			@param name may be "test1", "mydir/test3", "mydir/mysubdir/test3", etc.
				@return a pointer to the entry in the directory.

		@short    Returns the entry with the given name.
	*/
	public native KArchiveEntry entry(String name);
	/**
			 Adds a new entry to the directory.
		     		@short
	*/
	public native void addEntry(KArchiveEntry arg1);
	/**
		 Checks whether this entry is a directory.
				@return true, since this entry is a directory

		@short    Checks whether this entry is a directory.
	*/
	public native boolean isDirectory();
	/**
		 Extracts all entries in this archive directory to the directory
		 <code>dest.</code>
			@param dest the directory to extract to
			@param recursive if set to true, subdirectories are extracted as well
				@short    Extracts all entries in this archive directory to the directory  <code>dest.</code>
	*/
	public native void copyTo(String dest, boolean recursive);
	public native void copyTo(String dest);
	/** 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();
}
