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

Side by Side Diff: base/file_util.h

Issue 6660001: Getting service process on Mac to handle having things moved/changed underneath it. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed up phajdan's comments, got things working properly Created 9 years, 9 months 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
OLDNEW
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 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 291
292 // Returns the file size. Returns true on success. 292 // Returns the file size. Returns true on success.
293 bool GetFileSize(const FilePath& file_path, int64* file_size); 293 bool GetFileSize(const FilePath& file_path, int64* file_size);
294 294
295 // Returns true if the given path's base name is ".". 295 // Returns true if the given path's base name is ".".
296 bool IsDot(const FilePath& path); 296 bool IsDot(const FilePath& path);
297 297
298 // Returns true if the given path's base name is "..". 298 // Returns true if the given path's base name is "..".
299 bool IsDotDot(const FilePath& path); 299 bool IsDotDot(const FilePath& path);
300 300
301 #if defined(OS_MACOSX)
302 // Returns true if the given path is in the trash.
303 bool IsInTrash(const FilePath& path);
304
305 // Moves the file to the trash.
Mark Mentovai 2011/03/11 20:13:52 You’ve only used this in a test. Just define the f
306 // If |new_path| is not NULL it will contain the new location.
307 bool MoveToTrash(const FilePath& path, FilePath* new_path);
308 #endif // OS_MACOSX
309
310 // Are file path a and file path b referring to the same file object.
311 // Does not compare paths, but resolves them and compares the resolved values.
312 bool AreReferringToSameObject(const FilePath& a, const FilePath& b);
313
301 // Sets |real_path| to |path| with symbolic links and junctions expanded. 314 // Sets |real_path| to |path| with symbolic links and junctions expanded.
302 // On windows, make sure the path starts with a lettered drive. 315 // On windows, make sure the path starts with a lettered drive.
303 // |path| must reference a file. Function will fail if |path| points to 316 // |path| must reference a file. Function will fail if |path| points to
304 // a directory or to a nonexistent path. On windows, this function will 317 // a directory or to a nonexistent path. On windows, this function will
305 // fail if |path| is a junction or symlink that points to an empty file, 318 // fail if |path| is a junction or symlink that points to an empty file,
306 // or if |real_path| would be longer than MAX_PATH characters. 319 // or if |real_path| would be longer than MAX_PATH characters.
307 bool NormalizeFilePath(const FilePath& path, FilePath* real_path); 320 bool NormalizeFilePath(const FilePath& path, FilePath* real_path);
308 321
309 #if defined(OS_WIN) 322 #if defined(OS_WIN)
310 // Given an existing file in |path|, it returns in |real_path| the path 323 // Given an existing file in |path|, it returns in |real_path| the path
(...skipping 10 matching lines...) Expand all
321 bool TouchFile(const FilePath& path, 334 bool TouchFile(const FilePath& path,
322 const base::Time& last_accessed, 335 const base::Time& last_accessed,
323 const base::Time& last_modified); 336 const base::Time& last_modified);
324 337
325 // Set the time of the last modification. Useful for unit tests. 338 // Set the time of the last modification. Useful for unit tests.
326 bool SetLastModifiedTime(const FilePath& path, 339 bool SetLastModifiedTime(const FilePath& path,
327 const base::Time& last_modified); 340 const base::Time& last_modified);
328 341
329 #if defined(OS_POSIX) 342 #if defined(OS_POSIX)
330 // Store inode number of |path| in |inode|. Return true on success. 343 // Store inode number of |path| in |inode|. Return true on success.
331 bool GetInode(const FilePath& path, ino_t* inode); 344 bool GetInodeAndDevice(const FilePath& path, ino_t* inode, dev_t* dev);
332 #endif 345 #endif
333 346
334 // Wrapper for fopen-like calls. Returns non-NULL FILE* on success. 347 // Wrapper for fopen-like calls. Returns non-NULL FILE* on success.
335 FILE* OpenFile(const FilePath& filename, const char* mode); 348 FILE* OpenFile(const FilePath& filename, const char* mode);
336 349
337 // Closes file opened by OpenFile. Returns true on success. 350 // Closes file opened by OpenFile. Returns true on success.
338 bool CloseFile(FILE* file); 351 bool CloseFile(FILE* file);
339 352
340 // Truncates an open file to end at the location of the current file pointer. 353 // Truncates an open file to end at the location of the current file pointer.
341 // This is a cross-platform analog to Windows' SetEndOfFile() function. 354 // This is a cross-platform analog to Windows' SetEndOfFile() function.
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 bool GetFileSystemType(const FilePath& path, FileSystemType* type); 647 bool GetFileSystemType(const FilePath& path, FileSystemType* type);
635 #endif 648 #endif
636 649
637 } // namespace file_util 650 } // namespace file_util
638 651
639 // Deprecated functions have been moved to this separate header file, 652 // Deprecated functions have been moved to this separate header file,
640 // which must be included last after all the above definitions. 653 // which must be included last after all the above definitions.
641 #include "base/file_util_deprecated.h" 654 #include "base/file_util_deprecated.h"
642 655
643 #endif // BASE_FILE_UTIL_H_ 656 #endif // BASE_FILE_UTIL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698