Index: chrome/browser/chromeos/policy/remote_commands/remote_commands_invalidator.h |
diff --git a/chrome/browser/chromeos/policy/remote_commands/remote_commands_invalidator.h b/chrome/browser/chromeos/policy/remote_commands/remote_commands_invalidator.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bcf3f4e3fe1f4d853d809613af0b63869b99a8d5 |
--- /dev/null |
+++ b/chrome/browser/chromeos/policy/remote_commands/remote_commands_invalidator.h |
@@ -0,0 +1,76 @@ |
+// 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. |
+ |
+#ifndef CHROME_BROWSER_CHROMEOS_POLICY_REMOTE_COMMANDS_REMOTE_COMMANDS_INVALIDATOR_H_ |
+#define CHROME_BROWSER_CHROMEOS_POLICY_REMOTE_COMMANDS_REMOTE_COMMANDS_INVALIDATOR_H_ |
+ |
+#include "base/macros.h" |
+#include "base/memory/scoped_ptr.h" |
+#include "chrome/browser/chromeos/policy/affiliated_invalidation_service_provider.h" |
+#include "chrome/browser/policy/cloud/remote_commands_invalidator_base.h" |
+#include "components/policy/core/common/cloud/cloud_policy_core.h" |
+#include "components/policy/core/common/cloud/cloud_policy_store.h" |
+ |
+namespace policy { |
+ |
+// XXX |
bartfab (slow)
2015/05/15 13:28:07
Nit: Missing comment.
binjin
2015/05/15 14:50:38
Done.
|
+class RemoteCommandsInvalidator : public RemoteCommandsInvalidatorBase, |
bartfab (slow)
2015/05/15 13:28:07
This file should be split. The |RemoteCommandsInva
|
+ public CloudPolicyCore::Observer, |
+ public CloudPolicyStore::Observer { |
+ public: |
+ explicit RemoteCommandsInvalidator(CloudPolicyCore* core); |
+ ~RemoteCommandsInvalidator() override; |
+ |
+ // RemoteCommandsInvalidatorBase: |
+ void OnInitialize() override; |
+ void OnShutdown() override; |
+ void OnStart() override; |
+ void OnStop() override; |
+ void DoRemoteCommandsFetch() override; |
+ |
+ // CloudPolicyCore::Observer: |
+ void OnCoreConnected(CloudPolicyCore* core) override; |
+ void OnRefreshSchedulerStarted(CloudPolicyCore* core) override; |
+ void OnCoreDisconnecting(CloudPolicyCore* core) override; |
+ void OnRemoteCommandsServiceStarted(CloudPolicyCore* core) override; |
+ |
+ // CloudPolicyStore::Observer: |
+ void OnStoreLoaded(CloudPolicyStore* store) override; |
+ void OnStoreError(CloudPolicyStore* store) override; |
+ |
+ private: |
+ CloudPolicyCore* const core_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(RemoteCommandsInvalidator); |
+}; |
+ |
+class AffiliatedRemoteCommandsInvalidator |
bartfab (slow)
2015/05/15 13:28:07
I know you are following an existing naming patter
binjin
2015/05/15 14:50:38
Acknowledged.
|
+ : public AffiliatedInvalidationServiceProvider::Consumer { |
+ public: |
+ AffiliatedRemoteCommandsInvalidator( |
+ CloudPolicyCore* core, |
+ AffiliatedInvalidationServiceProvider* invalidation_service_provider); |
+ ~AffiliatedRemoteCommandsInvalidator() override; |
+ |
+ // AffiliatedInvalidationServiceProvider::Consumer: |
+ void OnInvalidationServiceSet( |
+ invalidation::InvalidationService* invalidation_service) override; |
+ |
+ private: |
+ void CreateInvalidator( |
+ invalidation::InvalidationService* invalidation_service); |
bartfab (slow)
2015/05/15 13:28:07
Nit: Forward-declare |invalidation::InvalidationSe
binjin
2015/05/15 14:50:38
Done.
|
+ |
+ void DestroyInvalidator(); |
+ |
+ CloudPolicyCore* const core_; |
+ AffiliatedInvalidationServiceProvider* const invalidation_service_provider_; |
+ |
+ scoped_ptr<RemoteCommandsInvalidator> invalidator_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(AffiliatedRemoteCommandsInvalidator); |
+}; |
+ |
+} // namespace policy |
+ |
+#endif // CHROME_BROWSER_CHROMEOS_POLICY_REMOTE_COMMANDS_REMOTE_COMMANDS_INVALIDATOR_H_ |