#ifndef IOADBDEVICE_H
#define IOADBDEVICE_H
#include <IOKit/IOService.h>
#include <IOKit/adb/adb.h>
#include <IOKit/adb/IOADBBus.h>
class IOADBBus;
class IOADBDevice : public IOService
{
OSDeclareDefaultStructors(IOADBDevice)
private:
IOADBBus * bus;
ADBDeviceControl * fBusRef;
public:
bool init ( OSDictionary * regEntry, ADBDeviceControl * us );
bool attach ( IOADBBus * controller );
virtual bool matchPropertyTable( OSDictionary * table );
bool seizeForClient ( IOService * client, ADB_callback_func handler );
void releaseFromClient ( IORegistryEntry * client );
IOReturn flush ( void );
IOReturn readRegister ( IOADBRegister adbRegister, UInt8 * data, IOByteCount * length );
IOReturn writeRegister ( IOADBRegister adbRegister, UInt8 * data, IOByteCount * length );
IOADBAddress address ( void );
IOADBAddress defaultAddress ( void );
UInt8 handlerID ( void );
UInt8 defaultHandlerID ( void );
IOReturn setHandlerID ( UInt8 handlerID );
void * busRef ( void );
};
#endif