OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef NET_BASE_UPLOAD_FILE_ELEMENT_READER_H_ | 5 #ifndef NET_BASE_UPLOAD_FILE_ELEMENT_READER_H_ |
6 #define NET_BASE_UPLOAD_FILE_ELEMENT_READER_H_ | 6 #define NET_BASE_UPLOAD_FILE_ELEMENT_READER_H_ |
7 | 7 |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
10 #include "base/gtest_prod_util.h" | 10 #include "base/gtest_prod_util.h" |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 const uint64 range_length_; | 99 const uint64 range_length_; |
100 const base::Time expected_modification_time_; | 100 const base::Time expected_modification_time_; |
101 ScopedFileStreamPtr file_stream_; | 101 ScopedFileStreamPtr file_stream_; |
102 uint64 content_length_; | 102 uint64 content_length_; |
103 uint64 bytes_remaining_; | 103 uint64 bytes_remaining_; |
104 base::WeakPtrFactory<UploadFileElementReader> weak_ptr_factory_; | 104 base::WeakPtrFactory<UploadFileElementReader> weak_ptr_factory_; |
105 | 105 |
106 DISALLOW_COPY_AND_ASSIGN(UploadFileElementReader); | 106 DISALLOW_COPY_AND_ASSIGN(UploadFileElementReader); |
107 }; | 107 }; |
108 | 108 |
| 109 // An UploadElementReader implementation for file which performs file operation |
| 110 // synchronously. |
| 111 // Use this class only if the thread is IO allowed. |
| 112 class NET_EXPORT UploadFileElementReaderSync : public UploadElementReader { |
| 113 public: |
| 114 UploadFileElementReaderSync(const base::FilePath& path, |
| 115 uint64 range_offset, |
| 116 uint64 range_length, |
| 117 const base::Time& expected_modification_time); |
| 118 virtual ~UploadFileElementReaderSync(); |
| 119 |
| 120 // UploadElementReader overrides: |
| 121 virtual int Init(const CompletionCallback& callback) OVERRIDE; |
| 122 virtual uint64 GetContentLength() const OVERRIDE; |
| 123 virtual uint64 BytesRemaining() const OVERRIDE; |
| 124 virtual int Read(IOBuffer* buf, |
| 125 int buf_length, |
| 126 const CompletionCallback& callback) OVERRIDE; |
| 127 |
| 128 private: |
| 129 const base::FilePath path_; |
| 130 const uint64 range_offset_; |
| 131 const uint64 range_length_; |
| 132 const base::Time expected_modification_time_; |
| 133 scoped_ptr<FileStream> file_stream_; |
| 134 uint64 content_length_; |
| 135 uint64 bytes_remaining_; |
| 136 |
| 137 DISALLOW_COPY_AND_ASSIGN(UploadFileElementReaderSync); |
| 138 }; |
| 139 |
109 } // namespace net | 140 } // namespace net |
110 | 141 |
111 #endif // NET_BASE_UPLOAD_FILE_ELEMENT_READER_H_ | 142 #endif // NET_BASE_UPLOAD_FILE_ELEMENT_READER_H_ |
OLD | NEW |