// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_OFFLINE_PAGES_CORE_MODEL_DELETE_PAGE_TASK_H_ #define COMPONENTS_OFFLINE_PAGES_CORE_MODEL_DELETE_PAGE_TASK_H_ #include <memory> #include <vector> #include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "components/offline_pages/core/offline_page_metadata_store.h" #include "components/offline_pages/core/offline_page_model.h" #include "components/offline_pages/core/offline_page_types.h" #include "components/offline_pages/task/task.h" namespace sql { class Database; } // namespace sql namespace offline_pages { class OfflinePageMetadataStore; // Task that deletes pages from the metadata store. It takes the store and // archive manager for deleting entries from database and file system. Also the // task needs to be constructed with a DeleteFunction, which defines which pages // are going to be deleted. // The caller needs to provide a callback which takes a vector of pages that are // deleted, along with a DeletePageResult. // The tasks have to be created by using the static CreateTask* methods. class DeletePageTask : public Task { … }; } // namespace offline_pages #endif // COMPONENTS_OFFLINE_PAGES_CORE_MODEL_DELETE_PAGE_TASK_H_