#ifndef SERVICES_DEVICE_USB_USB_DEVICE_HANDLE_ANDROID_H_
#define SERVICES_DEVICE_USB_USB_DEVICE_HANDLE_ANDROID_H_
#include "base/android/scoped_java_ref.h"
#include "base/memory/scoped_refptr.h"
#include "services/device/usb/usb_device_handle_usbfs.h"
namespace device {
class UsbDevice;
class UsbDeviceHandleAndroid : public UsbDeviceHandleUsbfs {
public:
static scoped_refptr<UsbDeviceHandleAndroid> Create(
JNIEnv* env,
scoped_refptr<UsbDevice> device,
const base::android::JavaRef<jobject>& usb_connection);
private:
UsbDeviceHandleAndroid(scoped_refptr<UsbDevice> device,
base::ScopedFD fd,
const base::android::JavaRef<jobject>& wrapper);
~UsbDeviceHandleAndroid() override;
void FinishClose() override;
void CloseConnection();
base::android::ScopedJavaGlobalRef<jobject> j_object_;
};
}
#endif