com.ibm.jusb.os
Interface UsbControlPipeOsImp

All Superinterfaces:
UsbPipeOsImp
All Known Implementing Classes:
DefaultUsbControlPipeOsImp

public interface UsbControlPipeOsImp
extends UsbPipeOsImp

Interface for Platform-specific implementation of control-type UsbPipe.

This is identical to UsbPipeOsImp with added methods using UsbControlPipeOsImp parameters.

If this is driven by a UsbControlPipeImp, it will always pass only UsbControlIrpImps, however it is not guaranteed to pass them to the UsbControlIrpImp-parameter methods. The implementation of this should handle UsbControlIrpImps being passed (as UsbIrpImps) to the UsbIrpImp-parameter methods.

If this is driven by a normal UsbPipeImp, it may pass normal UsbIrpImps (i.e. not UsbControlIrpImps) and so the implementation of this must handle throwing a UsbException for non-UsbControlIrpImps.

Author:
Dan Streetman

Method Summary
 void asyncSubmit(UsbControlIrpImp irp)
          Asynchronously submits this UsbControlIrpImp to the platform implementation.
 void syncSubmit(UsbControlIrpImp irp)
          Synchronously submits this UsbControlIrpImp to the platform implementation.
 
Methods inherited from interface com.ibm.jusb.os.UsbPipeOsImp
abortAllSubmissions, asyncSubmit, asyncSubmit, close, open, syncSubmit, syncSubmit
 

Method Detail

syncSubmit

void syncSubmit(UsbControlIrpImp irp)
                throws UsbException
Synchronously submits this UsbControlIrpImp to the platform implementation.

This is identical to UsbPipeOsImp.syncSubmit(UsbIrpImp) except the parameter is a UsbControlIrpImp.

Parameters:
irp - the UsbControlIrpImp to use for this submission.
Throws:
UsbException - If the data transfer was unsuccessful.

asyncSubmit

void asyncSubmit(UsbControlIrpImp irp)
                 throws UsbException
Asynchronously submits this UsbControlIrpImp to the platform implementation. This is identical to UsbPipeOsImp.asyncSubmit(UsbIrpImp) except the parameter is a UsbControlIrpImp.

Parameters:
irp - the UsbControlIrpImp to use for this submission
Throws:
UsbException - If the UsbControlIrpImp was not accepted by the implementation.