summaryrefslogtreecommitdiffstats
path: root/webkit/tools/test_shell/simple_database_system.h
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/tools/test_shell/simple_database_system.h')
-rw-r--r--webkit/tools/test_shell/simple_database_system.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/webkit/tools/test_shell/simple_database_system.h b/webkit/tools/test_shell/simple_database_system.h
new file mode 100644
index 0000000..cf8c997
--- /dev/null
+++ b/webkit/tools/test_shell/simple_database_system.h
@@ -0,0 +1,38 @@
+// 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_