blob: d4c1624a3ff30bd30e2d72fa6e8ff575a492b6c2 [file] [log] [blame]
// Copyright 2018 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.
#include "components/download/internal/background_service/noop_store.h"
#include <memory>
#include "base/bind.h"
#include "base/threading/thread_task_runner_handle.h"
#include "components/download/internal/background_service/entry.h"
namespace download {
NoopStore::NoopStore() : initialized_(false) {}
NoopStore::~NoopStore() = default;
bool NoopStore::IsInitialized() {
return initialized_;
}
void NoopStore::Initialize(InitCallback callback) {
DCHECK(!IsInitialized());
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::BindOnce(&NoopStore::OnInitFinished, weak_ptr_factory_.GetWeakPtr(),
std::move(callback)));
}
void NoopStore::HardRecover(StoreCallback callback) {
initialized_ = true;
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::BindOnce(std::move(callback), true));
}
void NoopStore::Update(const Entry& entry, StoreCallback callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::BindOnce(std::move(callback), true /** success */));
}
void NoopStore::Remove(const std::string& guid, StoreCallback callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::BindOnce(std::move(callback), true /** success */));
}
void NoopStore::OnInitFinished(InitCallback callback) {
initialized_ = true;
std::unique_ptr<std::vector<Entry>> entries =
std::make_unique<std::vector<Entry>>();
std::move(callback).Run(true /** success */, std::move(entries));
}
} // namespace download