39 lines
1.1 KiB
C
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
|