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