/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef STORAGE_QUOTAVFS_H_
#define STORAGE_QUOTAVFS_H_

#include "mozilla/UniquePtr.h"

struct sqlite3_vfs;
struct sqlite3_file;

template <typename T>
struct already_AddRefed;

namespace mozilla::dom::quota {
class QuotaObject;
}

namespace mozilla::storage::quotavfs {

const char* GetVFSName();

UniquePtr<sqlite3_vfs> ConstructVFS(const char* aBaseVFSName);

already_AddRefed<dom::quota::QuotaObject> GetQuotaObjectForFile(
    sqlite3_file* pFile);

}  // namespace mozilla::storage::quotavfs

#endif  // STORAGE_QUOTAVFS_H_
