| // Copyright (c) 2009 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 WEBKIT_TOOLS_TEST_SHELL_SIMPLE_DATABASE_SYSTEM_H_ |
| #define WEBKIT_TOOLS_TEST_SHELL_SIMPLE_DATABASE_SYSTEM_H_ |
| |
| #include "base/file_path.h" |
| #include "base/platform_file.h" |
| #include "base/scoped_temp_dir.h" |
| |
| class SimpleDatabaseSystem { |
| public: |
| static SimpleDatabaseSystem* GetInstance(); |
| SimpleDatabaseSystem(); |
| ~SimpleDatabaseSystem(); |
| |
| base::PlatformFile OpenFile( |
| const FilePath& file_name, int desired_flags, |
| base::PlatformFile* dir_handle); |
| int DeleteFile(const FilePath& file_name, bool sync_dir); |
| long GetFileAttributes(const FilePath& file_name); |
| long long GetFileSize(const FilePath& file_name); |
| void ClearAllDatabases(); |
| |
| private: |
| FilePath GetDBDir(); |
| FilePath GetDBFileFullPath(const FilePath& file_name); |
| |
| static SimpleDatabaseSystem* instance_; |
| |
| ScopedTempDir temp_dir_; |
| |
| // HACK: see OpenFile's implementation |
| base::PlatformFile hack_main_db_handle_; |
| }; |
| |
| #endif // WEBKIT_TOOLS_TEST_SHELL_SIMPLE_DATABASE_SYSTEM_H_ |