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

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

Issue 369893008: Move the serial API to extensions/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add missing dependency from usb_service to chromeos Created 6 years, 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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 "chrome/browser/extensions/api/serial/serial_connection.h" 5 #include "extensions/browser/api/serial/serial_connection.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
11 #include "chrome/common/extensions/api/serial.h"
12 #include "extensions/browser/api/api_resource_manager.h" 11 #include "extensions/browser/api/api_resource_manager.h"
12 #include "extensions/common/api/serial.h"
13 13
14 namespace extensions { 14 namespace extensions {
15 15
16 namespace { 16 namespace {
17 17
18 const int kDefaultBufferSize = 4096; 18 const int kDefaultBufferSize = 4096;
19 19
20 api::serial::SendError ConvertSendErrorFromMojo( 20 core_api::serial::SendError ConvertSendErrorFromMojo(
21 device::serial::SendError input) { 21 device::serial::SendError input) {
22 switch (input) { 22 switch (input) {
23 case device::serial::SEND_ERROR_NONE: 23 case device::serial::SEND_ERROR_NONE:
24 return api::serial::SEND_ERROR_NONE; 24 return core_api::serial::SEND_ERROR_NONE;
25 case device::serial::SEND_ERROR_DISCONNECTED: 25 case device::serial::SEND_ERROR_DISCONNECTED:
26 return api::serial::SEND_ERROR_DISCONNECTED; 26 return core_api::serial::SEND_ERROR_DISCONNECTED;
27 case device::serial::SEND_ERROR_PENDING: 27 case device::serial::SEND_ERROR_PENDING:
28 return api::serial::SEND_ERROR_PENDING; 28 return core_api::serial::SEND_ERROR_PENDING;
29 case device::serial::SEND_ERROR_TIMEOUT: 29 case device::serial::SEND_ERROR_TIMEOUT:
30 return api::serial::SEND_ERROR_TIMEOUT; 30 return core_api::serial::SEND_ERROR_TIMEOUT;
31 case device::serial::SEND_ERROR_SYSTEM_ERROR: 31 case device::serial::SEND_ERROR_SYSTEM_ERROR:
32 return api::serial::SEND_ERROR_SYSTEM_ERROR; 32 return core_api::serial::SEND_ERROR_SYSTEM_ERROR;
33 } 33 }
34 return api::serial::SEND_ERROR_NONE; 34 return core_api::serial::SEND_ERROR_NONE;
35 } 35 }
36 36
37 api::serial::ReceiveError ConvertReceiveErrorFromMojo( 37 core_api::serial::ReceiveError ConvertReceiveErrorFromMojo(
38 device::serial::ReceiveError input) { 38 device::serial::ReceiveError input) {
39 switch (input) { 39 switch (input) {
40 case device::serial::RECEIVE_ERROR_NONE: 40 case device::serial::RECEIVE_ERROR_NONE:
41 return api::serial::RECEIVE_ERROR_NONE; 41 return core_api::serial::RECEIVE_ERROR_NONE;
42 case device::serial::RECEIVE_ERROR_DISCONNECTED: 42 case device::serial::RECEIVE_ERROR_DISCONNECTED:
43 return api::serial::RECEIVE_ERROR_DISCONNECTED; 43 return core_api::serial::RECEIVE_ERROR_DISCONNECTED;
44 case device::serial::RECEIVE_ERROR_TIMEOUT: 44 case device::serial::RECEIVE_ERROR_TIMEOUT:
45 return api::serial::RECEIVE_ERROR_TIMEOUT; 45 return core_api::serial::RECEIVE_ERROR_TIMEOUT;
46 case device::serial::RECEIVE_ERROR_DEVICE_LOST: 46 case device::serial::RECEIVE_ERROR_DEVICE_LOST:
47 return api::serial::RECEIVE_ERROR_DEVICE_LOST; 47 return core_api::serial::RECEIVE_ERROR_DEVICE_LOST;
48 case device::serial::RECEIVE_ERROR_SYSTEM_ERROR: 48 case device::serial::RECEIVE_ERROR_SYSTEM_ERROR:
49 return api::serial::RECEIVE_ERROR_SYSTEM_ERROR; 49 return core_api::serial::RECEIVE_ERROR_SYSTEM_ERROR;
50 } 50 }
51 return api::serial::RECEIVE_ERROR_NONE; 51 return core_api::serial::RECEIVE_ERROR_NONE;
52 } 52 }
53 53
54 api::serial::DataBits ConvertDataBitsFromMojo(device::serial::DataBits input) { 54 core_api::serial::DataBits ConvertDataBitsFromMojo(
55 device::serial::DataBits input) {
55 switch (input) { 56 switch (input) {
56 case device::serial::DATA_BITS_NONE: 57 case device::serial::DATA_BITS_NONE:
57 return api::serial::DATA_BITS_NONE; 58 return core_api::serial::DATA_BITS_NONE;
58 case device::serial::DATA_BITS_SEVEN: 59 case device::serial::DATA_BITS_SEVEN:
59 return api::serial::DATA_BITS_SEVEN; 60 return core_api::serial::DATA_BITS_SEVEN;
60 case device::serial::DATA_BITS_EIGHT: 61 case device::serial::DATA_BITS_EIGHT:
61 return api::serial::DATA_BITS_EIGHT; 62 return core_api::serial::DATA_BITS_EIGHT;
62 } 63 }
63 return api::serial::DATA_BITS_NONE; 64 return core_api::serial::DATA_BITS_NONE;
64 } 65 }
65 66
66 device::serial::DataBits ConvertDataBitsToMojo(api::serial::DataBits input) { 67 device::serial::DataBits ConvertDataBitsToMojo(
68 core_api::serial::DataBits input) {
67 switch (input) { 69 switch (input) {
68 case api::serial::DATA_BITS_NONE: 70 case core_api::serial::DATA_BITS_NONE:
69 return device::serial::DATA_BITS_NONE; 71 return device::serial::DATA_BITS_NONE;
70 case api::serial::DATA_BITS_SEVEN: 72 case core_api::serial::DATA_BITS_SEVEN:
71 return device::serial::DATA_BITS_SEVEN; 73 return device::serial::DATA_BITS_SEVEN;
72 case api::serial::DATA_BITS_EIGHT: 74 case core_api::serial::DATA_BITS_EIGHT:
73 return device::serial::DATA_BITS_EIGHT; 75 return device::serial::DATA_BITS_EIGHT;
74 } 76 }
75 return device::serial::DATA_BITS_NONE; 77 return device::serial::DATA_BITS_NONE;
76 } 78 }
77 79
78 api::serial::ParityBit ConvertParityBitFromMojo( 80 core_api::serial::ParityBit ConvertParityBitFromMojo(
79 device::serial::ParityBit input) { 81 device::serial::ParityBit input) {
80 switch (input) { 82 switch (input) {
81 case device::serial::PARITY_BIT_NONE: 83 case device::serial::PARITY_BIT_NONE:
82 return api::serial::PARITY_BIT_NONE; 84 return core_api::serial::PARITY_BIT_NONE;
83 case device::serial::PARITY_BIT_ODD: 85 case device::serial::PARITY_BIT_ODD:
84 return api::serial::PARITY_BIT_ODD; 86 return core_api::serial::PARITY_BIT_ODD;
85 case device::serial::PARITY_BIT_NO: 87 case device::serial::PARITY_BIT_NO:
86 return api::serial::PARITY_BIT_NO; 88 return core_api::serial::PARITY_BIT_NO;
87 case device::serial::PARITY_BIT_EVEN: 89 case device::serial::PARITY_BIT_EVEN:
88 return api::serial::PARITY_BIT_EVEN; 90 return core_api::serial::PARITY_BIT_EVEN;
89 } 91 }
90 return api::serial::PARITY_BIT_NONE; 92 return core_api::serial::PARITY_BIT_NONE;
91 } 93 }
92 94
93 device::serial::ParityBit ConvertParityBitToMojo(api::serial::ParityBit input) { 95 device::serial::ParityBit ConvertParityBitToMojo(
96 core_api::serial::ParityBit input) {
94 switch (input) { 97 switch (input) {
95 case api::serial::PARITY_BIT_NONE: 98 case core_api::serial::PARITY_BIT_NONE:
96 return device::serial::PARITY_BIT_NONE; 99 return device::serial::PARITY_BIT_NONE;
97 case api::serial::PARITY_BIT_NO: 100 case core_api::serial::PARITY_BIT_NO:
98 return device::serial::PARITY_BIT_NO; 101 return device::serial::PARITY_BIT_NO;
99 case api::serial::PARITY_BIT_ODD: 102 case core_api::serial::PARITY_BIT_ODD:
100 return device::serial::PARITY_BIT_ODD; 103 return device::serial::PARITY_BIT_ODD;
101 case api::serial::PARITY_BIT_EVEN: 104 case core_api::serial::PARITY_BIT_EVEN:
102 return device::serial::PARITY_BIT_EVEN; 105 return device::serial::PARITY_BIT_EVEN;
103 } 106 }
104 return device::serial::PARITY_BIT_NONE; 107 return device::serial::PARITY_BIT_NONE;
105 } 108 }
106 109
107 api::serial::StopBits ConvertStopBitsFromMojo(device::serial::StopBits input) { 110 core_api::serial::StopBits ConvertStopBitsFromMojo(
111 device::serial::StopBits input) {
108 switch (input) { 112 switch (input) {
109 case device::serial::STOP_BITS_NONE: 113 case device::serial::STOP_BITS_NONE:
110 return api::serial::STOP_BITS_NONE; 114 return core_api::serial::STOP_BITS_NONE;
111 case device::serial::STOP_BITS_ONE: 115 case device::serial::STOP_BITS_ONE:
112 return api::serial::STOP_BITS_ONE; 116 return core_api::serial::STOP_BITS_ONE;
113 case device::serial::STOP_BITS_TWO: 117 case device::serial::STOP_BITS_TWO:
114 return api::serial::STOP_BITS_TWO; 118 return core_api::serial::STOP_BITS_TWO;
115 } 119 }
116 return api::serial::STOP_BITS_NONE; 120 return core_api::serial::STOP_BITS_NONE;
117 } 121 }
118 122
119 device::serial::StopBits ConvertStopBitsToMojo(api::serial::StopBits input) { 123 device::serial::StopBits ConvertStopBitsToMojo(
124 core_api::serial::StopBits input) {
120 switch (input) { 125 switch (input) {
121 case api::serial::STOP_BITS_NONE: 126 case core_api::serial::STOP_BITS_NONE:
122 return device::serial::STOP_BITS_NONE; 127 return device::serial::STOP_BITS_NONE;
123 case api::serial::STOP_BITS_ONE: 128 case core_api::serial::STOP_BITS_ONE:
124 return device::serial::STOP_BITS_ONE; 129 return device::serial::STOP_BITS_ONE;
125 case api::serial::STOP_BITS_TWO: 130 case core_api::serial::STOP_BITS_TWO:
126 return device::serial::STOP_BITS_TWO; 131 return device::serial::STOP_BITS_TWO;
127 } 132 }
128 return device::serial::STOP_BITS_NONE; 133 return device::serial::STOP_BITS_NONE;
129 } 134 }
130 135
131 } // namespace 136 } // namespace
132 137
133 static base::LazyInstance< 138 static base::LazyInstance<
134 BrowserContextKeyedAPIFactory<ApiResourceManager<SerialConnection> > > 139 BrowserContextKeyedAPIFactory<ApiResourceManager<SerialConnection> > >
135 g_factory = LAZY_INSTANCE_INITIALIZER; 140 g_factory = LAZY_INSTANCE_INITIALIZER;
(...skipping 21 matching lines...) Expand all
157 base::Bind(&SerialConnection::OnAsyncWriteComplete, AsWeakPtr()), 162 base::Bind(&SerialConnection::OnAsyncWriteComplete, AsWeakPtr()),
158 content::BrowserThread::GetMessageLoopProxyForThread( 163 content::BrowserThread::GetMessageLoopProxyForThread(
159 content::BrowserThread::FILE)); 164 content::BrowserThread::FILE));
160 } 165 }
161 166
162 SerialConnection::~SerialConnection() { 167 SerialConnection::~SerialConnection() {
163 io_handler_->CancelRead(device::serial::RECEIVE_ERROR_DISCONNECTED); 168 io_handler_->CancelRead(device::serial::RECEIVE_ERROR_DISCONNECTED);
164 io_handler_->CancelWrite(device::serial::SEND_ERROR_DISCONNECTED); 169 io_handler_->CancelWrite(device::serial::SEND_ERROR_DISCONNECTED);
165 } 170 }
166 171
167 bool SerialConnection::IsPersistent() const { return persistent(); } 172 bool SerialConnection::IsPersistent() const {
173 return persistent();
174 }
168 175
169 void SerialConnection::set_buffer_size(int buffer_size) { 176 void SerialConnection::set_buffer_size(int buffer_size) {
170 buffer_size_ = buffer_size; 177 buffer_size_ = buffer_size;
171 } 178 }
172 179
173 void SerialConnection::set_receive_timeout(int receive_timeout) { 180 void SerialConnection::set_receive_timeout(int receive_timeout) {
174 receive_timeout_ = receive_timeout; 181 receive_timeout_ = receive_timeout;
175 } 182 }
176 183
177 void SerialConnection::set_send_timeout(int send_timeout) { 184 void SerialConnection::set_send_timeout(int send_timeout) {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 send_timeout_task_.reset(); 222 send_timeout_task_.reset();
216 if (send_timeout_ > 0) { 223 if (send_timeout_ > 0) {
217 send_timeout_task_.reset(new TimeoutTask( 224 send_timeout_task_.reset(new TimeoutTask(
218 base::Bind(&SerialConnection::OnSendTimeout, AsWeakPtr()), 225 base::Bind(&SerialConnection::OnSendTimeout, AsWeakPtr()),
219 base::TimeDelta::FromMilliseconds(send_timeout_))); 226 base::TimeDelta::FromMilliseconds(send_timeout_)));
220 } 227 }
221 return true; 228 return true;
222 } 229 }
223 230
224 bool SerialConnection::Configure( 231 bool SerialConnection::Configure(
225 const api::serial::ConnectionOptions& options) { 232 const core_api::serial::ConnectionOptions& options) {
226 DCHECK_CURRENTLY_ON(BrowserThread::IO); 233 DCHECK_CURRENTLY_ON(BrowserThread::IO);
227 if (options.persistent.get()) 234 if (options.persistent.get())
228 set_persistent(*options.persistent); 235 set_persistent(*options.persistent);
229 if (options.name.get()) 236 if (options.name.get())
230 set_name(*options.name); 237 set_name(*options.name);
231 if (options.buffer_size.get()) 238 if (options.buffer_size.get())
232 set_buffer_size(*options.buffer_size); 239 set_buffer_size(*options.buffer_size);
233 if (options.receive_timeout.get()) 240 if (options.receive_timeout.get())
234 set_receive_timeout(*options.receive_timeout); 241 set_receive_timeout(*options.receive_timeout);
235 if (options.send_timeout.get()) 242 if (options.send_timeout.get())
236 set_send_timeout(*options.send_timeout); 243 set_send_timeout(*options.send_timeout);
237 bool success = io_handler_->ConfigurePort( 244 bool success = io_handler_->ConfigurePort(
238 *device::serial::ConnectionOptions::From(options)); 245 *device::serial::ConnectionOptions::From(options));
239 io_handler_->CancelRead(device::serial::RECEIVE_ERROR_NONE); 246 io_handler_->CancelRead(device::serial::RECEIVE_ERROR_NONE);
240 return success; 247 return success;
241 } 248 }
242 249
243 void SerialConnection::SetIoHandlerForTest( 250 void SerialConnection::SetIoHandlerForTest(
244 scoped_refptr<device::SerialIoHandler> handler) { 251 scoped_refptr<device::SerialIoHandler> handler) {
245 io_handler_ = handler; 252 io_handler_ = handler;
246 io_handler_->Initialize( 253 io_handler_->Initialize(
247 base::Bind(&SerialConnection::OnAsyncReadComplete, AsWeakPtr()), 254 base::Bind(&SerialConnection::OnAsyncReadComplete, AsWeakPtr()),
248 base::Bind(&SerialConnection::OnAsyncWriteComplete, AsWeakPtr()), 255 base::Bind(&SerialConnection::OnAsyncWriteComplete, AsWeakPtr()),
249 content::BrowserThread::GetMessageLoopProxyForThread( 256 content::BrowserThread::GetMessageLoopProxyForThread(
250 content::BrowserThread::FILE)); 257 content::BrowserThread::FILE));
251 } 258 }
252 259
253 bool SerialConnection::GetInfo(api::serial::ConnectionInfo* info) const { 260 bool SerialConnection::GetInfo(core_api::serial::ConnectionInfo* info) const {
254 DCHECK_CURRENTLY_ON(BrowserThread::IO); 261 DCHECK_CURRENTLY_ON(BrowserThread::IO);
255 info->paused = paused_; 262 info->paused = paused_;
256 info->persistent = persistent_; 263 info->persistent = persistent_;
257 info->name = name_; 264 info->name = name_;
258 info->buffer_size = buffer_size_; 265 info->buffer_size = buffer_size_;
259 info->receive_timeout = receive_timeout_; 266 info->receive_timeout = receive_timeout_;
260 info->send_timeout = send_timeout_; 267 info->send_timeout = send_timeout_;
261 device::serial::ConnectionInfoPtr port_info = io_handler_->GetPortInfo(); 268 device::serial::ConnectionInfoPtr port_info = io_handler_->GetPortInfo();
262 if (!port_info) 269 if (!port_info)
263 return false; 270 return false;
264 271
265 info->bitrate.reset(new int(port_info->bitrate)); 272 info->bitrate.reset(new int(port_info->bitrate));
266 info->data_bits = ConvertDataBitsFromMojo(port_info->data_bits); 273 info->data_bits = ConvertDataBitsFromMojo(port_info->data_bits);
267 info->parity_bit = ConvertParityBitFromMojo(port_info->parity_bit); 274 info->parity_bit = ConvertParityBitFromMojo(port_info->parity_bit);
268 info->stop_bits = ConvertStopBitsFromMojo(port_info->stop_bits); 275 info->stop_bits = ConvertStopBitsFromMojo(port_info->stop_bits);
269 info->cts_flow_control.reset(new bool(port_info->cts_flow_control)); 276 info->cts_flow_control.reset(new bool(port_info->cts_flow_control));
270 return true; 277 return true;
271 } 278 }
272 279
273 bool SerialConnection::Flush() const { 280 bool SerialConnection::Flush() const {
274 return io_handler_->Flush(); 281 return io_handler_->Flush();
275 } 282 }
276 283
277 bool SerialConnection::GetControlSignals( 284 bool SerialConnection::GetControlSignals(
278 api::serial::DeviceControlSignals* control_signals) const { 285 core_api::serial::DeviceControlSignals* control_signals) const {
279 device::serial::DeviceControlSignalsPtr signals = 286 device::serial::DeviceControlSignalsPtr signals =
280 io_handler_->GetControlSignals(); 287 io_handler_->GetControlSignals();
281 if (!signals) 288 if (!signals)
282 return false; 289 return false;
283 290
284 control_signals->dcd = signals->dcd; 291 control_signals->dcd = signals->dcd;
285 control_signals->cts = signals->cts; 292 control_signals->cts = signals->cts;
286 control_signals->ri = signals->ri; 293 control_signals->ri = signals->ri;
287 control_signals->dsr = signals->dsr; 294 control_signals->dsr = signals->dsr;
288 return true; 295 return true;
289 } 296 }
290 297
291 bool SerialConnection::SetControlSignals( 298 bool SerialConnection::SetControlSignals(
292 const api::serial::HostControlSignals& control_signals) { 299 const core_api::serial::HostControlSignals& control_signals) {
293 return io_handler_->SetControlSignals( 300 return io_handler_->SetControlSignals(
294 *device::serial::HostControlSignals::From(control_signals)); 301 *device::serial::HostControlSignals::From(control_signals));
295 } 302 }
296 303
297 void SerialConnection::OnReceiveTimeout() { 304 void SerialConnection::OnReceiveTimeout() {
298 DCHECK_CURRENTLY_ON(BrowserThread::IO); 305 DCHECK_CURRENTLY_ON(BrowserThread::IO);
299 io_handler_->CancelRead(device::serial::RECEIVE_ERROR_TIMEOUT); 306 io_handler_->CancelRead(device::serial::RECEIVE_ERROR_TIMEOUT);
300 } 307 }
301 308
302 void SerialConnection::OnSendTimeout() { 309 void SerialConnection::OnSendTimeout() {
(...skipping 23 matching lines...) Expand all
326 333
327 SerialConnection::TimeoutTask::TimeoutTask(const base::Closure& closure, 334 SerialConnection::TimeoutTask::TimeoutTask(const base::Closure& closure,
328 const base::TimeDelta& delay) 335 const base::TimeDelta& delay)
329 : weak_factory_(this), closure_(closure), delay_(delay) { 336 : weak_factory_(this), closure_(closure), delay_(delay) {
330 base::MessageLoop::current()->PostDelayedTask( 337 base::MessageLoop::current()->PostDelayedTask(
331 FROM_HERE, 338 FROM_HERE,
332 base::Bind(&TimeoutTask::Run, weak_factory_.GetWeakPtr()), 339 base::Bind(&TimeoutTask::Run, weak_factory_.GetWeakPtr()),
333 delay_); 340 delay_);
334 } 341 }
335 342
336 SerialConnection::TimeoutTask::~TimeoutTask() {} 343 SerialConnection::TimeoutTask::~TimeoutTask() {
344 }
337 345
338 void SerialConnection::TimeoutTask::Run() const { closure_.Run(); } 346 void SerialConnection::TimeoutTask::Run() const {
347 closure_.Run();
348 }
339 349
340 } // namespace extensions 350 } // namespace extensions
341 351
342 namespace mojo { 352 namespace mojo {
343 353
344 // static 354 // static
345 device::serial::HostControlSignalsPtr 355 device::serial::HostControlSignalsPtr
346 TypeConverter<device::serial::HostControlSignalsPtr, 356 TypeConverter<device::serial::HostControlSignalsPtr,
347 extensions::api::serial::HostControlSignals>:: 357 extensions::core_api::serial::HostControlSignals>::
348 ConvertFrom(const extensions::api::serial::HostControlSignals& input) { 358 ConvertFrom(const extensions::core_api::serial::HostControlSignals& input) {
349 device::serial::HostControlSignalsPtr output( 359 device::serial::HostControlSignalsPtr output(
350 device::serial::HostControlSignals::New()); 360 device::serial::HostControlSignals::New());
351 if (input.dtr.get()) { 361 if (input.dtr.get()) {
352 output->has_dtr = true; 362 output->has_dtr = true;
353 output->dtr = *input.dtr; 363 output->dtr = *input.dtr;
354 } 364 }
355 if (input.rts.get()) { 365 if (input.rts.get()) {
356 output->has_rts = true; 366 output->has_rts = true;
357 output->rts = *input.rts; 367 output->rts = *input.rts;
358 } 368 }
359 return output.Pass(); 369 return output.Pass();
360 } 370 }
361 371
362 // static 372 // static
363 device::serial::ConnectionOptionsPtr 373 device::serial::ConnectionOptionsPtr
364 TypeConverter<device::serial::ConnectionOptionsPtr, 374 TypeConverter<device::serial::ConnectionOptionsPtr,
365 extensions::api::serial::ConnectionOptions>:: 375 extensions::core_api::serial::ConnectionOptions>::
366 ConvertFrom(const extensions::api::serial::ConnectionOptions& input) { 376 ConvertFrom(const extensions::core_api::serial::ConnectionOptions& input) {
367 device::serial::ConnectionOptionsPtr output( 377 device::serial::ConnectionOptionsPtr output(
368 device::serial::ConnectionOptions::New()); 378 device::serial::ConnectionOptions::New());
369 if (input.bitrate.get() && *input.bitrate > 0) 379 if (input.bitrate.get() && *input.bitrate > 0)
370 output->bitrate = *input.bitrate; 380 output->bitrate = *input.bitrate;
371 output->data_bits = extensions::ConvertDataBitsToMojo(input.data_bits); 381 output->data_bits = extensions::ConvertDataBitsToMojo(input.data_bits);
372 output->parity_bit = extensions::ConvertParityBitToMojo(input.parity_bit); 382 output->parity_bit = extensions::ConvertParityBitToMojo(input.parity_bit);
373 output->stop_bits = extensions::ConvertStopBitsToMojo(input.stop_bits); 383 output->stop_bits = extensions::ConvertStopBitsToMojo(input.stop_bits);
374 if (input.cts_flow_control.get()) { 384 if (input.cts_flow_control.get()) {
375 output->has_cts_flow_control = true; 385 output->has_cts_flow_control = true;
376 output->cts_flow_control = *input.cts_flow_control; 386 output->cts_flow_control = *input.cts_flow_control;
377 } 387 }
378 return output.Pass(); 388 return output.Pass();
379 } 389 }
380 390
381 } // namespace mojo 391 } // namespace mojo
OLDNEW
« no previous file with comments | « extensions/browser/api/serial/serial_connection.h ('k') | extensions/browser/api/serial/serial_event_dispatcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698