diff --git a/device/win_usb/win_usb.h b/device/win_usb/win_usb.h index 9407da4..b5add8d 100644 --- a/device/win_usb/win_usb.h +++ b/device/win_usb/win_usb.h @@ -150,22 +150,25 @@ class usb_monitor // consider as libusb_context std::vector devices_; std::shared_ptr handle_msg_; DWORD handle_msg_id_; + HWND wnd_monitor_; std::string cur_dev_name_; volatile bool run_; + std::vector found_usb_devs_; - HWND wnd_monitor_; static LRESULT CALLBACK monitor_wnd_proc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp); static void register_monitor_wnd(const wchar_t* cls); void notify_usb_event(usb_device*& dev, bool arrive); int on_usb_pnp(WPARAM wp, LPARAM lp); void find_usb(std::vector& usb_devs); + void find_usb_and_trigger_event(void); public: usb_monitor(); ~usb_monitor(); static usb_monitor* usb_monitor_; + static UINT find_usb_timer_; // set when RegisterDeviceNotification failed public: usb_callback* reg_callback(libusb_hotplug_callback_fn cb, void* param);