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

Side by Side Diff: device/serial/serial_connection_factory.cc

Issue 1544323002: Convert Pass()→std::move() in //device (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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
« no previous file with comments | « device/serial/serial_connection.cc ('k') | device/serial/serial_connection_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "device/serial/serial_connection_factory.h" 5 #include "device/serial/serial_connection_factory.h"
6 6
7 #include <utility>
8
7 #include "base/bind.h" 9 #include "base/bind.h"
8 #include "base/location.h" 10 #include "base/location.h"
9 #include "base/macros.h" 11 #include "base/macros.h"
10 #include "device/serial/serial_connection.h" 12 #include "device/serial/serial_connection.h"
11 #include "device/serial/serial_io_handler.h" 13 #include "device/serial/serial_io_handler.h"
12 14
13 namespace device { 15 namespace device {
14 namespace { 16 namespace {
15 17
16 void FillDefaultConnectionOptions(serial::ConnectionOptions* options) { 18 void FillDefaultConnectionOptions(serial::ConnectionOptions* options) {
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 connect_task_runner_(connect_task_runner) { 69 connect_task_runner_(connect_task_runner) {
68 } 70 }
69 71
70 void SerialConnectionFactory::CreateConnection( 72 void SerialConnectionFactory::CreateConnection(
71 const std::string& path, 73 const std::string& path,
72 serial::ConnectionOptionsPtr options, 74 serial::ConnectionOptionsPtr options,
73 mojo::InterfaceRequest<serial::Connection> connection_request, 75 mojo::InterfaceRequest<serial::Connection> connection_request,
74 mojo::InterfaceRequest<serial::DataSink> sink, 76 mojo::InterfaceRequest<serial::DataSink> sink,
75 mojo::InterfaceRequest<serial::DataSource> source, 77 mojo::InterfaceRequest<serial::DataSource> source,
76 mojo::InterfacePtr<serial::DataSourceClient> source_client) { 78 mojo::InterfacePtr<serial::DataSourceClient> source_client) {
77 scoped_refptr<ConnectTask> task( 79 scoped_refptr<ConnectTask> task(new ConnectTask(
78 new ConnectTask(this, path, options.Pass(), connection_request.Pass(), 80 this, path, std::move(options), std::move(connection_request),
79 sink.Pass(), source.Pass(), source_client.Pass())); 81 std::move(sink), std::move(source), std::move(source_client)));
80 task->Run(); 82 task->Run();
81 } 83 }
82 84
83 SerialConnectionFactory::~SerialConnectionFactory() { 85 SerialConnectionFactory::~SerialConnectionFactory() {
84 } 86 }
85 87
86 SerialConnectionFactory::ConnectTask::ConnectTask( 88 SerialConnectionFactory::ConnectTask::ConnectTask(
87 scoped_refptr<SerialConnectionFactory> factory, 89 scoped_refptr<SerialConnectionFactory> factory,
88 const std::string& path, 90 const std::string& path,
89 serial::ConnectionOptionsPtr options, 91 serial::ConnectionOptionsPtr options,
90 mojo::InterfaceRequest<serial::Connection> connection_request, 92 mojo::InterfaceRequest<serial::Connection> connection_request,
91 mojo::InterfaceRequest<serial::DataSink> sink, 93 mojo::InterfaceRequest<serial::DataSink> sink,
92 mojo::InterfaceRequest<serial::DataSource> source, 94 mojo::InterfaceRequest<serial::DataSource> source,
93 mojo::InterfacePtr<serial::DataSourceClient> source_client) 95 mojo::InterfacePtr<serial::DataSourceClient> source_client)
94 : factory_(factory), 96 : factory_(factory),
95 path_(path), 97 path_(path),
96 options_(options.Pass()), 98 options_(std::move(options)),
97 connection_request_(connection_request.Pass()), 99 connection_request_(std::move(connection_request)),
98 sink_(sink.Pass()), 100 sink_(std::move(sink)),
99 source_(source.Pass()), 101 source_(std::move(source)),
100 source_client_(source_client.PassInterface()) { 102 source_client_(source_client.PassInterface()) {
101 if (!options_) { 103 if (!options_) {
102 options_ = serial::ConnectionOptions::New(); 104 options_ = serial::ConnectionOptions::New();
103 } 105 }
104 FillDefaultConnectionOptions(options_.get()); 106 FillDefaultConnectionOptions(options_.get());
105 } 107 }
106 108
107 void SerialConnectionFactory::ConnectTask::Run() { 109 void SerialConnectionFactory::ConnectTask::Run() {
108 factory_->connect_task_runner_->PostTask( 110 factory_->connect_task_runner_->PostTask(
109 FROM_HERE, 111 FROM_HERE,
110 base::Bind(&SerialConnectionFactory::ConnectTask::Connect, this)); 112 base::Bind(&SerialConnectionFactory::ConnectTask::Connect, this));
111 } 113 }
112 114
113 SerialConnectionFactory::ConnectTask::~ConnectTask() { 115 SerialConnectionFactory::ConnectTask::~ConnectTask() {
114 } 116 }
115 117
116 void SerialConnectionFactory::ConnectTask::Connect() { 118 void SerialConnectionFactory::ConnectTask::Connect() {
117 io_handler_ = factory_->io_handler_factory_.Run(); 119 io_handler_ = factory_->io_handler_factory_.Run();
118 io_handler_->Open( 120 io_handler_->Open(
119 path_, *options_, 121 path_, *options_,
120 base::Bind(&SerialConnectionFactory::ConnectTask::OnConnected, this)); 122 base::Bind(&SerialConnectionFactory::ConnectTask::OnConnected, this));
121 } 123 }
122 124
123 void SerialConnectionFactory::ConnectTask::OnConnected(bool success) { 125 void SerialConnectionFactory::ConnectTask::OnConnected(bool success) {
124 DCHECK(io_handler_.get()); 126 DCHECK(io_handler_.get());
125 if (!success) { 127 if (!success) {
126 return; 128 return;
127 } 129 }
128 130
129 new SerialConnection(io_handler_, sink_.Pass(), source_.Pass(), 131 new SerialConnection(io_handler_, std::move(sink_), std::move(source_),
130 mojo::MakeProxy(source_client_.Pass()), 132 mojo::MakeProxy(std::move(source_client_)),
131 connection_request_.Pass()); 133 std::move(connection_request_));
132 } 134 }
133 135
134 } // namespace device 136 } // namespace device
OLDNEW
« no previous file with comments | « device/serial/serial_connection.cc ('k') | device/serial/serial_connection_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698