| // 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 |