chromium/components/offline_pages/core/offline_page_archive_publisher.h

// Copyright 2019 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_OFFLINE_PAGE_ARCHIVE_PUBLISHER_H_
#define COMPONENTS_OFFLINE_PAGES_CORE_OFFLINE_PAGE_ARCHIVE_PUBLISHER_H_

#include <cstdint>

#include "base/files/file_path.h"
#include "components/offline_pages/core/offline_page_item.h"
#include "components/offline_pages/core/offline_page_types.h"

namespace base {
class SequencedTaskRunner;
}  // namespace base

namespace offline_pages {

// These constants are used to set offline_page_item.download_id when no
// download ID is available.
const int64_t kArchiveNotPublished =;
const int64_t kArchivePublishedWithoutDownloadId =;

// Identifies one published archive. Before Android Q, a published archive is
// assigned a download ID; on Q and later, a published archive is assigned a
// content URI.
struct PublishedArchiveId {};

// The result of publishing an offline page to Downloads.
struct PublishArchiveResult {};

// Interface of a class responsible for publishing offline page archives to
// downloads.
class OfflinePageArchivePublisher {};

}  // namespace offline_pages

#endif  // COMPONENTS_OFFLINE_PAGES_CORE_OFFLINE_PAGE_ARCHIVE_PUBLISHER_H_