Index: device/hid/hid_usage_and_page.cc |
diff --git a/device/hid/hid_usage_and_page.cc b/device/hid/hid_usage_and_page.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5325ef9ddccbd3233ee1a6a1f9e6bcfc60c3a25d |
--- /dev/null |
+++ b/device/hid/hid_usage_and_page.cc |
@@ -0,0 +1,131 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "device/hid/hid_usage_and_page.h" |
+ |
+#include "base/logging.h" |
+ |
+namespace device { |
+ |
+bool HidUsageAndPage::operator==(const HidUsageAndPage& other) const { |
+ return usage == other.usage && usage_page == other.usage_page; |
+} |
+ |
+std::ostream& operator<<(std::ostream& os, |
+ const HidUsageAndPage::Page& usage_page) { |
+ switch (usage_page) { |
+ case HidUsageAndPage::kPageUndefined: |
+ os << "Undefined"; |
+ break; |
+ case HidUsageAndPage::kPageGenericDesktop: |
+ os << "Generic Desktop"; |
+ break; |
+ case HidUsageAndPage::kPageSimulation: |
+ os << "Simulation"; |
+ break; |
+ case HidUsageAndPage::kPageVirtualReality: |
+ os << "Virtual Reality"; |
+ break; |
+ case HidUsageAndPage::kPageSport: |
+ os << "Sport"; |
+ break; |
+ case HidUsageAndPage::kPageGame: |
+ os << "Game"; |
+ break; |
+ case HidUsageAndPage::kPageKeyboard: |
+ os << "Keyboard"; |
+ break; |
+ case HidUsageAndPage::kPageLed: |
+ os << "Led"; |
+ break; |
+ case HidUsageAndPage::kPageButton: |
+ os << "Button"; |
+ break; |
+ case HidUsageAndPage::kPageOrdinal: |
+ os << "Ordinal"; |
+ break; |
+ case HidUsageAndPage::kPageTelephony: |
+ os << "Telephony"; |
+ break; |
+ case HidUsageAndPage::kPageConsumer: |
+ os << "Consumer"; |
+ break; |
+ case HidUsageAndPage::kPageDigitizer: |
+ os << "Digitizer"; |
+ break; |
+ case HidUsageAndPage::kPagePidPage: |
+ os << "Pid Page"; |
+ break; |
+ case HidUsageAndPage::kPageUnicode: |
+ os << "Unicode"; |
+ break; |
+ case HidUsageAndPage::kPageAlphanumericDisplay: |
+ os << "Alphanumeric Display"; |
+ break; |
+ case HidUsageAndPage::kPageMedicalInstruments: |
+ os << "Medical Instruments"; |
+ break; |
+ case HidUsageAndPage::kPageMonitor0: |
+ os << "Monitor 0"; |
+ break; |
+ case HidUsageAndPage::kPageMonitor1: |
+ os << "Monitor 1"; |
+ break; |
+ case HidUsageAndPage::kPageMonitor2: |
+ os << "Monitor 2"; |
+ break; |
+ case HidUsageAndPage::kPageMonitor3: |
+ os << "Monitor 3"; |
+ break; |
+ case HidUsageAndPage::kPagePower0: |
+ os << "Power 0"; |
+ break; |
+ case HidUsageAndPage::kPagePower1: |
+ os << "Power 1"; |
+ break; |
+ case HidUsageAndPage::kPagePower2: |
+ os << "Power 2"; |
+ break; |
+ case HidUsageAndPage::kPagePower3: |
+ os << "Power 3"; |
+ break; |
+ case HidUsageAndPage::kPageBarCodeScanner: |
+ os << "Bar Code Scanner"; |
+ break; |
+ case HidUsageAndPage::kPageScale: |
+ os << "Scale"; |
+ break; |
+ case HidUsageAndPage::kPageMagneticStripeReader: |
+ os << "Magnetic Stripe Reader"; |
+ break; |
+ case HidUsageAndPage::kPageReservedPointOfSale: |
+ os << "Reserved Point Of Sale"; |
+ break; |
+ case HidUsageAndPage::kPageCameraControl: |
+ os << "Camera Control"; |
+ break; |
+ case HidUsageAndPage::kPageArcade: |
+ os << "Arcade"; |
+ break; |
+ case HidUsageAndPage::kPageVendor: |
+ os << "Vendor"; |
+ break; |
+ case HidUsageAndPage::kPageMediaCenter: |
+ os << "Media Center"; |
+ break; |
+ default: |
+ NOTREACHED(); |
+ break; |
+ } |
+ return os; |
+} |
+ |
+std::ostream& operator<<(std::ostream& os, |
+ const HidUsageAndPage& usage_and_page) { |
+ os << "Usage Page: " << usage_and_page.usage_page << ", Usage: " |
+ << "0x" << std::hex << std::uppercase << usage_and_page.usage; |
+ return os; |
+} |
+ |
+} // namespace device |