/***************************************************************************
                            CopyJob.java -  description
                             -------------------
    begin                : Sun Jan 27 16:22:17 2002
    copyright            : (C) 2000-2001 Lost Highway Ltd.
    email                : Richard_Dale@tipitina.demon.co.uk
    generated by         : duke@tipitina on Sun Jan 27 16:22:17 2002, using kalyptus 0.9.
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program 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.                                   *
 *                                                                         *
***************************************************************************/

package org.kde.koala;

import org.kde.qt.*;
import java.util.*;
import java.lang.Error;

/**
 See {@link CopyJobSignals} for signals emitted by CopyJob.

 See {@link CopyJobEventHandling} for event handlers to override in subclasses of CopyJob.

*/
public class CopyJob extends Job  {
	protected CopyJob(Class dummy){super((Class) null);}

	private native void newCopyJob( ArrayList src, KURL dest, int mode, boolean asMethod, boolean showProgressInfo);
	public CopyJob( ArrayList src, KURL dest, int mode, boolean asMethod, boolean showProgressInfo) {
		super((Class) null);
		newCopyJob( src, dest, mode, asMethod, showProgressInfo);
	}
	public native ArrayList srcURLs();
	public native KURL destURL();
	protected native void statNextSrc();
	protected native void slotResultStating( Job job);
	protected native void startListing( KURL src);
	protected native void slotResultCreatingDirs( Job job);
	protected native void slotResultConflictCreatingDirs( Job job);
	protected native void createNextDir();
	protected native void slotResultCopyingFiles( Job job);
	protected native void slotResultConflictCopyingFiles( Job job);
	protected native void copyNextFile();
	protected native void slotResultDeletingDirs( Job job);
	protected native void deleteNextDir();
	protected native void skip( KURL sourceURL);
	protected native void slotStart();
//	protected native void slotEntries( Job arg1, UDSEntryList list);
	protected native void slotResult( Job job);

/** 
 Forward signal from subjob
         
*/
	protected native void slotProcessedSize( Job arg1, int data_size);

/** 
 Forward signal from subjob
         
*/
	protected native void slotTotalSize( Job arg1, int size);
	protected native void slotReport();
	public static final int Copy = 0;
	public static final int Move = 1;
	public static final int Link = 2;
}
