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

import org.trinitydesktop.qt.TQt;
import org.trinitydesktop.qt.TQMetaObject;
import org.trinitydesktop.qt.QtSupport;

/**

 The transfer job pumps data into and/or out of a Slave.
 Data is sent to the slave on request of the slave ( dataReq).
 If data coming from the slave can not be handled, the
 reading of data from the slave should be suspended.
      See {@link TransferJobSignals} for signals emitted by TransferJob
		@short    The transfer job pumps data into and/or out of a Slave.

*/
public class TransferJob extends SimpleJob  {
	protected TransferJob(Class dummy){super((Class) null);}
	public native TQMetaObject metaObject();
	public native String className();
	/**
		 Do not create a TransferJob. Use TDEIO.get() or TDEIO.put()
		 instead.
			@param url the url to get or put
			@param command the command to issue
			@param packedArgs the arguments
			@param _staticData additional data to transmit (e.g. in a HTTP Post)
			@param showProgressInfo true to show progress information to the user
					@short    Do not create a TransferJob.
	*/
	public TransferJob(KURL url, int command, byte[] packedArgs, byte[] _staticData, boolean showProgressInfo) {
		super((Class) null);
		newTransferJob(url,command,packedArgs,_staticData,showProgressInfo);
	}
	private native void newTransferJob(KURL url, int command, byte[] packedArgs, byte[] _staticData, boolean showProgressInfo);
	/**
			 Called by the scheduler when a <code>slave</code> gets to
		 work on this job.
			@param slave the slave that starts working on this job
		         		@short
	*/
	public native void start(Slave slave);
	/**
		 Called when m_subJob finishes.
			@param job the job that finished
		         		@short    Called when m_subJob finishes.
	*/
	public native void slotResult(Job job);
	/**
		 Flow control. Suspend data processing from the slave.
		         		@short    Flow control.
	*/
	public native void suspend();
	/**
		 Flow control. Resume data processing from the slave.
		         		@short    Flow control.
	*/
	public native void resume();
	/**
		 Flow control.
				@return true if the job is suspended

		@short    Flow control.
	*/
	public native boolean isSuspended();
	/**
		 Checks whether we got an error page. This currently only happens
		 with HTTP urls. Call this from your slot connected to result().
				@return true if we got an (HTML) error page from the server
 instead of what we asked for.

		@short    Checks whether we got an error page.
	*/
	public native boolean isErrorPage();
	/**
		 Enable the async data mode.
		 When async data is enabled, data should be provided to the job by
		 calling sendAsyncData() instead of returning data in the
		 dataReq() signal.
				@short    Enable the async data mode.
	*/
	public native void setAsyncDataEnabled(boolean enabled);
	/**
		 Provide data to the job when async data is enabled.
		 Should be called exactly once after receiving a dataReq signal
		 Sending an empty block indicates end of data.
				@short    Provide data to the job when async data is enabled.
	*/
	public native void sendAsyncData(byte[] data);
	/**
		 When enabled, the job reports the amount of data that has been sent,
		 instead of the amount of data that that has been received.
				@short    When enabled, the job reports the amount of data that has been sent,  instead of the amount of data that that has been received.
		@see #slotProcessedSize
		@see #slotSpeed
	*/
	public native void setReportDataSent(boolean enabled);
	/**
		  Returns whether the job reports the amount of data that has been
		  sent (true), or whether the job reports the amount of data that
		 has been received (false)
				@short     Returns whether the job reports the amount of data that has been   sent (true), or whether the job reports the amount of data that  has been received (false)
	*/
	public native boolean reportDataSent();
	protected native void slotRedirection(KURL url);
	protected native void slotFinished();
	protected native void slotData(byte[] data);
	protected native void slotDataReq();
	protected native void slotMimetype(String mimetype);
	protected native void slotNeedSubURLData();
	protected native void slotSubURLData(Job arg1, byte[] arg2);
	// void slotMetaData(const TDEIO::MetaData& arg1); >>>> NOT CONVERTED
	protected native void slotErrorPage();
	protected native void slotCanResume(long offset);
	protected native void slotPostRedirection();
}
