diff options
Diffstat (limited to 'device/hid/hid_connection_win.h')
-rw-r--r-- | device/hid/hid_connection_win.h | 45 |
1 files changed, 22 insertions, 23 deletions
diff --git a/device/hid/hid_connection_win.h b/device/hid/hid_connection_win.h index 6706044..263897a 100644 --- a/device/hid/hid_connection_win.h +++ b/device/hid/hid_connection_win.h @@ -9,8 +9,12 @@ #include <set> -#include "base/win/scoped_handle.h" +#include "base/callback.h" +#include "base/memory/ref_counted.h" +#include "base/message_loop/message_loop.h" +#include "base/threading/thread_checker.h" #include "device/hid/hid_connection.h" +#include "device/hid/hid_device_info.h" namespace device { @@ -20,36 +24,31 @@ class HidConnectionWin : public HidConnection { public: explicit HidConnectionWin(const HidDeviceInfo& device_info); - // HidConnection implementation. - virtual void PlatformRead(scoped_refptr<net::IOBufferWithSize> buffer, - const IOCallback& callback) OVERRIDE; - virtual void PlatformWrite(uint8_t report_id, - scoped_refptr<net::IOBufferWithSize> buffer, - const IOCallback& callback) OVERRIDE; - virtual void PlatformGetFeatureReport( - uint8_t report_id, - scoped_refptr<net::IOBufferWithSize> buffer, - const IOCallback& callback) OVERRIDE; - virtual void PlatformSendFeatureReport( - uint8_t report_id, - scoped_refptr<net::IOBufferWithSize> buffer, - const IOCallback& callback) OVERRIDE; + bool available() const; - private: - friend class HidServiceWin; - friend struct PendingHidTransfer; - - ~HidConnectionWin(); - - bool available() const { return file_.IsValid(); } + virtual void Read(scoped_refptr<net::IOBufferWithSize> buffer, + const IOCallback& callback) OVERRIDE; + virtual void Write(uint8_t report_id, + scoped_refptr<net::IOBufferWithSize> buffer, + const IOCallback& callback) OVERRIDE; + virtual void GetFeatureReport(uint8_t report_id, + scoped_refptr<net::IOBufferWithSize> buffer, + const IOCallback& callback) OVERRIDE; + virtual void SendFeatureReport(uint8_t report_id, + scoped_refptr<net::IOBufferWithSize> buffer, + const IOCallback& callback) OVERRIDE; void OnTransferFinished(scoped_refptr<PendingHidTransfer> transfer); void OnTransferCanceled(scoped_refptr<PendingHidTransfer> transfer); - base::win::ScopedHandle file_; + private: + ~HidConnectionWin(); + base::win::ScopedHandle file_; std::set<scoped_refptr<PendingHidTransfer> > transfers_; + base::ThreadChecker thread_checker_; + DISALLOW_COPY_AND_ASSIGN(HidConnectionWin); }; |