1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef DEVICE_HID_HID_DEVICE_INFO_H_ 6 #define DEVICE_HID_HID_DEVICE_INFO_H_ 7 8 #include <string> 9 #include <vector> 10 11 #include "build/build_config.h" 12 #include "device/hid/hid_collection_info.h" 13 14 namespace device { 15 16 enum HidBusType { 17 kHIDBusTypeUSB = 0, 18 kHIDBusTypeBluetooth = 1, 19 }; 20 21 typedef std::string HidDeviceId; 22 extern const char kInvalidHidDeviceId[]; 23 24 struct HidDeviceInfo { 25 HidDeviceInfo(); 26 ~HidDeviceInfo(); 27 28 // Device identification. 29 HidDeviceId device_id; 30 uint16_t vendor_id; 31 uint16_t product_id; 32 std::string product_name; 33 std::string serial_number; 34 HidBusType bus_type; 35 36 // Top-Level Collections information. 37 std::vector<HidCollectionInfo> collections; 38 bool has_report_id; 39 uint16_t max_input_report_size; 40 uint16_t max_output_report_size; 41 uint16_t max_feature_report_size; 42 }; 43 44 } // namespace device 45 46 #endif // DEVICE_HID_HID_DEVICE_INFO_H_ 47