| 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 |