Chromium Code Reviews| Index: device/hid/hid_device_info.h |
| diff --git a/device/hid/hid_device_info.h b/device/hid/hid_device_info.h |
| index 917a12951484fa5471f5a9b038bdbc5eeae35500..4614bf9ad76db41becb941e1dda008fede3fa8fd 100644 |
| --- a/device/hid/hid_device_info.h |
| +++ b/device/hid/hid_device_info.h |
| @@ -8,6 +8,7 @@ |
| #include <string> |
| #include <vector> |
| +#include "base/memory/ref_counted.h" |
| #include "build/build_config.h" |
| #include "device/hid/hid_collection_info.h" |
| @@ -21,28 +22,60 @@ enum HidBusType { |
| typedef std::string HidDeviceId; |
| extern const char kInvalidHidDeviceId[]; |
| -struct HidDeviceInfo { |
| +class HidDeviceInfo : public base::RefCountedThreadSafe<HidDeviceInfo> { |
| + public: |
| HidDeviceInfo(); |
| + |
| + // Device identification. |
| + const HidDeviceId& device_id() const { return device_id_; } |
| + uint16_t vendor_id() const { return vendor_id_; } |
| + uint16_t product_id() const { return product_id_; } |
| + const std::string& product_name() const { return product_name_; } |
| + const std::string& serial_number() const { return serial_number_; } |
| + HidBusType bus_type() const { return bus_type_; } |
| + |
| + // Top-Level Collections information. |
| + const std::vector<HidCollectionInfo>& collections() const { |
| + return collections_; |
| + } |
| + bool has_report_id() const { return has_report_id_; }; |
| + size_t max_input_report_size() const { return max_input_report_size_; } |
| + size_t max_output_report_size() const { return max_output_report_size_; } |
| + size_t max_feature_report_size() const { return max_feature_report_size_; } |
| + |
| +#if defined(OS_LINUX) |
| + const std::string& device_node() const { return device_node_; } |
| +#endif |
| + |
| + private: |
| + friend class base::RefCountedThreadSafe<HidDeviceInfo>; |
| + friend class HidServiceLinux; |
| + friend class HidServiceMac; |
|
Ken Rockot(use gerrit already)
2015/01/08 20:26:16
Could you please add a TODO which documents the in
|
| + friend class HidServiceWin; |
| + friend class MockHidService; |
| + friend class HidFilterTest; |
| ~HidDeviceInfo(); |
| // Device identification. |
| - HidDeviceId device_id; |
| - uint16_t vendor_id; |
| - uint16_t product_id; |
| - std::string product_name; |
| - std::string serial_number; |
| - HidBusType bus_type; |
| + HidDeviceId device_id_; |
| + uint16_t vendor_id_; |
| + uint16_t product_id_; |
| + std::string product_name_; |
| + std::string serial_number_; |
| + HidBusType bus_type_; |
| // Top-Level Collections information. |
| - std::vector<HidCollectionInfo> collections; |
| - bool has_report_id; |
| - size_t max_input_report_size; |
| - size_t max_output_report_size; |
| - size_t max_feature_report_size; |
| + std::vector<HidCollectionInfo> collections_; |
| + bool has_report_id_; |
| + size_t max_input_report_size_; |
| + size_t max_output_report_size_; |
| + size_t max_feature_report_size_; |
| #if defined(OS_LINUX) |
| - std::string device_node; |
| + std::string device_node_; |
| #endif |
| + |
| + DISALLOW_COPY_AND_ASSIGN(HidDeviceInfo); |
| }; |
| } // namespace device |