Home | History | Annotate | Download | only in hid
      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