chromium/components/image_fetcher/core/image_fetcher_service.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_IMAGE_FETCHER_CORE_IMAGE_FETCHER_SERVICE_H_
#define COMPONENTS_IMAGE_FETCHER_CORE_IMAGE_FETCHER_SERVICE_H_

#include <memory>

#include "base/functional/callback.h"
#include "base/memory/ref_counted.h"
#include "components/keyed_service/core/keyed_service.h"

namespace network {
class SharedURLLoaderFactory;
}  // namespace network

namespace image_fetcher {

class ImageFetcher;
class ImageCache;
class ImageDecoder;

// Enumerate the possible image fetcher combinations to allow the service to
// configure the correct one. New values should be added at the end and things
// should not be renumbered.
// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.components.image_fetcher
enum class ImageFetcherConfig {};

// Keyed service responsible for managing the lifetime of various ImageFetcher
// services. Allows access to instances of  the disk cache, network fetcher and
// cached image fetcher.
class ImageFetcherService : public KeyedService {};

}  // namespace image_fetcher

#endif  // COMPONENTS_IMAGE_FETCHER_CORE_IMAGE_FETCHER_SERVICE_H_