OLD | NEW |
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 <limits> | 7 #include <limits> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 PendingSend* send, | 207 PendingSend* send, |
208 char* buffer, | 208 char* buffer, |
209 uint32_t buffer_size) | 209 uint32_t buffer_size) |
210 : sender_(sender), | 210 : sender_(sender), |
211 pending_send_(send), | 211 pending_send_(send), |
212 buffer_(buffer), | 212 buffer_(buffer), |
213 buffer_size_(buffer_size) { | 213 buffer_size_(buffer_size) { |
214 } | 214 } |
215 | 215 |
216 DataSourceSender::PendingSend::Buffer::~Buffer() { | 216 DataSourceSender::PendingSend::Buffer::~Buffer() { |
217 if (sender_) | 217 if (sender_.get()) |
218 pending_send_->Done(0); | 218 pending_send_->Done(0); |
219 } | 219 } |
220 | 220 |
221 char* DataSourceSender::PendingSend::Buffer::GetData() { | 221 char* DataSourceSender::PendingSend::Buffer::GetData() { |
222 return buffer_; | 222 return buffer_; |
223 } | 223 } |
224 | 224 |
225 uint32_t DataSourceSender::PendingSend::Buffer::GetSize() { | 225 uint32_t DataSourceSender::PendingSend::Buffer::GetSize() { |
226 return buffer_size_; | 226 return buffer_size_; |
227 } | 227 } |
228 | 228 |
229 void DataSourceSender::PendingSend::Buffer::Done(uint32_t bytes_written) { | 229 void DataSourceSender::PendingSend::Buffer::Done(uint32_t bytes_written) { |
230 DCHECK(sender_); | 230 DCHECK(sender_.get()); |
231 pending_send_->Done(bytes_written); | 231 pending_send_->Done(bytes_written); |
232 sender_ = NULL; | 232 sender_ = NULL; |
233 pending_send_ = NULL; | 233 pending_send_ = NULL; |
234 buffer_ = NULL; | 234 buffer_ = NULL; |
235 buffer_size_ = 0; | 235 buffer_size_ = 0; |
236 } | 236 } |
237 | 237 |
238 void DataSourceSender::PendingSend::Buffer::DoneWithError( | 238 void DataSourceSender::PendingSend::Buffer::DoneWithError( |
239 uint32_t bytes_written, | 239 uint32_t bytes_written, |
240 int32_t error) { | 240 int32_t error) { |
241 DCHECK(sender_); | 241 DCHECK(sender_.get()); |
242 pending_send_->DoneWithError(bytes_written, error); | 242 pending_send_->DoneWithError(bytes_written, error); |
243 sender_ = NULL; | 243 sender_ = NULL; |
244 pending_send_ = NULL; | 244 pending_send_ = NULL; |
245 buffer_ = NULL; | 245 buffer_ = NULL; |
246 buffer_size_ = 0; | 246 buffer_size_ = 0; |
247 } | 247 } |
248 | 248 |
249 } // namespace device | 249 } // namespace device |
OLD | NEW |