Index: components/offline_pages/offline_page_model.h |
diff --git a/components/offline_pages/offline_page_model.h b/components/offline_pages/offline_page_model.h |
deleted file mode 100644 |
index 9b4ac0dd7f87a9b0f98db516044e80612ff9c3a2..0000000000000000000000000000000000000000 |
--- a/components/offline_pages/offline_page_model.h |
+++ /dev/null |
@@ -1,196 +0,0 @@ |
-// Copyright 2015 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 COMPONENTS_OFFLINE_PAGES_OFFLINE_PAGE_MODEL_H_ |
-#define COMPONENTS_OFFLINE_PAGES_OFFLINE_PAGE_MODEL_H_ |
- |
-#include <stdint.h> |
- |
-#include <memory> |
-#include <set> |
-#include <string> |
-#include <vector> |
- |
-#include "base/supports_user_data.h" |
-#include "components/offline_pages/offline_event_logger.h" |
-#include "components/offline_pages/offline_page_archiver.h" |
-#include "components/offline_pages/offline_page_model_query.h" |
-#include "components/offline_pages/offline_page_storage_manager.h" |
-#include "components/offline_pages/offline_page_types.h" |
- |
-class GURL; |
-namespace base { |
-class Time; |
-} // namespace base |
- |
-namespace offline_pages { |
- |
-struct ClientId; |
- |
-// Service for saving pages offline, storing the offline copy and metadata, and |
-// retrieving them upon request. |
-// |
-// Example usage: |
-// class ArchiverImpl : public OfflinePageArchiver { |
-// // This is a class that knows how to create archiver |
-// void CreateArchiver(...) override; |
-// ... |
-// } |
-// |
-// // In code using the OfflinePagesModel to save a page: |
-// std::unique_ptr<ArchiverImpl> archiver(new ArchiverImpl()); |
-// // Callback is of type SavePageCallback. |
-// model->SavePage(url, std::move(archiver), callback); |
-// |
-// TODO(fgorski): Things to describe: |
-// * how to cancel requests and what to expect |
-class OfflinePageModel : public base::SupportsUserData { |
- public: |
- // Controls how to search on differnt URLs for pages. |
- enum class URLSearchMode { |
- // Match against the last committed URL only. |
- SEARCH_BY_FINAL_URL_ONLY, |
- // Match against all stored URLs, including the last committed URL and |
- // the original request URL. |
- SEARCH_BY_ALL_URLS |
- }; |
- |
- // Describes the parameters to control how to save a page. |
- struct SavePageParams { |
- SavePageParams(); |
- SavePageParams(const SavePageParams& other); |
- |
- // The last committed URL of the page to save. |
- GURL url; |
- |
- // The identification used by the client. |
- ClientId client_id; |
- |
- // Used for the offline_id for the saved file if non-zero. If it is |
- // kInvalidOfflineId, a new, random ID will be generated. |
- int64_t proposed_offline_id; |
- |
- // The original URL of the page to save. Empty if no redirect occurs. |
- GURL original_url; |
- }; |
- |
- // Observer of the OfflinePageModel. |
- class Observer { |
- public: |
- // Invoked when the model has finished loading. |
- virtual void OfflinePageModelLoaded(OfflinePageModel* model) = 0; |
- |
- // Invoked when the model is being updated, due to adding, removing or |
- // updating an offline page. |
- virtual void OfflinePageModelChanged(OfflinePageModel* model) = 0; |
- |
- // Invoked when an offline copy related to |offline_id| was deleted. |
- virtual void OfflinePageDeleted(int64_t offline_id, |
- const ClientId& client_id) = 0; |
- |
- protected: |
- virtual ~Observer() = default; |
- }; |
- |
- using CheckPagesExistOfflineResult = |
- offline_pages::CheckPagesExistOfflineResult; |
- using MultipleOfflinePageItemResult = |
- offline_pages::MultipleOfflinePageItemResult; |
- using DeletePageResult = offline_pages::DeletePageResult; |
- using SavePageResult = offline_pages::SavePageResult; |
- |
- // Returns true if saving an offline page may be attempted for |url|. |
- static bool CanSaveURL(const GURL& url); |
- |
- OfflinePageModel(); |
- ~OfflinePageModel() override; |
- |
- virtual void AddObserver(Observer* observer) = 0; |
- virtual void RemoveObserver(Observer* observer) = 0; |
- |
- static const int64_t kInvalidOfflineId = 0; |
- |
- // Attempts to save a page offline per |save_page_params|. Requires that the |
- // model is loaded. Generates a new offline id or uses the proposed offline |
- // id in |save_page_params| and returns it. |
- virtual void SavePage(const SavePageParams& save_page_params, |
- std::unique_ptr<OfflinePageArchiver> archiver, |
- const SavePageCallback& callback) = 0; |
- |
- // Marks that the offline page related to the passed |offline_id| has been |
- // accessed. Its access info, including last access time and access count, |
- // will be updated. Requires that the model is loaded. |
- virtual void MarkPageAccessed(int64_t offline_id) = 0; |
- |
- // Deletes pages based on |offline_ids|. |
- virtual void DeletePagesByOfflineId(const std::vector<int64_t>& offline_ids, |
- const DeletePageCallback& callback) = 0; |
- |
- // Deletes all pages associated with any of |client_ids|. |
- virtual void DeletePagesByClientIds(const std::vector<ClientId>& client_ids, |
- const DeletePageCallback& callback) = 0; |
- |
- virtual void GetPagesMatchingQuery( |
- std::unique_ptr<OfflinePageModelQuery> query, |
- const MultipleOfflinePageItemCallback& callback) = 0; |
- |
- // Retrieves all pages associated with any of |client_ids|. |
- virtual void GetPagesByClientIds( |
- const std::vector<ClientId>& client_ids, |
- const MultipleOfflinePageItemCallback& callback) = 0; |
- |
- // Deletes cached offline pages matching the URL predicate. |
- virtual void DeleteCachedPagesByURLPredicate( |
- const UrlPredicate& predicate, |
- const DeletePageCallback& callback) = 0; |
- |
- // Returns via callback all GURLs in |urls| that are equal to the online URL |
- // of any offline page. |
- virtual void CheckPagesExistOffline( |
- const std::set<GURL>& urls, |
- const CheckPagesExistOfflineCallback& callback) = 0; |
- |
- // Gets all offline pages. |
- virtual void GetAllPages(const MultipleOfflinePageItemCallback& callback) = 0; |
- |
- // Gets all offline pages including expired ones. |
- virtual void GetAllPagesWithExpired( |
- const MultipleOfflinePageItemCallback& callback) = 0; |
- |
- // Gets all offline ids where the offline page has the matching client id. |
- virtual void GetOfflineIdsForClientId( |
- const ClientId& client_id, |
- const MultipleOfflineIdCallback& callback) = 0; |
- |
- // Returns zero or one offline pages associated with a specified |offline_id|. |
- virtual void GetPageByOfflineId( |
- int64_t offline_id, |
- const SingleOfflinePageItemCallback& callback) = 0; |
- |
- // Returns the offline pages that are related to |url|. |url_search_mode| |
- // controls how the url match is done. See URLSearchMode for more details. |
- virtual void GetPagesByURL( |
- const GURL& url, |
- URLSearchMode url_search_mode, |
- const MultipleOfflinePageItemCallback& callback) = 0; |
- |
- // Marks pages with |offline_ids| as expired and deletes the associated |
- // archive files. |
- virtual void ExpirePages(const std::vector<int64_t>& offline_ids, |
- const base::Time& expiration_time, |
- const base::Callback<void(bool)>& callback) = 0; |
- |
- // Returns the policy controller. |
- virtual ClientPolicyController* GetPolicyController() = 0; |
- |
- // TODO(dougarnett): Remove this and its uses. |
- virtual bool is_loaded() const = 0; |
- |
- // Returns the logger. Ownership is retained by the model. |
- virtual OfflineEventLogger* GetLogger() = 0; |
-}; |
- |
-} // namespace offline_pages |
- |
-#endif // COMPONENTS_OFFLINE_PAGES_OFFLINE_PAGE_MODEL_H_ |