chromium/components/download/internal/background_service/in_memory_download_driver.h

// Copyright 2018 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_DOWNLOAD_INTERNAL_BACKGROUND_SERVICE_IN_MEMORY_DOWNLOAD_DRIVER_H_
#define COMPONENTS_DOWNLOAD_INTERNAL_BACKGROUND_SERVICE_IN_MEMORY_DOWNLOAD_DRIVER_H_

#include "base/memory/raw_ptr.h"
#include "components/download/internal/background_service/download_driver.h"

#include <map>
#include <memory>

#include "base/task/single_thread_task_runner.h"
#include "components/download/internal/background_service/in_memory_download.h"
#include "services/network/public/mojom/url_loader_factory.mojom.h"

namespace download {

class InMemoryDownload;

// Factory to create in memory download object.
class InMemoryDownloadFactory : public InMemoryDownload::Factory {};

// Download backend that owns the list of in memory downloads and propagate
// notification to its client.
class InMemoryDownloadDriver : public DownloadDriver,
                               public InMemoryDownload::Delegate {};

}  // namespace download

#endif  // COMPONENTS_DOWNLOAD_INTERNAL_BACKGROUND_SERVICE_IN_MEMORY_DOWNLOAD_DRIVER_H_