blob: 51fbc5cf8e1a5207012e4ac19b48dc0c9987491e [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/policy/cloud/remote_commands_invalidator_impl.h"
#include "base/logging.h"
#include "components/policy/core/common/remote_commands/remote_commands_service.h"
namespace policy {
RemoteCommandsInvalidatorImpl::RemoteCommandsInvalidatorImpl(
CloudPolicyCore* core)
: core_(core) {
DCHECK(core_);
}
void RemoteCommandsInvalidatorImpl::OnInitialize() {
core_->AddObserver(this);
if (core_->remote_commands_service())
OnRemoteCommandsServiceStarted(core_);
}
void RemoteCommandsInvalidatorImpl::OnShutdown() {
core_->RemoveObserver(this);
}
void RemoteCommandsInvalidatorImpl::OnStart() {
core_->store()->AddObserver(this);
OnStoreLoaded(core_->store());
}
void RemoteCommandsInvalidatorImpl::OnStop() {
core_->store()->RemoveObserver(this);
}
void RemoteCommandsInvalidatorImpl::DoRemoteCommandsFetch() {
DCHECK(core_->remote_commands_service());
core_->remote_commands_service()->FetchRemoteCommands();
}
void RemoteCommandsInvalidatorImpl::OnCoreConnected(CloudPolicyCore* core) {
}
void RemoteCommandsInvalidatorImpl::OnRefreshSchedulerStarted(
CloudPolicyCore* core) {
}
void RemoteCommandsInvalidatorImpl::OnCoreDisconnecting(CloudPolicyCore* core) {
Stop();
}
void RemoteCommandsInvalidatorImpl::OnRemoteCommandsServiceStarted(
CloudPolicyCore* core) {
Start();
}
void RemoteCommandsInvalidatorImpl::OnStoreLoaded(CloudPolicyStore* core) {
ReloadPolicyData(core_->store()->policy());
}
void RemoteCommandsInvalidatorImpl::OnStoreError(CloudPolicyStore* core) {
}
} // namespace policy