//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 org.kde.qt.QIODevice;
import org.kde.qt.QIODeviceInterface;
import org.kde.qt.QObject;

/**

 Asynchronous I/O Support
 This abstract class provides basic functionality for asynchronous I/O
 support on top of QIODevice.
 See {@link KAsyncIOSignals} for signals emitted by KAsyncIO
		@author Thiago Macieira <thiago.macieira@kdemail.net>

		@short Asynchronous I/O support.

*/
public class KAsyncIO extends QObject implements QIODeviceInterface {
	protected KAsyncIO(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	/**	
		 Toggles the emission of the readyRead() signal whenever the device
		 is ready for reading. This is useful if you want to know the first time
		 the device is ready for reading and you don't want to read it now.
			@param enable true to enable, false to disable the readyRead() signal
		   		@short    Toggles the emission of the readyRead() signal whenever the device  is ready for reading.
	*/
	public native void enableRead(boolean enable);
	/**	
		 Toggles the emission of the readyWrite() signal whenever the device
		 is ready for writing. This is useful if you want to know the first time
		 the device is ready for writing and you don't want to write to it now.
			@param enable true to enable, false to disable the readyWrite() signal
		   		@short    Toggles the emission of the readyWrite() signal whenever the device  is ready for writing.
	*/
	public native void enableWrite(boolean enable);
	public native int flags();
	public native int mode();
	public native int state();
	public native boolean isDirectAccess();
	public native boolean isSequentialAccess();
	public native boolean isCombinedAccess();
	public native boolean isBuffered();
	public native boolean isRaw();
	public native boolean isSynchronous();
	public native boolean isAsynchronous();
	public native boolean isTranslated();
	public native boolean isReadable();
	public native boolean isWritable();
	public native boolean isReadWrite();
	public native boolean isInactive();
	public native boolean isOpen();
	public native int status();
	public native void resetStatus();
	public native boolean open(int mode);
	public native void close();
	public native void flush();
	public native long size();
	public native long at();
	public native boolean at(long arg1);
	public native boolean atEnd();
	public native boolean reset();
	public native long readBlock(StringBuffer data, long maxlen);
	public native long writeBlock(String data, long len);
	public native long readLine(String data, long maxlen);
	public native long writeBlock(byte[] data);
	public native byte[] readAll();
	public native int getch();
	public native int putch(int arg1);
	public native int ungetch(int arg1);
}
