|  | // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #ifndef STORAGE_BROWSER_DATABASE_VFS_BACKEND_H_ | 
|  | #define STORAGE_BROWSER_DATABASE_VFS_BACKEND_H_ | 
|  |  | 
|  | #include <stdint.h> | 
|  |  | 
|  | #include "base/component_export.h" | 
|  | #include "base/files/file.h" | 
|  | #include "base/process/process.h" | 
|  | #include "base/strings/string16.h" | 
|  |  | 
|  | namespace base { | 
|  | class FilePath; | 
|  | } | 
|  |  | 
|  | namespace storage { | 
|  |  | 
|  | class COMPONENT_EXPORT(STORAGE_BROWSER) VfsBackend { | 
|  | public: | 
|  | static base::File OpenFile(const base::FilePath& file_path, | 
|  | int desired_flags); | 
|  |  | 
|  | static base::File OpenTempFileInDirectory(const base::FilePath& dir_path, | 
|  | int desired_flags); | 
|  |  | 
|  | static int DeleteFile(const base::FilePath& file_path, bool sync_dir); | 
|  |  | 
|  | static uint32_t GetFileAttributes(const base::FilePath& file_path); | 
|  |  | 
|  | static int64_t GetFileSize(const base::FilePath& file_path); | 
|  |  | 
|  | static bool SetFileSize(const base::FilePath& file_path, int64_t size); | 
|  |  | 
|  | // Used to make decisions in the DatabaseDispatcherHost. | 
|  | static bool OpenTypeIsReadWrite(int desired_flags); | 
|  |  | 
|  | private: | 
|  | static bool OpenFileFlagsAreConsistent(int desired_flags); | 
|  | }; | 
|  |  | 
|  | }  // namespace storage | 
|  |  | 
|  | #endif  // STORAGE_BROWSER_DATABASE_VFS_BACKEND_H_ |