Chromium Code Reviews| Index: net/base/file_stream.h |
| diff --git a/net/base/file_stream.h b/net/base/file_stream.h |
| index 5e07adcf6a703714a5919dfd2ad0689bc7b92e35..60b33bce752cd3fa67ee5fc9f910d474c878e212 100644 |
| --- a/net/base/file_stream.h |
| +++ b/net/base/file_stream.h |
| @@ -20,6 +20,29 @@ class FilePath; |
| namespace net { |
| +enum RecordingClass { |
|
cbentzel
2011/08/15 19:49:11
This CL would be a lot easier without the Recordin
ahendrickson
2011/08/15 23:42:26
Done.
|
| + RECORDING_CLASS_NONE = 0, |
| + RECORDING_CLASS_DOWNLOADS = 1, |
| + // Add more flags here as necessary. Max 31. |
| + RECORDING_CLASS_MAX, |
| +}; |
| + |
| +enum FileErrorTypes { |
|
cbentzel
2011/08/15 19:49:11
This doesn't need to be exposed in this header - i
cbentzel
2011/08/15 19:49:11
Nit: maybe FileError rather than FileErrorTypes
ahendrickson
2011/08/15 23:42:26
Renamed to FileErrorSource.
ahendrickson
2011/08/15 23:42:26
Done.
|
| + FILE_ERROR_TYPES_IS_NOT_OPEN = 0, |
| + FILE_ERROR_TYPES_OPEN, |
| + FILE_ERROR_TYPES_WRITE, |
| + FILE_ERROR_TYPES_READ, |
| + FILE_ERROR_TYPES_SEEK, |
| + FILE_ERROR_TYPES_FLUSH, |
| + FILE_ERROR_TYPES_SET_EOF, |
| + FILE_ERROR_TYPES_GET_SIZE, |
| + FILE_ERROR_TYPES_COUNT, |
| +}; |
| + |
| +void EnableRecordingForClass(int class_flags); |
| + |
| +void RecordFileError(int error, FileErrorTypes type, int class_flags); |
|
cbentzel
2011/08/15 19:49:11
This would also move to the new header.
ahendrickson
2011/08/15 23:42:26
Done.
|
| + |
| // TODO(darin): Move this to a more generic location. |
| // This explicit mapping matches both FILE_ on Windows and SEEK_ on Linux. |
| enum Whence { |
| @@ -31,6 +54,7 @@ enum Whence { |
| class NET_API FileStream { |
| public: |
| FileStream(); |
| + explicit FileStream(int class_flags); |
|
cbentzel
2011/08/15 19:49:11
Remove the new constructors and just use EnableRec
ahendrickson
2011/08/15 23:42:26
Done.
|
| // Construct a FileStream with an existing file handle and opening flags. |
| // |file| is valid file handle. |
| @@ -40,6 +64,14 @@ class NET_API FileStream { |
| // is destructed. |
| FileStream(base::PlatformFile file, int flags); |
| + // Construct a FileStream with an existing file handle and opening flags. |
|
cbentzel
2011/08/15 19:49:11
Ditto.
ahendrickson
2011/08/15 23:42:26
Done.
|
| + // |file| is valid file handle. |
| + // |flags| is a bitfield of base::PlatformFileFlags when the file handle was |
| + // opened. |
| + // The already opened file will not be automatically closed when FileStream |
| + // is destructed. |
| + FileStream(base::PlatformFile file, int flags, int class_flags); |
| + |
| ~FileStream(); |
| // Call this method to close the FileStream. It is OK to call Close |
| @@ -132,6 +164,8 @@ class NET_API FileStream { |
| // This method should not be called if the stream was opened READ_ONLY. |
| int Flush(); |
| + void EnableRecording(bool enable, int class_flags); |
|
cbentzel
2011/08/15 19:49:11
Just make this
void EnableRecording();
enable i
ahendrickson
2011/08/15 23:42:26
Done.
|
| + |
| private: |
| class AsyncContext; |
| friend class AsyncContext; |
| @@ -143,6 +177,7 @@ class NET_API FileStream { |
| base::PlatformFile file_; |
| int open_flags_; |
| bool auto_closed_; |
| + int class_flags_; |
| DISALLOW_COPY_AND_ASSIGN(FileStream); |
| }; |