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

Side by Side Diff: base/file_util.h

Issue 105293002: Move more file_util functions to base namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years 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
« no previous file with comments | « no previous file | base/file_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 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 10
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 BASE_EXPORT bool GetFileSize(const FilePath& file_path, int64* file_size); 265 BASE_EXPORT bool GetFileSize(const FilePath& file_path, int64* file_size);
266 266
267 // Sets |real_path| to |path| with symbolic links and junctions expanded. 267 // Sets |real_path| to |path| with symbolic links and junctions expanded.
268 // On windows, make sure the path starts with a lettered drive. 268 // On windows, make sure the path starts with a lettered drive.
269 // |path| must reference a file. Function will fail if |path| points to 269 // |path| must reference a file. Function will fail if |path| points to
270 // a directory or to a nonexistent path. On windows, this function will 270 // a directory or to a nonexistent path. On windows, this function will
271 // fail if |path| is a junction or symlink that points to an empty file, 271 // fail if |path| is a junction or symlink that points to an empty file,
272 // or if |real_path| would be longer than MAX_PATH characters. 272 // or if |real_path| would be longer than MAX_PATH characters.
273 BASE_EXPORT bool NormalizeFilePath(const FilePath& path, FilePath* real_path); 273 BASE_EXPORT bool NormalizeFilePath(const FilePath& path, FilePath* real_path);
274 274
275 #if defined(OS_WIN)
276
277 // Given a path in NT native form ("\Device\HarddiskVolumeXX\..."),
278 // return in |drive_letter_path| the equivalent path that starts with
279 // a drive letter ("C:\..."). Return false if no such path exists.
280 BASE_EXPORT bool DevicePathToDriveLetterPath(const FilePath& device_path,
281 FilePath* drive_letter_path);
282
283 // Given an existing file in |path|, set |real_path| to the path
284 // in native NT format, of the form "\Device\HarddiskVolumeXX\..".
285 // Returns false if the path can not be found. Empty files cannot
286 // be resolved with this function.
287 BASE_EXPORT bool NormalizeToNativeFilePath(const FilePath& path,
288 FilePath* nt_path);
289 #endif
290
291 // This function will return if the given file is a symlink or not.
292 BASE_EXPORT bool IsLink(const FilePath& file_path);
293
294 // Returns information about the given file path.
295 BASE_EXPORT bool GetFileInfo(const FilePath& file_path, PlatformFileInfo* info);
296
275 } // namespace base 297 } // namespace base
276 298
277 // ----------------------------------------------------------------------------- 299 // -----------------------------------------------------------------------------
278 300
279 namespace file_util { 301 namespace file_util {
280 302
281 #if defined(OS_WIN)
282
283 // Given a path in NT native form ("\Device\HarddiskVolumeXX\..."),
284 // return in |drive_letter_path| the equivalent path that starts with
285 // a drive letter ("C:\..."). Return false if no such path exists.
286 BASE_EXPORT bool DevicePathToDriveLetterPath(const base::FilePath& device_path,
287 base::FilePath* drive_letter_path);
288
289 // Given an existing file in |path|, set |real_path| to the path
290 // in native NT format, of the form "\Device\HarddiskVolumeXX\..".
291 // Returns false if the path can not be found. Empty files cannot
292 // be resolved with this function.
293 BASE_EXPORT bool NormalizeToNativeFilePath(const base::FilePath& path,
294 base::FilePath* nt_path);
295 #endif
296
297 // This function will return if the given file is a symlink or not.
298 BASE_EXPORT bool IsLink(const base::FilePath& file_path);
299
300 // Returns information about the given file path.
301 BASE_EXPORT bool GetFileInfo(const base::FilePath& file_path,
302 base::PlatformFileInfo* info);
303
304 // Sets the time of the last access and the time of the last modification. 303 // Sets the time of the last access and the time of the last modification.
305 BASE_EXPORT bool TouchFile(const base::FilePath& path, 304 BASE_EXPORT bool TouchFile(const base::FilePath& path,
306 const base::Time& last_accessed, 305 const base::Time& last_accessed,
307 const base::Time& last_modified); 306 const base::Time& last_modified);
308 307
309 // Set the time of the last modification. Useful for unit tests. 308 // Set the time of the last modification. Useful for unit tests.
310 BASE_EXPORT bool SetLastModifiedTime(const base::FilePath& path, 309 BASE_EXPORT bool SetLastModifiedTime(const base::FilePath& path,
311 const base::Time& last_modified); 310 const base::Time& last_modified);
312 311
313 #if defined(OS_POSIX) 312 #if defined(OS_POSIX)
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 // This function simulates Move(), but unlike Move() it works across volumes. 465 // This function simulates Move(), but unlike Move() it works across volumes.
467 // This function is not transactional. 466 // This function is not transactional.
468 BASE_EXPORT bool CopyAndDeleteDirectory(const FilePath& from_path, 467 BASE_EXPORT bool CopyAndDeleteDirectory(const FilePath& from_path,
469 const FilePath& to_path); 468 const FilePath& to_path);
470 #endif // defined(OS_WIN) 469 #endif // defined(OS_WIN)
471 470
472 } // namespace internal 471 } // namespace internal
473 } // namespace base 472 } // namespace base
474 473
475 #endif // BASE_FILE_UTIL_H_ 474 #endif // BASE_FILE_UTIL_H_
OLDNEW
« no previous file with comments | « no previous file | base/file_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698