OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |