1*4d7e907cSAndroid Build Coastguard Worker #ifndef ANDROID_HARDWARE_USB_V1_0_USB_H 2*4d7e907cSAndroid Build Coastguard Worker #define ANDROID_HARDWARE_USB_V1_0_USB_H 3*4d7e907cSAndroid Build Coastguard Worker 4*4d7e907cSAndroid Build Coastguard Worker #include <android/hardware/usb/1.0/IUsb.h> 5*4d7e907cSAndroid Build Coastguard Worker #include <hidl/MQDescriptor.h> 6*4d7e907cSAndroid Build Coastguard Worker #include <hidl/Status.h> 7*4d7e907cSAndroid Build Coastguard Worker #include <log/log.h> 8*4d7e907cSAndroid Build Coastguard Worker 9*4d7e907cSAndroid Build Coastguard Worker #ifdef LOG_TAG 10*4d7e907cSAndroid Build Coastguard Worker #undef LOG_TAG 11*4d7e907cSAndroid Build Coastguard Worker #endif 12*4d7e907cSAndroid Build Coastguard Worker 13*4d7e907cSAndroid Build Coastguard Worker #define LOG_TAG "[email protected]" 14*4d7e907cSAndroid Build Coastguard Worker #define UEVENT_MSG_LEN 2048 15*4d7e907cSAndroid Build Coastguard Worker 16*4d7e907cSAndroid Build Coastguard Worker namespace android { 17*4d7e907cSAndroid Build Coastguard Worker namespace hardware { 18*4d7e907cSAndroid Build Coastguard Worker namespace usb { 19*4d7e907cSAndroid Build Coastguard Worker namespace V1_0 { 20*4d7e907cSAndroid Build Coastguard Worker namespace implementation { 21*4d7e907cSAndroid Build Coastguard Worker 22*4d7e907cSAndroid Build Coastguard Worker using ::android::hardware::usb::V1_0::IUsb; 23*4d7e907cSAndroid Build Coastguard Worker using ::android::hardware::usb::V1_0::IUsbCallback; 24*4d7e907cSAndroid Build Coastguard Worker using ::android::hardware::usb::V1_0::PortRole; 25*4d7e907cSAndroid Build Coastguard Worker using ::android::hidl::base::V1_0::IBase; 26*4d7e907cSAndroid Build Coastguard Worker using ::android::hardware::hidl_array; 27*4d7e907cSAndroid Build Coastguard Worker using ::android::hardware::hidl_memory; 28*4d7e907cSAndroid Build Coastguard Worker using ::android::hardware::hidl_string; 29*4d7e907cSAndroid Build Coastguard Worker using ::android::hardware::hidl_vec; 30*4d7e907cSAndroid Build Coastguard Worker using ::android::hardware::Return; 31*4d7e907cSAndroid Build Coastguard Worker using ::android::hardware::Void; 32*4d7e907cSAndroid Build Coastguard Worker using ::android::sp; 33*4d7e907cSAndroid Build Coastguard Worker 34*4d7e907cSAndroid Build Coastguard Worker struct Usb : public IUsb { 35*4d7e907cSAndroid Build Coastguard Worker Usb(); 36*4d7e907cSAndroid Build Coastguard Worker Return<void> switchRole(const hidl_string& portName, const PortRole& role) override; 37*4d7e907cSAndroid Build Coastguard Worker Return<void> setCallback(const sp<IUsbCallback>& callback) override; 38*4d7e907cSAndroid Build Coastguard Worker Return<void> queryPortStatus() override; 39*4d7e907cSAndroid Build Coastguard Worker 40*4d7e907cSAndroid Build Coastguard Worker sp<IUsbCallback> mCallback; 41*4d7e907cSAndroid Build Coastguard Worker private: 42*4d7e907cSAndroid Build Coastguard Worker pthread_t mPoll; 43*4d7e907cSAndroid Build Coastguard Worker pthread_mutex_t mLock = PTHREAD_MUTEX_INITIALIZER; 44*4d7e907cSAndroid Build Coastguard Worker }; 45*4d7e907cSAndroid Build Coastguard Worker 46*4d7e907cSAndroid Build Coastguard Worker } // namespace implementation 47*4d7e907cSAndroid Build Coastguard Worker } // namespace V1_0 48*4d7e907cSAndroid Build Coastguard Worker } // namespace usb 49*4d7e907cSAndroid Build Coastguard Worker } // namespace hardware 50*4d7e907cSAndroid Build Coastguard Worker } // namespace android 51*4d7e907cSAndroid Build Coastguard Worker 52*4d7e907cSAndroid Build Coastguard Worker #endif // ANDROID_HARDWARE_USB_V1_0_USB_H 53