#include "components/policy/core/common/cloud/cloud_policy_core.h"
#include <memory>
#include <utility>
#include "base/check.h"
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/observer_list.h"
#include "base/task/sequenced_task_runner.h"
#include "components/policy/core/common/cloud/cloud_policy_client.h"
#include "components/policy/core/common/cloud/cloud_policy_refresh_scheduler.h"
#include "components/policy/core/common/cloud/cloud_policy_service.h"
#include "components/policy/core/common/cloud/cloud_policy_store.h"
#include "components/policy/core/common/cloud/policy_invalidation_scope.h"
#include "components/policy/core/common/remote_commands/remote_commands_factory.h"
#include "components/policy/core/common/remote_commands/remote_commands_service.h"
#include "components/prefs/pref_service.h"
namespace policy {
CloudPolicyCore::Observer::~Observer() = default;
void CloudPolicyCore::Observer::OnRemoteCommandsServiceStarted(
CloudPolicyCore* core) { … }
void CloudPolicyCore::Observer::OnCoreDestruction(CloudPolicyCore* core) { … }
CloudPolicyCore::CloudPolicyCore(
const std::string& policy_type,
const std::string& settings_entity_id,
CloudPolicyStore* store,
const scoped_refptr<base::SequencedTaskRunner>& task_runner,
network::NetworkConnectionTrackerGetter network_connection_tracker_getter)
: … { … }
CloudPolicyCore::~CloudPolicyCore() { … }
void CloudPolicyCore::Connect(std::unique_ptr<CloudPolicyClient> client) { … }
void CloudPolicyCore::Disconnect() { … }
void CloudPolicyCore::StartRemoteCommandsService(
std::unique_ptr<RemoteCommandsFactory> factory,
PolicyInvalidationScope scope) { … }
void CloudPolicyCore::RefreshSoon(PolicyFetchReason reason) { … }
void CloudPolicyCore::StartRefreshScheduler() { … }
void CloudPolicyCore::TrackRefreshDelayPref(
PrefService* pref_service,
const std::string& refresh_pref_name) { … }
void CloudPolicyCore::AddObserver(CloudPolicyCore::Observer* observer) { … }
void CloudPolicyCore::RemoveObserver(CloudPolicyCore::Observer* observer) { … }
void CloudPolicyCore::ConnectForTesting(
std::unique_ptr<CloudPolicyService> service,
std::unique_ptr<CloudPolicyClient> client) { … }
void CloudPolicyCore::UpdateRefreshDelayFromPref() { … }
}