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

import org.kde.qt.Qt;
import org.kde.qt.QMetaObject;
import org.kde.qt.QtSupport;
import java.util.ArrayList;

/**

 Computes a directory size (similar to "du", but doesn't give the same results
 since we simply sum up the dir and file sizes, whereas du speaks disk blocks)
 		@short    Computes a directory size (similar to "du", but doesn't give the same results  since we simply sum up the dir and file sizes, whereas du speaks disk blocks)

*/
public class KDirSize extends Job  {
	protected KDirSize(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	/**	
				@return the size we found
   
		@short
	*/
	public native long totalSize();
	/**	
				@return the total number of files (counting symlinks to files, sockets
 and character devices as files) in this directory and all sub-directories

		@short
	*/
	public native long totalFiles();
	/**	
				@return the total number of sub-directories found (not including the
 directory the search started from and treating symlinks to directories
 as directories)

		@short
	*/
	public native long totalSubdirs();
	/**	
		 Asynchronous method. Connect to the result signal.
		 This one lists a single directory.
		   		@short    Asynchronous method.
	*/
	public static native KDirSize dirSizeJob(KURL directory);
	/**	
		 Asynchronous method. Connect to the result signal.
		 This one lists the items from <code>lstItems.</code>
		 The reason we asks for items instead of just urls, is so that
		 we directly know if the item is a file or a directory,
		 and in case of a file, we already have its size.
		   		@short    Asynchronous method.
	*/
	public static native KDirSize dirSizeJob(ArrayList lstItems);
	/**	
		 Synchronous method - you get the result as soon as
		 the call returns.
		   		@short    Synchronous method - you get the result as soon as  the call returns.
	*/
	public static native long dirSize(KURL directory);
	public KDirSize(KURL directory) {
		super((Class) null);
		newKDirSize(directory);
	}
	private native void newKDirSize(KURL directory);
	public KDirSize(ArrayList lstItems) {
		super((Class) null);
		newKDirSize(lstItems);
	}
	private native void newKDirSize(ArrayList lstItems);
	/**	
			   		@short
	*/
	protected native void setSync();
	protected native void startNextJob(KURL url);
	protected native void slotResult(Job job);
	// void slotEntries(KIO::Job* arg1,const KIO::UDSEntryList& arg2); >>>> NOT CONVERTED
	protected native void processList();
}
