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

Side by Side Diff: device/serial/serial_io_handler.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
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_io_handler.h" 5 #include "device/serial/serial_io_handler.h"
6 6
7 #include <utility>
8
7 #include "base/bind.h" 9 #include "base/bind.h"
8 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
9 #include "base/message_loop/message_loop.h" 11 #include "base/message_loop/message_loop.h"
10 #include "base/strings/string_util.h" 12 #include "base/strings/string_util.h"
11 #include "build/build_config.h" 13 #include "build/build_config.h"
12 14
13 #if defined(OS_CHROMEOS) 15 #if defined(OS_CHROMEOS)
14 #include "chromeos/dbus/dbus_thread_manager.h" 16 #include "chromeos/dbus/dbus_thread_manager.h"
15 #include "chromeos/dbus/permission_broker_client.h" 17 #include "chromeos/dbus/permission_broker_client.h"
16 #include "dbus/file_descriptor.h" // nogncheck 18 #include "dbus/file_descriptor.h" // nogncheck
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 OpenCompleteCallback callback = open_complete_; 141 OpenCompleteCallback callback = open_complete_;
140 open_complete_.Reset(); 142 open_complete_.Reset();
141 143
142 if (!file.IsValid()) { 144 if (!file.IsValid()) {
143 LOG(ERROR) << "Failed to open serial port: " 145 LOG(ERROR) << "Failed to open serial port: "
144 << base::File::ErrorToString(file.error_details()); 146 << base::File::ErrorToString(file.error_details());
145 callback.Run(false); 147 callback.Run(false);
146 return; 148 return;
147 } 149 }
148 150
149 file_ = file.Pass(); 151 file_ = std::move(file);
150 152
151 bool success = PostOpen() && ConfigurePortImpl(); 153 bool success = PostOpen() && ConfigurePortImpl();
152 if (!success) { 154 if (!success) {
153 Close(); 155 Close();
154 } 156 }
155 157
156 callback.Run(success); 158 callback.Run(success);
157 } 159 }
158 160
159 bool SerialIoHandler::PostOpen() { 161 bool SerialIoHandler::PostOpen() {
160 return true; 162 return true;
161 } 163 }
162 164
163 void SerialIoHandler::Close() { 165 void SerialIoHandler::Close() {
164 if (file_.IsValid()) { 166 if (file_.IsValid()) {
165 DCHECK(file_thread_task_runner_.get()); 167 DCHECK(file_thread_task_runner_.get());
166 file_thread_task_runner_->PostTask( 168 file_thread_task_runner_->PostTask(
167 FROM_HERE, base::Bind(&SerialIoHandler::DoClose, Passed(file_.Pass()))); 169 FROM_HERE,
170 base::Bind(&SerialIoHandler::DoClose, Passed(std::move(file_))));
168 } 171 }
169 } 172 }
170 173
171 // static 174 // static
172 void SerialIoHandler::DoClose(base::File port) { 175 void SerialIoHandler::DoClose(base::File port) {
173 // port closed by destructor. 176 // port closed by destructor.
174 } 177 }
175 178
176 void SerialIoHandler::Read(scoped_ptr<WritableBuffer> buffer) { 179 void SerialIoHandler::Read(scoped_ptr<WritableBuffer> buffer) {
177 DCHECK(CalledOnValidThread()); 180 DCHECK(CalledOnValidThread());
178 DCHECK(!IsReadPending()); 181 DCHECK(!IsReadPending());
179 pending_read_buffer_ = buffer.Pass(); 182 pending_read_buffer_ = std::move(buffer);
180 read_canceled_ = false; 183 read_canceled_ = false;
181 AddRef(); 184 AddRef();
182 ReadImpl(); 185 ReadImpl();
183 } 186 }
184 187
185 void SerialIoHandler::Write(scoped_ptr<ReadOnlyBuffer> buffer) { 188 void SerialIoHandler::Write(scoped_ptr<ReadOnlyBuffer> buffer) {
186 DCHECK(CalledOnValidThread()); 189 DCHECK(CalledOnValidThread());
187 DCHECK(!IsWritePending()); 190 DCHECK(!IsWritePending());
188 pending_write_buffer_ = buffer.Pass(); 191 pending_write_buffer_ = std::move(buffer);
189 write_canceled_ = false; 192 write_canceled_ = false;
190 AddRef(); 193 AddRef();
191 WriteImpl(); 194 WriteImpl();
192 } 195 }
193 196
194 void SerialIoHandler::ReadCompleted(int bytes_read, 197 void SerialIoHandler::ReadCompleted(int bytes_read,
195 serial::ReceiveError error) { 198 serial::ReceiveError error) {
196 DCHECK(CalledOnValidThread()); 199 DCHECK(CalledOnValidThread());
197 DCHECK(IsReadPending()); 200 DCHECK(IsReadPending());
198 scoped_ptr<WritableBuffer> pending_read_buffer = pending_read_buffer_.Pass(); 201 scoped_ptr<WritableBuffer> pending_read_buffer =
202 std::move(pending_read_buffer_);
199 if (error == serial::RECEIVE_ERROR_NONE) { 203 if (error == serial::RECEIVE_ERROR_NONE) {
200 pending_read_buffer->Done(bytes_read); 204 pending_read_buffer->Done(bytes_read);
201 } else { 205 } else {
202 pending_read_buffer->DoneWithError(bytes_read, error); 206 pending_read_buffer->DoneWithError(bytes_read, error);
203 } 207 }
204 Release(); 208 Release();
205 } 209 }
206 210
207 void SerialIoHandler::WriteCompleted(int bytes_written, 211 void SerialIoHandler::WriteCompleted(int bytes_written,
208 serial::SendError error) { 212 serial::SendError error) {
209 DCHECK(CalledOnValidThread()); 213 DCHECK(CalledOnValidThread());
210 DCHECK(IsWritePending()); 214 DCHECK(IsWritePending());
211 scoped_ptr<ReadOnlyBuffer> pending_write_buffer = 215 scoped_ptr<ReadOnlyBuffer> pending_write_buffer =
212 pending_write_buffer_.Pass(); 216 std::move(pending_write_buffer_);
213 if (error == serial::SEND_ERROR_NONE) { 217 if (error == serial::SEND_ERROR_NONE) {
214 pending_write_buffer->Done(bytes_written); 218 pending_write_buffer->Done(bytes_written);
215 } else { 219 } else {
216 pending_write_buffer->DoneWithError(bytes_written, error); 220 pending_write_buffer->DoneWithError(bytes_written, error);
217 } 221 }
218 Release(); 222 Release();
219 } 223 }
220 224
221 bool SerialIoHandler::IsReadPending() const { 225 bool SerialIoHandler::IsReadPending() const {
222 DCHECK(CalledOnValidThread()); 226 DCHECK(CalledOnValidThread());
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 } 263 }
260 264
261 void SerialIoHandler::QueueWriteCompleted(int bytes_written, 265 void SerialIoHandler::QueueWriteCompleted(int bytes_written,
262 serial::SendError error) { 266 serial::SendError error) {
263 base::MessageLoop::current()->PostTask( 267 base::MessageLoop::current()->PostTask(
264 FROM_HERE, 268 FROM_HERE,
265 base::Bind(&SerialIoHandler::WriteCompleted, this, bytes_written, error)); 269 base::Bind(&SerialIoHandler::WriteCompleted, this, bytes_written, error));
266 } 270 }
267 271
268 } // namespace device 272 } // namespace device
OLDNEW
« no previous file with comments | « device/serial/serial_device_enumerator_linux.cc ('k') | device/serial/serial_io_handler_posix.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698