//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;

/**
 Attention developers: If you change the implementation of KIO.Slave,
 do not use connection() or slaveconn but the respective KIO.Slave
 accessor methods. Otherwise classes derived from Slave might break. (LS)
     See {@link SlaveSignals} for signals emitted by Slave
		@short   Attention developers: If you change the implementation of KIO.Slave,  do  not  use connection() or slaveconn but the respective KIO.Slave  accessor methods.

*/
public class Slave extends SlaveInterface  {
	protected Slave(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	// KIO::Slave* Slave(KServerSocket* arg1,const QString& arg2,const QString& arg3); >>>> NOT CONVERTED
	public native void setPID(int arg1);
	public native int slave_pid();
	/**	
		 Force termination
			 		@short    Force termination
	*/
	public native void kill();
	/**	
				@return true if the slave survived the last mission.
         
		@short
	*/
	public native boolean isAlive();
	/**	
		 Set host for url
			@param host to connect to.
			@param port to connect to.
			@param user to login as
			@param passwd to login with
		         		@short    Set host for url
	*/
	public native void setHost(String host, int port, String user, String passwd);
	/**	
		 Clear host info.
		         		@short    Clear host info.
	*/
	public native void resetHost();
	/**	
		 Configure slave
		         		@short    Configure slave
	*/
	// void setConfig(const KIO::MetaData& arg1); >>>> NOT CONVERTED
	/**	
		 The protocol this slave handles.
				@return name of protocol handled by this slave, as seen by the user
         
		@short    The protocol this slave handles.
	*/
	public native String protocol();
	public native void setProtocol(String protocol);
	/**	
		 The actual protocol used to handle the request.
			 This method will return a different protocol than
		 the one obtained by using protocol() if a
		 proxy-server is used for the given protocol.  This
		 usually means that this method will return "http"
		 when the actuall request was to retrieve a resource
		 from an "ftp" server by going through a proxy server.
				@return the actual protocol (io-slave) that handled the request
         
		@short    The actual protocol used to handle the request.
	*/
	public native String slaveProtocol();
	/**	
				@return Host this slave is (was?) connected to
         
		@short
	*/
	public native String host();
	/**	
				@return port this slave is (was?) connected to
         
		@short
	*/
	public native int port();
	/**	
				@return User this slave is (was?) logged in as
         
		@short
	*/
	public native String user();
	/**	
				@return Passwd used to log in
         
		@short
	*/
	public native String passwd();
	/**	
		 Suspends the operation of the attached kioslave.
			 		@short    Suspends the operation of the attached kioslave.
	*/
	public native void suspend();
	/**	
		 Resumes the operation of the attached kioslave.
			 		@short    Resumes the operation of the attached kioslave.
	*/
	public native void resume();
	/**	
		 Tells wether the kioslave is suspended.
				@return true if the kioslave is suspended.

		@short    Tells wether the kioslave is suspended.
	*/
	public native boolean suspended();
	/**	
		 Sends the given command to the kioslave.
			@param cmd command id
			@param data byte array containing data
				@short    Sends the given command to the kioslave.
	*/
	public native void send(int cmd, byte[] data);
	public native void send(int cmd);
	/**	
		 Puts the kioslave associated with <code>url</code> at halt.
			 		@short    Puts the kioslave associated with <code>url</code> at halt.
	*/
	public native void hold(KURL url);
	/**	
				@return The time this slave has been idle.
	 
		@short
	*/
	public native int idleTime();
	/**	
		 Marks this slave as idle.
			 		@short    Marks this slave as idle.
	*/
	public native void setIdle();
	public native boolean isConnected();
	public native void setConnected(boolean c);
	public native void ref();
	public native void deref();
	// void accept(KSocket* arg1); >>>> NOT CONVERTED
	public native void gotInput();
	public native void timeout();
	/**	
		 Creates a new slave.
			@param protocol protocol the slave is for.
			@param url URL the slave should operate on.
			@param error is the error code on failure and undefined else.
			@param error_text is the error text on failure and undefined else.
				@return 0 on failure, or a pointer to a slave otherwise.
 @todo What are legal <code>protocol</code> values?
	 
		@short    Creates a new slave.
	*/
	public static native Slave createSlave(String protocol, KURL url, int[] error, StringBuffer error_text);
	public static native Slave holdSlave(String protocol, KURL url);
}
