blob: c34d08074a1a93e788f7a29b9de73ab8d4c0d034 [file] [log] [blame]
Badhri Jagan Sridharan81ea7482017-01-20 06:05:58 -08001#ifndef ANDROID_HARDWARE_USB_V1_0_USB_H
2#define ANDROID_HARDWARE_USB_V1_0_USB_H
3
4#include <android/hardware/usb/1.0/IUsb.h>
5#include <hidl/MQDescriptor.h>
6#include <hidl/Status.h>
7#include <utils/Log.h>
8
9#ifdef LOG_TAG
10#undef LOG_TAG
11#endif
12
13#define LOG_TAG "android.hardware.usb@1.0-service"
14#define UEVENT_MSG_LEN 2048
15
16namespace android {
17namespace hardware {
18namespace usb {
19namespace V1_0 {
20namespace implementation {
21
22using ::android::hardware::usb::V1_0::IUsb;
23using ::android::hardware::usb::V1_0::IUsbCallback;
24using ::android::hardware::usb::V1_0::PortRole;
25using ::android::hidl::base::V1_0::IBase;
26using ::android::hardware::hidl_array;
27using ::android::hardware::hidl_memory;
28using ::android::hardware::hidl_string;
29using ::android::hardware::hidl_vec;
30using ::android::hardware::Return;
31using ::android::hardware::Void;
32using ::android::sp;
33
34struct Usb : public IUsb {
Badhri Jagan Sridharan6e718f92017-01-30 18:41:32 -080035 Usb();
Badhri Jagan Sridharan81ea7482017-01-20 06:05:58 -080036 Return<void> switchRole(const hidl_string& portName, const PortRole& role) override;
37 Return<void> setCallback(const sp<IUsbCallback>& callback) override;
38 Return<void> queryPortStatus() override;
39
40 sp<IUsbCallback> mCallback;
41 private:
42 pthread_t mPoll;
Badhri Jagan Sridharan6e718f92017-01-30 18:41:32 -080043 pthread_mutex_t mLock = PTHREAD_MUTEX_INITIALIZER;
Badhri Jagan Sridharan81ea7482017-01-20 06:05:58 -080044};
45
46} // namespace implementation
47} // namespace V1_0
48} // namespace usb
49} // namespace hardware
50} // namespace android
51
52#endif // ANDROID_HARDWARE_USB_V1_0_USB_H