/***************************************************************************
                            KShellProcess.java -  description
                             -------------------
    begin                : Fri Nov 15 11:45:52 2002
    copyright            : (C) 2000-2002 Lost Highway Ltd.
    email                : Richard_Dale@tipitina.demon.co.uk
    generated by         : duke@tipitina on Fri Nov 15 11:45:52 2002, using kalyptus 0.9.
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU Library 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;

/**

 @obsolete

 This class is obsolete. Use KProcess and KProcess.setUseShell(true)
 instead.

 See {@link KShellProcessSignals} for signals emitted by KShellProcess.

 

 @author Christian Czezakte <e9025461@student.tuwien.ac.at>

 @version $Id: KShellProcess.java,v 1.8 2002/11/26 04:17:34 rdale Exp $

 @short A class derived from @ref KProcess to start child
   	processes through a shell.

*/
public class KShellProcess extends KProcess  {
	protected KShellProcess(Class dummy){super((Class) null);}

	private native void newKShellProcess( String shellname);

/** 
 Constructor

 By specifying the name of a shell (like "/bin/bash") you can override
 the mechanism for finding a valid shell as described in KProcess.searchShell()
   
*/
	public KShellProcess( String shellname) {
		super((Class) null);
		newKShellProcess( shellname);
	}
	private native void newKShellProcess();
	public KShellProcess() {
		super((Class) null);
		newKShellProcess();
	}

/** 
 Destructor.
   
*/
	protected native void finalize() throws InternalError;
	public native void dispose();
	public native boolean isDisposed();

/** 
 Starts up the process. -- For a detailed description
 have a look at the "start" member function and the detailed
 description of {@link KProcess} .
   
*/
	public native boolean start( int runmode, int comm);
	public native boolean start();

/** 
 This function can be used to quote an argument string such that
 the shell processes it properly. This is e. g. necessary for
 user-provided file names which may contain spaces or quotes.
 It also prevents expansion of wild cards and environment variables.
   
*/
	public static native String quote( String arg);
	protected native void virtual_hook( int identifier, int data);
}
