Chromium Code Reviews| 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 BASE_PLATFORM_FILE_H_ | 5 #ifndef BASE_PLATFORM_FILE_H_ |
| 6 #define BASE_PLATFORM_FILE_H_ | 6 #define BASE_PLATFORM_FILE_H_ |
| 7 | 7 |
| 8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
| 9 #if defined(OS_WIN) | 9 #if defined(OS_WIN) |
| 10 #include <windows.h> | 10 #include <windows.h> |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 48 PLATFORM_FILE_WRITE_ATTRIBUTES = 1 << 14, // Used on Windows only | 48 PLATFORM_FILE_WRITE_ATTRIBUTES = 1 << 14, // Used on Windows only |
| 49 | 49 |
| 50 PLATFORM_FILE_SHARE_DELETE = 1 << 15, // Used on Windows only | 50 PLATFORM_FILE_SHARE_DELETE = 1 << 15, // Used on Windows only |
| 51 | 51 |
| 52 PLATFORM_FILE_TERMINAL_DEVICE = 1 << 16, // Serial port flags | 52 PLATFORM_FILE_TERMINAL_DEVICE = 1 << 16, // Serial port flags |
| 53 PLATFORM_FILE_BACKUP_SEMANTICS = 1 << 17, // Used on Windows only | 53 PLATFORM_FILE_BACKUP_SEMANTICS = 1 << 17, // Used on Windows only |
| 54 | 54 |
| 55 PLATFORM_FILE_EXECUTE = 1 << 18, // Used on Windows only | 55 PLATFORM_FILE_EXECUTE = 1 << 18, // Used on Windows only |
| 56 }; | 56 }; |
| 57 | 57 |
| 58 // This enum has been recorded in multiple histograms. If the order of the | |
| 59 // fields needs to change, please ensure that those histograms are obsolete or | |
| 60 // have been moved to a different enum. | |
|
dgrogan
2013/10/18 21:54:10
thakis@, please take a look
| |
| 61 // | |
| 58 // PLATFORM_FILE_ERROR_ACCESS_DENIED is returned when a call fails because of | 62 // PLATFORM_FILE_ERROR_ACCESS_DENIED is returned when a call fails because of |
| 59 // a filesystem restriction. PLATFORM_FILE_ERROR_SECURITY is returned when a | 63 // a filesystem restriction. PLATFORM_FILE_ERROR_SECURITY is returned when a |
| 60 // browser policy doesn't allow the operation to be executed. | 64 // browser policy doesn't allow the operation to be executed. |
| 61 enum PlatformFileError { | 65 enum PlatformFileError { |
| 62 PLATFORM_FILE_OK = 0, | 66 PLATFORM_FILE_OK = 0, |
| 63 PLATFORM_FILE_ERROR_FAILED = -1, | 67 PLATFORM_FILE_ERROR_FAILED = -1, |
| 64 PLATFORM_FILE_ERROR_IN_USE = -2, | 68 PLATFORM_FILE_ERROR_IN_USE = -2, |
| 65 PLATFORM_FILE_ERROR_EXISTS = -3, | 69 PLATFORM_FILE_ERROR_EXISTS = -3, |
| 66 PLATFORM_FILE_ERROR_NOT_FOUND = -4, | 70 PLATFORM_FILE_ERROR_NOT_FOUND = -4, |
| 67 PLATFORM_FILE_ERROR_ACCESS_DENIED = -5, | 71 PLATFORM_FILE_ERROR_ACCESS_DENIED = -5, |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 115 base::Time creation_time; | 119 base::Time creation_time; |
| 116 }; | 120 }; |
| 117 | 121 |
| 118 #if defined(OS_WIN) | 122 #if defined(OS_WIN) |
| 119 typedef HANDLE PlatformFile; | 123 typedef HANDLE PlatformFile; |
| 120 const PlatformFile kInvalidPlatformFileValue = INVALID_HANDLE_VALUE; | 124 const PlatformFile kInvalidPlatformFileValue = INVALID_HANDLE_VALUE; |
| 121 PlatformFileError LastErrorToPlatformFileError(DWORD saved_errno); | 125 PlatformFileError LastErrorToPlatformFileError(DWORD saved_errno); |
| 122 #elif defined(OS_POSIX) | 126 #elif defined(OS_POSIX) |
| 123 typedef int PlatformFile; | 127 typedef int PlatformFile; |
| 124 const PlatformFile kInvalidPlatformFileValue = -1; | 128 const PlatformFile kInvalidPlatformFileValue = -1; |
| 125 PlatformFileError ErrnoToPlatformFileError(int saved_errno); | 129 BASE_EXPORT PlatformFileError ErrnoToPlatformFileError(int saved_errno); |
| 126 #endif | 130 #endif |
| 127 | 131 |
| 128 // Creates or opens the given file. If |created| is provided, it will be set to | 132 // Creates or opens the given file. If |created| is provided, it will be set to |
| 129 // true if a new file was created [or an old one truncated to zero length to | 133 // true if a new file was created [or an old one truncated to zero length to |
| 130 // simulate a new file, which can happen with PLATFORM_FILE_CREATE_ALWAYS], and | 134 // simulate a new file, which can happen with PLATFORM_FILE_CREATE_ALWAYS], and |
| 131 // false otherwise. |error| can be NULL. | 135 // false otherwise. |error| can be NULL. |
| 132 // | 136 // |
| 133 // This function fails with 'access denied' if the |name| contains path | 137 // This function fails with 'access denied' if the |name| contains path |
| 134 // traversal ('..') components. | 138 // traversal ('..') components. |
| 135 BASE_EXPORT PlatformFile CreatePlatformFile(const FilePath& name, | 139 BASE_EXPORT PlatformFile CreatePlatformFile(const FilePath& name, |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 271 return temp; | 275 return temp; |
| 272 } | 276 } |
| 273 | 277 |
| 274 private: | 278 private: |
| 275 PlatformFile* value_; | 279 PlatformFile* value_; |
| 276 }; | 280 }; |
| 277 | 281 |
| 278 } // namespace base | 282 } // namespace base |
| 279 | 283 |
| 280 #endif // BASE_PLATFORM_FILE_H_ | 284 #endif // BASE_PLATFORM_FILE_H_ |
| OLD | NEW |