cef/libcef/browser_database_system.h

39 lines
1.1 KiB
C++

// 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 _BROWSER_DATABASE_SYSTEM_H
#define _BROWSER_DATABASE_SYSTEM_H
#include "base/file_path.h"
#include "base/platform_file.h"
#include "base/scoped_temp_dir.h"
class BrowserDatabaseSystem {
public:
static BrowserDatabaseSystem* GetInstance();
BrowserDatabaseSystem();
~BrowserDatabaseSystem();
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 BrowserDatabaseSystem* instance_;
ScopedTempDir temp_dir_;
// HACK: see OpenFile's implementation
base::PlatformFile hack_main_db_handle_;
};
#endif // _BROWSER_DATABASE_SYSTEM_H