// 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_