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

Side by Side Diff: device/serial/data_source_sender.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, 12 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/data_sink_unittest.cc ('k') | device/serial/data_source_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/data_source_sender.h" 5 #include "device/serial/data_source_sender.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <utility>
9 10
10 #include "base/bind.h" 11 #include "base/bind.h"
11 #include "base/message_loop/message_loop.h" 12 #include "base/message_loop/message_loop.h"
12 13
13 namespace device { 14 namespace device {
14 15
15 // Represents a send that is not yet fulfilled. 16 // Represents a send that is not yet fulfilled.
16 class DataSourceSender::PendingSend { 17 class DataSourceSender::PendingSend {
17 public: 18 public:
18 PendingSend(DataSourceSender* sender, const ReadyCallback& callback); 19 PendingSend(DataSourceSender* sender, const ReadyCallback& callback);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 70
70 char* buffer_; 71 char* buffer_;
71 uint32_t buffer_size_; 72 uint32_t buffer_size_;
72 }; 73 };
73 74
74 DataSourceSender::DataSourceSender( 75 DataSourceSender::DataSourceSender(
75 mojo::InterfaceRequest<serial::DataSource> source, 76 mojo::InterfaceRequest<serial::DataSource> source,
76 mojo::InterfacePtr<serial::DataSourceClient> client, 77 mojo::InterfacePtr<serial::DataSourceClient> client,
77 const ReadyCallback& ready_callback, 78 const ReadyCallback& ready_callback,
78 const ErrorCallback& error_callback) 79 const ErrorCallback& error_callback)
79 : binding_(this, source.Pass()), 80 : binding_(this, std::move(source)),
80 client_(client.Pass()), 81 client_(std::move(client)),
81 ready_callback_(ready_callback), 82 ready_callback_(ready_callback),
82 error_callback_(error_callback), 83 error_callback_(error_callback),
83 available_buffer_capacity_(0), 84 available_buffer_capacity_(0),
84 paused_(false), 85 paused_(false),
85 shut_down_(false), 86 shut_down_(false),
86 weak_factory_(this) { 87 weak_factory_(this) {
87 DCHECK(!ready_callback.is_null() && !error_callback.is_null()); 88 DCHECK(!ready_callback.is_null() && !error_callback.is_null());
88 binding_.set_connection_error_handler( 89 binding_.set_connection_error_handler(
89 base::Bind(&DataSourceSender::OnConnectionError, base::Unretained(this))); 90 base::Bind(&DataSourceSender::OnConnectionError, base::Unretained(this)));
90 client_.set_connection_error_handler( 91 client_.set_connection_error_handler(
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 156
156 void DataSourceSender::DoneInternal(const std::vector<char>& data) { 157 void DataSourceSender::DoneInternal(const std::vector<char>& data) {
157 DCHECK(pending_send_); 158 DCHECK(pending_send_);
158 if (shut_down_) 159 if (shut_down_)
159 return; 160 return;
160 161
161 available_buffer_capacity_ -= static_cast<uint32_t>(data.size()); 162 available_buffer_capacity_ -= static_cast<uint32_t>(data.size());
162 if (!data.empty()) { 163 if (!data.empty()) {
163 mojo::Array<uint8_t> data_to_send(data.size()); 164 mojo::Array<uint8_t> data_to_send(data.size());
164 std::copy(data.begin(), data.end(), &data_to_send[0]); 165 std::copy(data.begin(), data.end(), &data_to_send[0]);
165 client_->OnData(data_to_send.Pass()); 166 client_->OnData(std::move(data_to_send));
166 } 167 }
167 pending_send_.reset(); 168 pending_send_.reset();
168 } 169 }
169 170
170 void DataSourceSender::DispatchFatalError() { 171 void DataSourceSender::DispatchFatalError() {
171 if (shut_down_) 172 if (shut_down_)
172 return; 173 return;
173 174
174 error_callback_.Run(); 175 error_callback_.Run();
175 ShutDown(); 176 ShutDown();
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 uint32_t bytes_written, 243 uint32_t bytes_written,
243 int32_t error) { 244 int32_t error) {
244 DCHECK(sender_.get()); 245 DCHECK(sender_.get());
245 PendingSend* send = pending_send_; 246 PendingSend* send = pending_send_;
246 pending_send_ = nullptr; 247 pending_send_ = nullptr;
247 send->DoneWithError(bytes_written, error); 248 send->DoneWithError(bytes_written, error);
248 sender_ = nullptr; 249 sender_ = nullptr;
249 } 250 }
250 251
251 } // namespace device 252 } // namespace device
OLDNEW
« no previous file with comments | « device/serial/data_sink_unittest.cc ('k') | device/serial/data_source_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698