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

Side by Side Diff: extensions/browser/api/serial/serial_connection.cc

Issue 1527183003: Change mojo enums to be scoped enums in the generated C++ bindings. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mojo-binding-equals
Patch Set: rebase Created 4 years, 11 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "extensions/browser/api/serial/serial_connection.h" 5 #include "extensions/browser/api/serial/serial_connection.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
11 #include "base/lazy_instance.h" 11 #include "base/lazy_instance.h"
12 #include "base/message_loop/message_loop.h" 12 #include "base/message_loop/message_loop.h"
13 #include "device/serial/buffer.h" 13 #include "device/serial/buffer.h"
14 #include "extensions/browser/api/api_resource_manager.h" 14 #include "extensions/browser/api/api_resource_manager.h"
15 #include "extensions/common/api/serial.h" 15 #include "extensions/common/api/serial.h"
16 16
17 namespace extensions { 17 namespace extensions {
18 18
19 namespace { 19 namespace {
20 20
21 const int kDefaultBufferSize = 4096; 21 const int kDefaultBufferSize = 4096;
22 22
23 api::serial::SendError ConvertSendErrorFromMojo( 23 api::serial::SendError ConvertSendErrorFromMojo(
24 device::serial::SendError input) { 24 device::serial::SendError input) {
25 switch (input) { 25 switch (input) {
26 case device::serial::SEND_ERROR_NONE: 26 case device::serial::SendError::NONE:
27 return api::serial::SEND_ERROR_NONE; 27 return api::serial::SEND_ERROR_NONE;
28 case device::serial::SEND_ERROR_DISCONNECTED: 28 case device::serial::SendError::DISCONNECTED:
29 return api::serial::SEND_ERROR_DISCONNECTED; 29 return api::serial::SEND_ERROR_DISCONNECTED;
30 case device::serial::SEND_ERROR_PENDING: 30 case device::serial::SendError::PENDING:
31 return api::serial::SEND_ERROR_PENDING; 31 return api::serial::SEND_ERROR_PENDING;
32 case device::serial::SEND_ERROR_TIMEOUT: 32 case device::serial::SendError::TIMEOUT:
33 return api::serial::SEND_ERROR_TIMEOUT; 33 return api::serial::SEND_ERROR_TIMEOUT;
34 case device::serial::SEND_ERROR_SYSTEM_ERROR: 34 case device::serial::SendError::SYSTEM_ERROR:
35 return api::serial::SEND_ERROR_SYSTEM_ERROR; 35 return api::serial::SEND_ERROR_SYSTEM_ERROR;
36 } 36 }
37 return api::serial::SEND_ERROR_NONE; 37 return api::serial::SEND_ERROR_NONE;
38 } 38 }
39 39
40 api::serial::ReceiveError ConvertReceiveErrorFromMojo( 40 api::serial::ReceiveError ConvertReceiveErrorFromMojo(
41 device::serial::ReceiveError input) { 41 device::serial::ReceiveError input) {
42 switch (input) { 42 switch (input) {
43 case device::serial::RECEIVE_ERROR_NONE: 43 case device::serial::ReceiveError::NONE:
44 return api::serial::RECEIVE_ERROR_NONE; 44 return api::serial::RECEIVE_ERROR_NONE;
45 case device::serial::RECEIVE_ERROR_DISCONNECTED: 45 case device::serial::ReceiveError::DISCONNECTED:
46 return api::serial::RECEIVE_ERROR_DISCONNECTED; 46 return api::serial::RECEIVE_ERROR_DISCONNECTED;
47 case device::serial::RECEIVE_ERROR_TIMEOUT: 47 case device::serial::ReceiveError::TIMEOUT:
48 return api::serial::RECEIVE_ERROR_TIMEOUT; 48 return api::serial::RECEIVE_ERROR_TIMEOUT;
49 case device::serial::RECEIVE_ERROR_DEVICE_LOST: 49 case device::serial::ReceiveError::DEVICE_LOST:
50 return api::serial::RECEIVE_ERROR_DEVICE_LOST; 50 return api::serial::RECEIVE_ERROR_DEVICE_LOST;
51 case device::serial::RECEIVE_ERROR_BREAK: 51 case device::serial::ReceiveError::BREAK:
52 return api::serial::RECEIVE_ERROR_BREAK; 52 return api::serial::RECEIVE_ERROR_BREAK;
53 case device::serial::RECEIVE_ERROR_FRAME_ERROR: 53 case device::serial::ReceiveError::FRAME_ERROR:
54 return api::serial::RECEIVE_ERROR_FRAME_ERROR; 54 return api::serial::RECEIVE_ERROR_FRAME_ERROR;
55 case device::serial::RECEIVE_ERROR_OVERRUN: 55 case device::serial::ReceiveError::OVERRUN:
56 return api::serial::RECEIVE_ERROR_OVERRUN; 56 return api::serial::RECEIVE_ERROR_OVERRUN;
57 case device::serial::RECEIVE_ERROR_BUFFER_OVERFLOW: 57 case device::serial::ReceiveError::BUFFER_OVERFLOW:
58 return api::serial::RECEIVE_ERROR_BUFFER_OVERFLOW; 58 return api::serial::RECEIVE_ERROR_BUFFER_OVERFLOW;
59 case device::serial::RECEIVE_ERROR_PARITY_ERROR: 59 case device::serial::ReceiveError::PARITY_ERROR:
60 return api::serial::RECEIVE_ERROR_PARITY_ERROR; 60 return api::serial::RECEIVE_ERROR_PARITY_ERROR;
61 case device::serial::RECEIVE_ERROR_SYSTEM_ERROR: 61 case device::serial::ReceiveError::SYSTEM_ERROR:
62 return api::serial::RECEIVE_ERROR_SYSTEM_ERROR; 62 return api::serial::RECEIVE_ERROR_SYSTEM_ERROR;
63 } 63 }
64 return api::serial::RECEIVE_ERROR_NONE; 64 return api::serial::RECEIVE_ERROR_NONE;
65 } 65 }
66 66
67 api::serial::DataBits ConvertDataBitsFromMojo(device::serial::DataBits input) { 67 api::serial::DataBits ConvertDataBitsFromMojo(device::serial::DataBits input) {
68 switch (input) { 68 switch (input) {
69 case device::serial::DATA_BITS_NONE: 69 case device::serial::DataBits::NONE:
70 return api::serial::DATA_BITS_NONE; 70 return api::serial::DATA_BITS_NONE;
71 case device::serial::DATA_BITS_SEVEN: 71 case device::serial::DataBits::SEVEN:
72 return api::serial::DATA_BITS_SEVEN; 72 return api::serial::DATA_BITS_SEVEN;
73 case device::serial::DATA_BITS_EIGHT: 73 case device::serial::DataBits::EIGHT:
74 return api::serial::DATA_BITS_EIGHT; 74 return api::serial::DATA_BITS_EIGHT;
75 } 75 }
76 return api::serial::DATA_BITS_NONE; 76 return api::serial::DATA_BITS_NONE;
77 } 77 }
78 78
79 device::serial::DataBits ConvertDataBitsToMojo(api::serial::DataBits input) { 79 device::serial::DataBits ConvertDataBitsToMojo(api::serial::DataBits input) {
80 switch (input) { 80 switch (input) {
81 case api::serial::DATA_BITS_NONE: 81 case api::serial::DATA_BITS_NONE:
82 return device::serial::DATA_BITS_NONE; 82 return device::serial::DataBits::NONE;
83 case api::serial::DATA_BITS_SEVEN: 83 case api::serial::DATA_BITS_SEVEN:
84 return device::serial::DATA_BITS_SEVEN; 84 return device::serial::DataBits::SEVEN;
85 case api::serial::DATA_BITS_EIGHT: 85 case api::serial::DATA_BITS_EIGHT:
86 return device::serial::DATA_BITS_EIGHT; 86 return device::serial::DataBits::EIGHT;
87 } 87 }
88 return device::serial::DATA_BITS_NONE; 88 return device::serial::DataBits::NONE;
89 } 89 }
90 90
91 api::serial::ParityBit ConvertParityBitFromMojo( 91 api::serial::ParityBit ConvertParityBitFromMojo(
92 device::serial::ParityBit input) { 92 device::serial::ParityBit input) {
93 switch (input) { 93 switch (input) {
94 case device::serial::PARITY_BIT_NONE: 94 case device::serial::ParityBit::NONE:
95 return api::serial::PARITY_BIT_NONE; 95 return api::serial::PARITY_BIT_NONE;
96 case device::serial::PARITY_BIT_ODD: 96 case device::serial::ParityBit::ODD:
97 return api::serial::PARITY_BIT_ODD; 97 return api::serial::PARITY_BIT_ODD;
98 case device::serial::PARITY_BIT_NO: 98 case device::serial::ParityBit::NO:
99 return api::serial::PARITY_BIT_NO; 99 return api::serial::PARITY_BIT_NO;
100 case device::serial::PARITY_BIT_EVEN: 100 case device::serial::ParityBit::EVEN:
101 return api::serial::PARITY_BIT_EVEN; 101 return api::serial::PARITY_BIT_EVEN;
102 } 102 }
103 return api::serial::PARITY_BIT_NONE; 103 return api::serial::PARITY_BIT_NONE;
104 } 104 }
105 105
106 device::serial::ParityBit ConvertParityBitToMojo(api::serial::ParityBit input) { 106 device::serial::ParityBit ConvertParityBitToMojo(api::serial::ParityBit input) {
107 switch (input) { 107 switch (input) {
108 case api::serial::PARITY_BIT_NONE: 108 case api::serial::PARITY_BIT_NONE:
109 return device::serial::PARITY_BIT_NONE; 109 return device::serial::ParityBit::NONE;
110 case api::serial::PARITY_BIT_NO: 110 case api::serial::PARITY_BIT_NO:
111 return device::serial::PARITY_BIT_NO; 111 return device::serial::ParityBit::NO;
112 case api::serial::PARITY_BIT_ODD: 112 case api::serial::PARITY_BIT_ODD:
113 return device::serial::PARITY_BIT_ODD; 113 return device::serial::ParityBit::ODD;
114 case api::serial::PARITY_BIT_EVEN: 114 case api::serial::PARITY_BIT_EVEN:
115 return device::serial::PARITY_BIT_EVEN; 115 return device::serial::ParityBit::EVEN;
116 } 116 }
117 return device::serial::PARITY_BIT_NONE; 117 return device::serial::ParityBit::NONE;
118 } 118 }
119 119
120 api::serial::StopBits ConvertStopBitsFromMojo(device::serial::StopBits input) { 120 api::serial::StopBits ConvertStopBitsFromMojo(device::serial::StopBits input) {
121 switch (input) { 121 switch (input) {
122 case device::serial::STOP_BITS_NONE: 122 case device::serial::StopBits::NONE:
123 return api::serial::STOP_BITS_NONE; 123 return api::serial::STOP_BITS_NONE;
124 case device::serial::STOP_BITS_ONE: 124 case device::serial::StopBits::ONE:
125 return api::serial::STOP_BITS_ONE; 125 return api::serial::STOP_BITS_ONE;
126 case device::serial::STOP_BITS_TWO: 126 case device::serial::StopBits::TWO:
127 return api::serial::STOP_BITS_TWO; 127 return api::serial::STOP_BITS_TWO;
128 } 128 }
129 return api::serial::STOP_BITS_NONE; 129 return api::serial::STOP_BITS_NONE;
130 } 130 }
131 131
132 device::serial::StopBits ConvertStopBitsToMojo(api::serial::StopBits input) { 132 device::serial::StopBits ConvertStopBitsToMojo(api::serial::StopBits input) {
133 switch (input) { 133 switch (input) {
134 case api::serial::STOP_BITS_NONE: 134 case api::serial::STOP_BITS_NONE:
135 return device::serial::STOP_BITS_NONE; 135 return device::serial::StopBits::NONE;
136 case api::serial::STOP_BITS_ONE: 136 case api::serial::STOP_BITS_ONE:
137 return device::serial::STOP_BITS_ONE; 137 return device::serial::StopBits::ONE;
138 case api::serial::STOP_BITS_TWO: 138 case api::serial::STOP_BITS_TWO:
139 return device::serial::STOP_BITS_TWO; 139 return device::serial::StopBits::TWO;
140 } 140 }
141 return device::serial::STOP_BITS_NONE; 141 return device::serial::StopBits::NONE;
142 } 142 }
143 143
144 } // namespace 144 } // namespace
145 145
146 static base::LazyInstance< 146 static base::LazyInstance<
147 BrowserContextKeyedAPIFactory<ApiResourceManager<SerialConnection> > > 147 BrowserContextKeyedAPIFactory<ApiResourceManager<SerialConnection> > >
148 g_factory = LAZY_INSTANCE_INITIALIZER; 148 g_factory = LAZY_INSTANCE_INITIALIZER;
149 149
150 // static 150 // static
151 template <> 151 template <>
(...skipping 13 matching lines...) Expand all
165 paused_(false), 165 paused_(false),
166 io_handler_(device::SerialIoHandler::Create( 166 io_handler_(device::SerialIoHandler::Create(
167 content::BrowserThread::GetMessageLoopProxyForThread( 167 content::BrowserThread::GetMessageLoopProxyForThread(
168 content::BrowserThread::FILE), 168 content::BrowserThread::FILE),
169 content::BrowserThread::GetMessageLoopProxyForThread( 169 content::BrowserThread::GetMessageLoopProxyForThread(
170 content::BrowserThread::UI))) { 170 content::BrowserThread::UI))) {
171 DCHECK_CURRENTLY_ON(BrowserThread::IO); 171 DCHECK_CURRENTLY_ON(BrowserThread::IO);
172 } 172 }
173 173
174 SerialConnection::~SerialConnection() { 174 SerialConnection::~SerialConnection() {
175 io_handler_->CancelRead(device::serial::RECEIVE_ERROR_DISCONNECTED); 175 io_handler_->CancelRead(device::serial::ReceiveError::DISCONNECTED);
176 io_handler_->CancelWrite(device::serial::SEND_ERROR_DISCONNECTED); 176 io_handler_->CancelWrite(device::serial::SendError::DISCONNECTED);
177 } 177 }
178 178
179 bool SerialConnection::IsPersistent() const { 179 bool SerialConnection::IsPersistent() const {
180 return persistent(); 180 return persistent();
181 } 181 }
182 182
183 void SerialConnection::set_buffer_size(int buffer_size) { 183 void SerialConnection::set_buffer_size(int buffer_size) {
184 buffer_size_ = buffer_size; 184 buffer_size_ = buffer_size;
185 } 185 }
186 186
187 void SerialConnection::set_receive_timeout(int receive_timeout) { 187 void SerialConnection::set_receive_timeout(int receive_timeout) {
188 receive_timeout_ = receive_timeout; 188 receive_timeout_ = receive_timeout;
189 } 189 }
190 190
191 void SerialConnection::set_send_timeout(int send_timeout) { 191 void SerialConnection::set_send_timeout(int send_timeout) {
192 send_timeout_ = send_timeout; 192 send_timeout_ = send_timeout;
193 } 193 }
194 194
195 void SerialConnection::set_paused(bool paused) { 195 void SerialConnection::set_paused(bool paused) {
196 paused_ = paused; 196 paused_ = paused;
197 if (paused) { 197 if (paused) {
198 io_handler_->CancelRead(device::serial::RECEIVE_ERROR_NONE); 198 io_handler_->CancelRead(device::serial::ReceiveError::NONE);
199 } 199 }
200 } 200 }
201 201
202 void SerialConnection::Open(const api::serial::ConnectionOptions& options, 202 void SerialConnection::Open(const api::serial::ConnectionOptions& options,
203 const OpenCompleteCallback& callback) { 203 const OpenCompleteCallback& callback) {
204 DCHECK_CURRENTLY_ON(BrowserThread::IO); 204 DCHECK_CURRENTLY_ON(BrowserThread::IO);
205 if (options.persistent.get()) 205 if (options.persistent.get())
206 set_persistent(*options.persistent); 206 set_persistent(*options.persistent);
207 if (options.name.get()) 207 if (options.name.get())
208 set_name(*options.name); 208 set_name(*options.name);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 if (options.name.get()) 259 if (options.name.get())
260 set_name(*options.name); 260 set_name(*options.name);
261 if (options.buffer_size.get()) 261 if (options.buffer_size.get())
262 set_buffer_size(*options.buffer_size); 262 set_buffer_size(*options.buffer_size);
263 if (options.receive_timeout.get()) 263 if (options.receive_timeout.get())
264 set_receive_timeout(*options.receive_timeout); 264 set_receive_timeout(*options.receive_timeout);
265 if (options.send_timeout.get()) 265 if (options.send_timeout.get())
266 set_send_timeout(*options.send_timeout); 266 set_send_timeout(*options.send_timeout);
267 bool success = io_handler_->ConfigurePort( 267 bool success = io_handler_->ConfigurePort(
268 *device::serial::ConnectionOptions::From(options)); 268 *device::serial::ConnectionOptions::From(options));
269 io_handler_->CancelRead(device::serial::RECEIVE_ERROR_NONE); 269 io_handler_->CancelRead(device::serial::ReceiveError::NONE);
270 return success; 270 return success;
271 } 271 }
272 272
273 void SerialConnection::SetIoHandlerForTest( 273 void SerialConnection::SetIoHandlerForTest(
274 scoped_refptr<device::SerialIoHandler> handler) { 274 scoped_refptr<device::SerialIoHandler> handler) {
275 io_handler_ = handler; 275 io_handler_ = handler;
276 } 276 }
277 277
278 bool SerialConnection::GetInfo(api::serial::ConnectionInfo* info) const { 278 bool SerialConnection::GetInfo(api::serial::ConnectionInfo* info) const {
279 DCHECK_CURRENTLY_ON(BrowserThread::IO); 279 DCHECK_CURRENTLY_ON(BrowserThread::IO);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 bool SerialConnection::SetBreak() { 322 bool SerialConnection::SetBreak() {
323 return io_handler_->SetBreak(); 323 return io_handler_->SetBreak();
324 } 324 }
325 325
326 bool SerialConnection::ClearBreak() { 326 bool SerialConnection::ClearBreak() {
327 return io_handler_->ClearBreak(); 327 return io_handler_->ClearBreak();
328 } 328 }
329 329
330 void SerialConnection::OnReceiveTimeout() { 330 void SerialConnection::OnReceiveTimeout() {
331 DCHECK_CURRENTLY_ON(BrowserThread::IO); 331 DCHECK_CURRENTLY_ON(BrowserThread::IO);
332 io_handler_->CancelRead(device::serial::RECEIVE_ERROR_TIMEOUT); 332 io_handler_->CancelRead(device::serial::ReceiveError::TIMEOUT);
333 } 333 }
334 334
335 void SerialConnection::OnSendTimeout() { 335 void SerialConnection::OnSendTimeout() {
336 DCHECK_CURRENTLY_ON(BrowserThread::IO); 336 DCHECK_CURRENTLY_ON(BrowserThread::IO);
337 io_handler_->CancelWrite(device::serial::SEND_ERROR_TIMEOUT); 337 io_handler_->CancelWrite(device::serial::SendError::TIMEOUT);
338 } 338 }
339 339
340 void SerialConnection::OnAsyncReadComplete(int bytes_read, 340 void SerialConnection::OnAsyncReadComplete(int bytes_read,
341 device::serial::ReceiveError error) { 341 device::serial::ReceiveError error) {
342 DCHECK_CURRENTLY_ON(BrowserThread::IO); 342 DCHECK_CURRENTLY_ON(BrowserThread::IO);
343 DCHECK(!receive_complete_.is_null()); 343 DCHECK(!receive_complete_.is_null());
344 ReceiveCompleteCallback callback = receive_complete_; 344 ReceiveCompleteCallback callback = receive_complete_;
345 receive_complete_.Reset(); 345 receive_complete_.Reset();
346 receive_timeout_task_.reset(); 346 receive_timeout_task_.reset();
347 callback.Run(std::vector<char>(receive_buffer_->data(), 347 callback.Run(std::vector<char>(receive_buffer_->data(),
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 output->parity_bit = extensions::ConvertParityBitToMojo(input.parity_bit); 411 output->parity_bit = extensions::ConvertParityBitToMojo(input.parity_bit);
412 output->stop_bits = extensions::ConvertStopBitsToMojo(input.stop_bits); 412 output->stop_bits = extensions::ConvertStopBitsToMojo(input.stop_bits);
413 if (input.cts_flow_control.get()) { 413 if (input.cts_flow_control.get()) {
414 output->has_cts_flow_control = true; 414 output->has_cts_flow_control = true;
415 output->cts_flow_control = *input.cts_flow_control; 415 output->cts_flow_control = *input.cts_flow_control;
416 } 416 }
417 return output; 417 return output;
418 } 418 }
419 419
420 } // namespace mojo 420 } // namespace mojo
OLDNEW
« no previous file with comments | « device/serial/test_serial_io_handler.cc ('k') | extensions/renderer/api/serial/serial_api_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698