| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 contains utility functions for dealing with the local | 5 // This file contains utility functions for dealing with the local |
| 6 // filesystem. | 6 // filesystem. |
| 7 | 7 |
| 8 #ifndef BASE_FILE_UTIL_H_ | 8 #ifndef BASE_FILE_UTIL_H_ |
| 9 #define BASE_FILE_UTIL_H_ | 9 #define BASE_FILE_UTIL_H_ |
| 10 #pragma once | 10 #pragma once |
| (...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 252 | 252 |
| 253 // Return true if the given directory is empty | 253 // Return true if the given directory is empty |
| 254 BASE_EXPORT bool IsDirectoryEmpty(const FilePath& dir_path); | 254 BASE_EXPORT bool IsDirectoryEmpty(const FilePath& dir_path); |
| 255 | 255 |
| 256 // Get the temporary directory provided by the system. | 256 // Get the temporary directory provided by the system. |
| 257 // WARNING: DON'T USE THIS. If you want to create a temporary file, use one of | 257 // WARNING: DON'T USE THIS. If you want to create a temporary file, use one of |
| 258 // the functions below. | 258 // the functions below. |
| 259 BASE_EXPORT bool GetTempDir(FilePath* path); | 259 BASE_EXPORT bool GetTempDir(FilePath* path); |
| 260 // Get a temporary directory for shared memory files. | 260 // Get a temporary directory for shared memory files. |
| 261 // Only useful on POSIX; redirects to GetTempDir() on Windows. | 261 // Only useful on POSIX; redirects to GetTempDir() on Windows. |
| 262 BASE_EXPORT bool GetShmemTempDir(FilePath* path); | 262 BASE_EXPORT bool GetShmemTempDir(FilePath* path, bool executable); |
| 263 | 263 |
| 264 // Get the home directory. This is more complicated than just getenv("HOME") | 264 // Get the home directory. This is more complicated than just getenv("HOME") |
| 265 // as it knows to fall back on getpwent() etc. | 265 // as it knows to fall back on getpwent() etc. |
| 266 BASE_EXPORT FilePath GetHomeDir(); | 266 BASE_EXPORT FilePath GetHomeDir(); |
| 267 | 267 |
| 268 // Creates a temporary file. The full path is placed in |path|, and the | 268 // Creates a temporary file. The full path is placed in |path|, and the |
| 269 // function returns true if was successful in creating the file. The file will | 269 // function returns true if was successful in creating the file. The file will |
| 270 // be empty and all handles closed after this function returns. | 270 // be empty and all handles closed after this function returns. |
| 271 BASE_EXPORT bool CreateTemporaryFile(FilePath* path); | 271 BASE_EXPORT bool CreateTemporaryFile(FilePath* path); |
| 272 | 272 |
| 273 // Same as CreateTemporaryFile but the file is created in |dir|. | 273 // Same as CreateTemporaryFile but the file is created in |dir|. |
| 274 BASE_EXPORT bool CreateTemporaryFileInDir(const FilePath& dir, | 274 BASE_EXPORT bool CreateTemporaryFileInDir(const FilePath& dir, |
| 275 FilePath* temp_file); | 275 FilePath* temp_file); |
| 276 | 276 |
| 277 // Create and open a temporary file. File is opened for read/write. | 277 // Create and open a temporary file. File is opened for read/write. |
| 278 // The full path is placed in |path|. | 278 // The full path is placed in |path|. |
| 279 // Returns a handle to the opened file or NULL if an error occured. | 279 // Returns a handle to the opened file or NULL if an error occured. |
| 280 BASE_EXPORT FILE* CreateAndOpenTemporaryFile(FilePath* path); | 280 BASE_EXPORT FILE* CreateAndOpenTemporaryFile(FilePath* path); |
| 281 // Like above but for shmem files. Only useful for POSIX. | 281 // Like above but for shmem files. Only useful for POSIX. |
| 282 BASE_EXPORT FILE* CreateAndOpenTemporaryShmemFile(FilePath* path); | 282 // The executable flag says the file needs to support using |
| 283 // mprotect with PROT_EXEC after mapping. |
| 284 BASE_EXPORT FILE* CreateAndOpenTemporaryShmemFile(FilePath* path, |
| 285 bool executable); |
| 283 // Similar to CreateAndOpenTemporaryFile, but the file is created in |dir|. | 286 // Similar to CreateAndOpenTemporaryFile, but the file is created in |dir|. |
| 284 BASE_EXPORT FILE* CreateAndOpenTemporaryFileInDir(const FilePath& dir, | 287 BASE_EXPORT FILE* CreateAndOpenTemporaryFileInDir(const FilePath& dir, |
| 285 FilePath* path); | 288 FilePath* path); |
| 286 | 289 |
| 287 // Create a new directory. If prefix is provided, the new directory name is in | 290 // Create a new directory. If prefix is provided, the new directory name is in |
| 288 // the format of prefixyyyy. | 291 // the format of prefixyyyy. |
| 289 // NOTE: prefix is ignored in the POSIX implementation. | 292 // NOTE: prefix is ignored in the POSIX implementation. |
| 290 // If success, return true and output the full path of the directory created. | 293 // If success, return true and output the full path of the directory created. |
| 291 BASE_EXPORT bool CreateNewTempDirectory(const FilePath::StringType& prefix, | 294 BASE_EXPORT bool CreateNewTempDirectory(const FilePath::StringType& prefix, |
| 292 FilePath* new_temp_path); | 295 FilePath* new_temp_path); |
| (...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 628 BASE_EXPORT bool GetFileSystemType(const FilePath& path, FileSystemType* type); | 631 BASE_EXPORT bool GetFileSystemType(const FilePath& path, FileSystemType* type); |
| 629 #endif | 632 #endif |
| 630 | 633 |
| 631 } // namespace file_util | 634 } // namespace file_util |
| 632 | 635 |
| 633 // Deprecated functions have been moved to this separate header file, | 636 // Deprecated functions have been moved to this separate header file, |
| 634 // which must be included last after all the above definitions. | 637 // which must be included last after all the above definitions. |
| 635 #include "base/file_util_deprecated.h" | 638 #include "base/file_util_deprecated.h" |
| 636 | 639 |
| 637 #endif // BASE_FILE_UTIL_H_ | 640 #endif // BASE_FILE_UTIL_H_ |
| OLD | NEW |