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

Side by Side Diff: chrome/browser/chromeos/file_system_provider/fileapi/buffering_file_stream_writer.h

Issue 1870793002: Convert //chrome/browser/chromeos from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 8 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
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 #ifndef CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_FILEAPI_BUFFERING_FILE_STRE AM_WRITER_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_FILEAPI_BUFFERING_FILE_STRE AM_WRITER_H_
6 #define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_FILEAPI_BUFFERING_FILE_STRE AM_WRITER_H_ 6 #define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_FILEAPI_BUFFERING_FILE_STRE AM_WRITER_H_
7 7
8 #include <memory>
9
8 #include "base/macros.h" 10 #include "base/macros.h"
9 #include "base/memory/ref_counted.h" 11 #include "base/memory/ref_counted.h"
10 #include "base/memory/scoped_ptr.h"
11 #include "base/memory/weak_ptr.h" 12 #include "base/memory/weak_ptr.h"
12 #include "storage/browser/fileapi/file_stream_writer.h" 13 #include "storage/browser/fileapi/file_stream_writer.h"
13 14
14 namespace net { 15 namespace net {
15 class IOBuffer; 16 class IOBuffer;
16 } // namespace net 17 } // namespace net
17 18
18 namespace chromeos { 19 namespace chromeos {
19 namespace file_system_provider { 20 namespace file_system_provider {
20 21
21 // Wraps the file stream writer implementation with an intermediate buffer. 22 // Wraps the file stream writer implementation with an intermediate buffer.
22 // Writes data from the inner file stream writer in chunks of size at least 23 // Writes data from the inner file stream writer in chunks of size at least
23 // |intermediate_buffer_length| bytes (or less for the last chunk, or when 24 // |intermediate_buffer_length| bytes (or less for the last chunk, or when
24 // Flush() is explicitely called). 25 // Flush() is explicitely called).
25 // 26 //
26 // The underlying inner file stream writer *must not* return any values 27 // The underlying inner file stream writer *must not* return any values
27 // synchronously. Instead, results must be returned by a callback, including 28 // synchronously. Instead, results must be returned by a callback, including
28 // errors. Moreover, partial writes are *not* supported. 29 // errors. Moreover, partial writes are *not* supported.
29 class BufferingFileStreamWriter : public storage::FileStreamWriter { 30 class BufferingFileStreamWriter : public storage::FileStreamWriter {
30 public: 31 public:
31 BufferingFileStreamWriter( 32 BufferingFileStreamWriter(
32 scoped_ptr<storage::FileStreamWriter> file_stream_writer, 33 std::unique_ptr<storage::FileStreamWriter> file_stream_writer,
33 int intermediate_buffer_length); 34 int intermediate_buffer_length);
34 35
35 ~BufferingFileStreamWriter() override; 36 ~BufferingFileStreamWriter() override;
36 37
37 // storage::FileStreamWriter overrides. 38 // storage::FileStreamWriter overrides.
38 int Write(net::IOBuffer* buf, 39 int Write(net::IOBuffer* buf,
39 int buf_len, 40 int buf_len,
40 const net::CompletionCallback& callback) override; 41 const net::CompletionCallback& callback) override;
41 int Cancel(const net::CompletionCallback& callback) override; 42 int Cancel(const net::CompletionCallback& callback) override;
42 int Flush(const net::CompletionCallback& callback) override; 43 int Flush(const net::CompletionCallback& callback) override;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 int bytes_left, 77 int bytes_left,
77 const net::CompletionCallback& callback, 78 const net::CompletionCallback& callback,
78 int result); 79 int result);
79 80
80 // Called when flushing the intermediate buffer for a flush call is completed 81 // Called when flushing the intermediate buffer for a flush call is completed
81 // with either a success or an error. 82 // with either a success or an error.
82 void OnFlushIntermediateBufferForFlushCompleted( 83 void OnFlushIntermediateBufferForFlushCompleted(
83 const net::CompletionCallback& callback, 84 const net::CompletionCallback& callback,
84 int result); 85 int result);
85 86
86 scoped_ptr<storage::FileStreamWriter> file_stream_writer_; 87 std::unique_ptr<storage::FileStreamWriter> file_stream_writer_;
87 int intermediate_buffer_length_; 88 int intermediate_buffer_length_;
88 scoped_refptr<net::IOBuffer> intermediate_buffer_; 89 scoped_refptr<net::IOBuffer> intermediate_buffer_;
89 int buffered_bytes_; 90 int buffered_bytes_;
90 91
91 base::WeakPtrFactory<BufferingFileStreamWriter> weak_ptr_factory_; 92 base::WeakPtrFactory<BufferingFileStreamWriter> weak_ptr_factory_;
92 DISALLOW_COPY_AND_ASSIGN(BufferingFileStreamWriter); 93 DISALLOW_COPY_AND_ASSIGN(BufferingFileStreamWriter);
93 }; 94 };
94 95
95 } // namespace file_system_provider 96 } // namespace file_system_provider
96 } // namespace chromeos 97 } // namespace chromeos
97 98
98 #endif // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_FILEAPI_BUFFERING_FILE_S TREAM_WRITER_H_ 99 #endif // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_FILEAPI_BUFFERING_FILE_S TREAM_WRITER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698