OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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> |
11 #endif | 11 #endif |
12 | 12 |
13 #include <string> | 13 #include <string> |
14 | 14 |
| 15 class FilePath; |
| 16 |
15 namespace base { | 17 namespace base { |
16 | 18 |
17 #if defined(OS_WIN) | 19 #if defined(OS_WIN) |
18 typedef HANDLE PlatformFile; | 20 typedef HANDLE PlatformFile; |
19 const PlatformFile kInvalidPlatformFileValue = INVALID_HANDLE_VALUE; | 21 const PlatformFile kInvalidPlatformFileValue = INVALID_HANDLE_VALUE; |
20 #elif defined(OS_POSIX) | 22 #elif defined(OS_POSIX) |
21 typedef int PlatformFile; | 23 typedef int PlatformFile; |
22 const PlatformFile kInvalidPlatformFileValue = -1; | 24 const PlatformFile kInvalidPlatformFileValue = -1; |
23 #endif | 25 #endif |
24 | 26 |
25 enum PlatformFileFlags { | 27 enum PlatformFileFlags { |
26 PLATFORM_FILE_OPEN = 1, | 28 PLATFORM_FILE_OPEN = 1, |
27 PLATFORM_FILE_CREATE = 2, | 29 PLATFORM_FILE_CREATE = 2, |
28 PLATFORM_FILE_OPEN_ALWAYS = 4, // May create a new file. | 30 PLATFORM_FILE_OPEN_ALWAYS = 4, // May create a new file. |
29 PLATFORM_FILE_CREATE_ALWAYS = 8, // May overwrite an old file. | 31 PLATFORM_FILE_CREATE_ALWAYS = 8, // May overwrite an old file. |
30 PLATFORM_FILE_READ = 16, | 32 PLATFORM_FILE_READ = 16, |
31 PLATFORM_FILE_WRITE = 32, | 33 PLATFORM_FILE_WRITE = 32, |
32 PLATFORM_FILE_EXCLUSIVE_READ = 64, // EXCLUSIVE is opposite of Windows SHARE | 34 PLATFORM_FILE_EXCLUSIVE_READ = 64, // EXCLUSIVE is opposite of Windows SHARE |
33 PLATFORM_FILE_EXCLUSIVE_WRITE = 128, | 35 PLATFORM_FILE_EXCLUSIVE_WRITE = 128, |
34 PLATFORM_FILE_ASYNC = 256, | 36 PLATFORM_FILE_ASYNC = 256, |
35 PLATFORM_FILE_TEMPORARY = 512, // Used on Windows only | 37 PLATFORM_FILE_TEMPORARY = 512, // Used on Windows only |
36 PLATFORM_FILE_HIDDEN = 1024, // Used on Windows only | 38 PLATFORM_FILE_HIDDEN = 1024, // Used on Windows only |
37 PLATFORM_FILE_DELETE_ON_CLOSE = 2048 | 39 PLATFORM_FILE_DELETE_ON_CLOSE = 2048 |
38 }; | 40 }; |
39 | 41 |
40 // Creates or opens the given file. If PLATFORM_FILE_OPEN_ALWAYS is used, and | 42 // Creates or opens the given file. If PLATFORM_FILE_OPEN_ALWAYS is used, and |
41 // |created| is provided, |created| will be set to true if the file was created | 43 // |created| is provided, |created| will be set to true if the file was created |
42 // or to false in case the file was just opened. | 44 // or to false in case the file was just opened. |
| 45 PlatformFile CreatePlatformFile(const FilePath& name, |
| 46 int flags, |
| 47 bool* created); |
| 48 // Deprecated. |
43 PlatformFile CreatePlatformFile(const std::wstring& name, | 49 PlatformFile CreatePlatformFile(const std::wstring& name, |
44 int flags, | 50 int flags, |
45 bool* created); | 51 bool* created); |
46 | 52 |
47 // Closes a file handle | 53 // Closes a file handle |
48 bool ClosePlatformFile(PlatformFile file); | 54 bool ClosePlatformFile(PlatformFile file); |
49 | 55 |
50 } // namespace base | 56 } // namespace base |
51 | 57 |
52 #endif // BASE_PLATFORM_FILE_H_ | 58 #endif // BASE_PLATFORM_FILE_H_ |
OLD | NEW |