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

Side by Side Diff: net/base/file_stream.h

Issue 323683002: net: FileStream cleanup (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add DCHECK, fix ASSERT message Created 6 years, 6 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 | Annotate | Revision Log
OLDNEW
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 // This file defines FileStream, a basic interface for reading and writing files 5 // This file defines FileStream, a basic interface for reading and writing files
6 // synchronously or asynchronously with support for seeking to an offset. 6 // synchronously or asynchronously with support for seeking to an offset.
7 // Note that even when used asynchronously, only one operation is supported at 7 // Note that even when used asynchronously, only one operation is supported at
8 // a time. 8 // a time.
9 9
10 #ifndef NET_BASE_FILE_STREAM_H_ 10 #ifndef NET_BASE_FILE_STREAM_H_
11 #define NET_BASE_FILE_STREAM_H_ 11 #define NET_BASE_FILE_STREAM_H_
12 12
13 #include "base/files/file.h" 13 #include "base/files/file.h"
14 #include "net/base/completion_callback.h" 14 #include "net/base/completion_callback.h"
15 #include "net/base/file_stream_whence.h"
16 #include "net/base/net_export.h" 15 #include "net/base/net_export.h"
17 16
18 namespace base { 17 namespace base {
19 class FilePath; 18 class FilePath;
20 class TaskRunner; 19 class TaskRunner;
21 } 20 }
22 21
23 namespace net { 22 namespace net {
24 23
25 class IOBuffer; 24 class IOBuffer;
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 61
63 // Returns true if Open succeeded and Close has not been called. 62 // Returns true if Open succeeded and Close has not been called.
64 virtual bool IsOpen() const; 63 virtual bool IsOpen() const;
65 64
66 // Adjust the position from where data is read asynchronously. 65 // Adjust the position from where data is read asynchronously.
67 // Upon success, ERR_IO_PENDING is returned and |callback| will be run 66 // Upon success, ERR_IO_PENDING is returned and |callback| will be run
68 // on the thread where Seek() was called with the the stream position 67 // on the thread where Seek() was called with the the stream position
69 // relative to the start of the file. Otherwise, an error code is returned. 68 // relative to the start of the file. Otherwise, an error code is returned.
70 // It is invalid to request any asynchronous operations while there is an 69 // It is invalid to request any asynchronous operations while there is an
71 // in-flight asynchronous operation. 70 // in-flight asynchronous operation.
72 virtual int Seek(Whence whence, int64 offset, 71 virtual int Seek(base::File::Whence whence, int64 offset,
73 const Int64CompletionCallback& callback); 72 const Int64CompletionCallback& callback);
74 73
75 // Call this method to read data from the current stream position 74 // Call this method to read data from the current stream position
76 // asynchronously. Up to buf_len bytes will be copied into buf. (In 75 // asynchronously. Up to buf_len bytes will be copied into buf. (In
77 // other words, partial reads are allowed.) Returns the number of bytes 76 // other words, partial reads are allowed.) Returns the number of bytes
78 // copied, 0 if at end-of-file, or an error code if the operation could 77 // copied, 0 if at end-of-file, or an error code if the operation could
79 // not be performed. 78 // not be performed.
80 // 79 //
81 // The file must be opened with FLAG_ASYNC, and a non-null 80 // The file must be opened with FLAG_ASYNC, and a non-null
82 // callback must be passed to this method. If the read could not 81 // callback must be passed to this method. If the read could not
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 // without explicitly calling Close, the file should be closed asynchronously 152 // without explicitly calling Close, the file should be closed asynchronously
154 // without delaying FileStream's destructor. 153 // without delaying FileStream's destructor.
155 scoped_ptr<Context> context_; 154 scoped_ptr<Context> context_;
156 155
157 DISALLOW_COPY_AND_ASSIGN(FileStream); 156 DISALLOW_COPY_AND_ASSIGN(FileStream);
158 }; 157 };
159 158
160 } // namespace net 159 } // namespace net
161 160
162 #endif // NET_BASE_FILE_STREAM_H_ 161 #endif // NET_BASE_FILE_STREAM_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698