chromium/chrome/browser/push_messaging/budget_database.h

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_PUSH_MESSAGING_BUDGET_DATABASE_H_
#define CHROME_BROWSER_PUSH_MESSAGING_BUDGET_DATABASE_H_

#include <list>
#include <map>
#include <memory>

#include "base/functional/callback_forward.h"
#include "base/gtest_prod_util.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/time/time.h"
#include "components/leveldb_proto/public/proto_database.h"

namespace base {
class Clock;
class Time;
}  // namespace base

namespace budget_service {
class Budget;
}

namespace url {
class Origin;
}

class Profile;

// Structure representing the budget at points in time in the future.
struct BudgetState {};

// A class used to asynchronously read and write details of the budget
// assigned to an origin. The class uses an underlying LevelDB.
class BudgetDatabase {};

#endif  // CHROME_BROWSER_PUSH_MESSAGING_BUDGET_DATABASE_H_