Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(829)

Side by Side Diff: device/hid/hid_usage_and_page.h

Issue 225513005: chrome.hid : enrich device info with Top-Level collections usages (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: renaming 'parent_item' Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « device/hid/hid_service_win.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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_USAGE_AND_PAGE_H_
6 #define DEVICE_HID_HID_USAGE_AND_PAGE_H_
7
8 #include <stdint.h>
9
10 #include <ostream>
11
12 #include "base/logging.h"
13
14 namespace device {
15
16 struct HidUsageAndPage {
Ken Rockot(use gerrit already) 2014/04/15 21:18:37 Vertical whitespace
jracle (use Gerrit) 2014/04/16 16:39:20 Done
17
18 enum Page {
19 kPageUndefined = 0x00,
20 kPageGenericDesktop = 0x01,
21 kPageSimulation = 0x02,
22 kPageVirtualReality = 0x03,
23 kPageSport = 0x04,
24 kPageGame = 0x05,
25 kPageKeyboard = 0x07,
26 kPageLed = 0x08,
27 kPageButton = 0x09,
28 kPageOrdinal = 0x0A,
29 kPageTelephony = 0x0B,
30 kPageConsumer = 0x0C,
31 kPageDigitizer = 0x0D,
32 kPagePidPage = 0x0F,
33 kPageUnicode = 0x10,
34 kPageAlphanumericDisplay = 0x14,
35 kPageMedicalInstruments = 0x40,
36 kPageMonitor0 = 0x80,
37 kPageMonitor1 = 0x81,
38 kPageMonitor2 = 0x82,
39 kPageMonitor3 = 0x83,
40 kPagePower0 = 0x84,
41 kPagePower1 = 0x85,
42 kPagePower2 = 0x86,
43 kPagePower3 = 0x87,
44 kPageBarCodeScanner = 0x8C,
45 kPageScale = 0x8D,
46 kPageMagneticStripeReader = 0x8E,
47 kPageReservedPointOfSale = 0x8F,
48 kPageCameraControl = 0x90,
49 kPageArcade = 0x91,
50 kPageVendor = 0xFF00,
51 kPageMediaCenter = 0xFFBC
52 };
53
54 HidUsageAndPage(Page usage_page, uint16_t usage)
55 : usage_page((uint16_t)usage_page), usage(usage) {}
56 HidUsageAndPage(uint16_t usage_page, uint16_t usage)
Ken Rockot(use gerrit already) 2014/04/15 21:18:37 This is confusing. Please just have one constructo
jracle (use Gerrit) 2014/04/16 16:39:20 Makes sense!
57 : usage_page(usage_page), usage(usage) {}
58 HidUsageAndPage() : usage_page(0), usage(0) {}
59 ~HidUsageAndPage() {}
60
61 uint16_t usage_page;
Ken Rockot(use gerrit already) 2014/04/15 21:18:37 Why not store this as a Page?
jracle (use Gerrit) 2014/04/16 16:39:20 Indeed (feared to get out-of-range values wrt page
62 uint16_t usage;
63
64 bool operator==(const HidUsageAndPage& other) const {
Ken Rockot(use gerrit already) 2014/04/15 21:18:37 Please do not overload operators (the ostream oper
jracle (use Gerrit) 2014/04/16 16:39:20 This is needed for unit test assertions
65 return usage_page == other.usage_page && usage == other.usage;
66 }
67
68 private:
69 friend std::ostream& operator<<(std::ostream& os,
70 const HidUsageAndPage& usage_and_page) {
Ken Rockot(use gerrit already) 2014/04/15 21:18:37 Please do not inline this, and it doesn't need to
jracle (use Gerrit) 2014/04/16 16:39:20 OK
71 os << "Usage Page: " << (Page)usage_and_page.usage_page
72 << ", Usage: " << usage_and_page.usage;
73 return os;
74 };
75
76 friend std::ostream& operator<<(std::ostream& os, const Page& usage_page) {
Ken Rockot(use gerrit already) 2014/04/15 21:18:37 Please do not inline this, and it doesn't need to
jracle (use Gerrit) 2014/04/16 16:39:20 OK
77 switch (usage_page) {
78 case kPageUndefined:
79 os << "Undefined";
80 break;
81 case kPageGenericDesktop:
82 os << "Generic Desktop";
83 break;
84 case kPageSimulation:
85 os << "Simulation";
86 break;
87 case kPageVirtualReality:
88 os << "Virtual Reality";
89 break;
90 case kPageSport:
91 os << "Sport";
92 break;
93 case kPageGame:
94 os << "Game";
95 break;
96 case kPageKeyboard:
97 os << "Keyboard";
98 break;
99 case kPageLed:
100 os << "Led";
101 break;
102 case kPageButton:
103 os << "Button";
104 break;
105 case kPageOrdinal:
106 os << "Ordinal";
107 break;
108 case kPageTelephony:
109 os << "Telephony";
110 break;
111 case kPageConsumer:
112 os << "Consumer";
113 break;
114 case kPageDigitizer:
115 os << "Digitizer";
116 break;
117 case kPagePidPage:
118 os << "Pid Page";
119 break;
120 case kPageUnicode:
121 os << "Unicode";
122 break;
123 case kPageAlphanumericDisplay:
124 os << "Alphanumeric Display";
125 break;
126 case kPageMedicalInstruments:
127 os << "Medical Instruments";
128 break;
129 case kPageMonitor0:
130 os << "Monitor 0";
131 break;
132 case kPageMonitor1:
133 os << "Monitor 1";
134 break;
135 case kPageMonitor2:
136 os << "Monitor 2";
137 break;
138 case kPageMonitor3:
139 os << "Monitor 3";
140 break;
141 case kPagePower0:
142 os << "Power 0";
143 break;
144 case kPagePower1:
145 os << "Power 1";
146 break;
147 case kPagePower2:
148 os << "Power 2";
149 break;
150 case kPagePower3:
151 os << "Power 3";
152 break;
153 case kPageBarCodeScanner:
154 os << "Bar Code Scanner";
155 break;
156 case kPageScale:
157 os << "Scale";
158 break;
159 case kPageMagneticStripeReader:
160 os << "Magnetic Stripe Reader";
161 break;
162 case kPageReservedPointOfSale:
163 os << "Reserved Point Of Sale";
164 break;
165 case kPageCameraControl:
166 os << "Camera Control";
167 break;
168 case kPageArcade:
169 os << "Arcade";
170 break;
171 case kPageVendor:
172 os << "Vendor";
173 break;
174 case kPageMediaCenter:
175 os << "Media Center";
176 break;
177 default:
178 NOTREACHED();
179 break;
180 }
181 return os;
182 }
183 };
184
185 } // namespace device
186
187 #endif // DEVICE_HID_HID_USAGE_AND_PAGE_H_
OLDNEW
« no previous file with comments | « device/hid/hid_service_win.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698