#ifndef COMPONENTS_COMPONENT_UPDATER_COMPONENT_UPDATER_SERVICE_H_
#define COMPONENTS_COMPONENT_UPDATER_COMPONENT_UPDATER_SERVICE_H_
#include <stdint.h>
#include <map>
#include <memory>
#include <string>
#include <vector>
#include "base/functional/callback_forward.h"
#include "base/gtest_prod_util.h"
#include "base/memory/ref_counted.h"
#include "base/version.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "components/update_client/update_client.h"
#include "url/gurl.h"
class ComponentsHandler;
class PluginObserver;
namespace ash {
class SmartDimComponentIntegrationTest;
}
namespace policy {
class ComponentUpdaterPolicyTest;
}
namespace screen_ai {
class ScreenAIDownloaderNonChromeOS;
}
namespace speech {
class SodaInstallerImpl;
}
namespace update_client {
class Configurator;
struct CrxComponent;
struct CrxUpdateItem;
}
namespace extensions {
class AutotestPrivateLoadSmartDimComponentFunction;
}
namespace component_updater {
Callback;
class OnDemandUpdater;
class UpdateScheduler;
Configurator;
CrxComponent;
CrxUpdateItem;
struct ComponentInfo { … };
struct ComponentRegistration { … };
class ComponentUpdateService { … };
ServiceObserver;
class OnDemandUpdater { … };
std::unique_ptr<ComponentUpdateService> ComponentUpdateServiceFactory(
scoped_refptr<Configurator> config,
std::unique_ptr<UpdateScheduler> scheduler,
const std::string& brand);
void RegisterComponentUpdateServicePrefs(PrefRegistrySimple* registry);
}
#endif