blob: 7059ba0f045ba7ec61ba88a4b370a58cfb8ccf9d [file] [log] [blame]
// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/enterprise/browser_management/browser_management_service.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/enterprise/browser_management/browser_management_status_provider.h"
#include "chrome/browser/profiles/profile.h"
namespace policy {
namespace {
std::vector<std::unique_ptr<ManagementStatusProvider>>
GetManagementStatusProviders(Profile* profile) {
std::vector<std::unique_ptr<ManagementStatusProvider>> providers;
providers.emplace_back(
std::make_unique<BrowserCloudManagementStatusProvider>());
providers.emplace_back(
std::make_unique<LocalBrowserManagementStatusProvider>());
providers.emplace_back(
std::make_unique<LocalDomainBrowserManagementStatusProvider>());
providers.emplace_back(
std::make_unique<ProfileCloudManagementStatusProvider>(profile));
#if BUILDFLAG(IS_CHROMEOS_ASH)
providers.emplace_back(std::make_unique<DeviceManagementStatusProvider>());
#endif
return providers;
}
} // namespace
BrowserManagementService::BrowserManagementService(Profile* profile)
: ManagementService(GetManagementStatusProviders(profile)) {}
BrowserManagementService::~BrowserManagementService() = default;
} // namespace policy