blob: cf8c9978b5daaf9e055e34e7a110be46e7fdea1b [file] [log] [blame]
// 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_