Revert of Add button to add new FSP services to Files app. (patchset #8 id:140001...
[chromium-blink-merge.git] / chrome / browser / media_galleries / win / snapshot_file_details.cc
bloba514eea84ea6ed0885b6c514ee7a6f82367f823e
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/media_galleries/win/snapshot_file_details.h"
7 #include "base/basictypes.h"
9 ///////////////////////////////////////////////////////////////////////////////
10 // SnapshotRequestInfo //
11 ///////////////////////////////////////////////////////////////////////////////
13 SnapshotRequestInfo::SnapshotRequestInfo(
14 const base::FilePath& device_file_path,
15 const base::FilePath& snapshot_file_path,
16 const MTPDeviceAsyncDelegate::CreateSnapshotFileSuccessCallback&
17 success_callback,
18 const MTPDeviceAsyncDelegate::ErrorCallback& error_callback)
19 : device_file_path(device_file_path),
20 snapshot_file_path(snapshot_file_path),
21 success_callback(success_callback),
22 error_callback(error_callback) {
25 ///////////////////////////////////////////////////////////////////////////////
26 // SnapshotFileDetails //
27 ///////////////////////////////////////////////////////////////////////////////
29 SnapshotFileDetails::SnapshotFileDetails(
30 const SnapshotRequestInfo& request_info)
31 : request_info_(request_info),
32 optimal_transfer_size_(0),
33 bytes_written_(0) {
36 SnapshotFileDetails::~SnapshotFileDetails() {
37 file_stream_.Release();
40 void SnapshotFileDetails::set_file_info(const base::File::Info& file_info) {
41 file_info_ = file_info;
44 void SnapshotFileDetails::set_device_file_stream(
45 IStream* file_stream) {
46 file_stream_ = file_stream;
49 void SnapshotFileDetails::set_optimal_transfer_size(
50 DWORD optimal_transfer_size) {
51 optimal_transfer_size_ = optimal_transfer_size;
54 bool SnapshotFileDetails::IsSnapshotFileWriteComplete() const {
55 return bytes_written_ == file_info_.size;
58 bool SnapshotFileDetails::AddBytesWritten(DWORD bytes_written) {
59 if ((bytes_written == 0) ||
60 (bytes_written_ > kuint64max - bytes_written) ||
61 (bytes_written_ + bytes_written > file_info_.size))
62 return false;
64 bytes_written_ += bytes_written;
65 return true;