Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(141)

Unified Diff: chrome/browser/chromeos/policy/affiliated_invalidation_service_provider_impl.h

Issue 822523003: Implement device-local account policy pushing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@f_2_442800_switch_device_cloud_policy_invalidator
Patch Set: Rebased. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/policy/affiliated_invalidation_service_provider_impl.h
diff --git a/chrome/browser/chromeos/policy/affiliated_invalidation_service_provider.h b/chrome/browser/chromeos/policy/affiliated_invalidation_service_provider_impl.h
similarity index 54%
copy from chrome/browser/chromeos/policy/affiliated_invalidation_service_provider.h
copy to chrome/browser/chromeos/policy/affiliated_invalidation_service_provider_impl.h
index 5484355075d90fec28d864fb6c8059c61ec4f4da..1ab8216b85d8d179736175de16be4fc863167dc1 100644
--- a/chrome/browser/chromeos/policy/affiliated_invalidation_service_provider.h
+++ b/chrome/browser/chromeos/policy/affiliated_invalidation_service_provider_impl.h
@@ -2,13 +2,14 @@
// 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_AFFILIATED_INVALIDATION_SERVICE_PROVIDER_H_
-#define CHROME_BROWSER_CHROMEOS_POLICY_AFFILIATED_INVALIDATION_SERVICE_PROVIDER_H_
+#ifndef CHROME_BROWSER_CHROMEOS_POLICY_AFFILIATED_INVALIDATION_SERVICE_PROVIDER_IMPL_H_
+#define CHROME_BROWSER_CHROMEOS_POLICY_AFFILIATED_INVALIDATION_SERVICE_PROVIDER_IMPL_H_
#include "base/macros.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/scoped_vector.h"
#include "base/observer_list.h"
+#include "chrome/browser/chromeos/policy/affiliated_invalidation_service_provider.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
@@ -19,65 +20,22 @@ class TiclInvalidationService;
namespace policy {
-// This class provides access to an |InvalidationService| that can be used to
-// subscribe to invalidations generated by the device's enrollment domain, e.g.
-// policy pushing and remote commands for:
-// * the device itself
-// * device-local accounts
-// * other users affiliated with the enrollment domain
-//
-// If an affiliated user with a connected invalidation service is logged in,
-// that invalidation service will be used to conserve server resources. If there
-// are no logged-in users matching these criteria, a device-global
-// |TiclInvalidationService| is spun up.
-// The class monitors the status of the invalidation services and switches
-// between them whenever the service currently in use disconnects or the
-// device-global invalidation service can be replaced with another service that
-// just connected.
-class AffiliatedInvalidationServiceProvider
- : public content::NotificationObserver {
+class AffiliatedInvalidationServiceProviderImpl
+ : public AffiliatedInvalidationServiceProvider,
+ public content::NotificationObserver {
public:
- class Consumer {
- public:
- // This method is called when the invalidation service that the consumer
- // should use changes:
- // * If |invalidation_service| is a nullptr, no invalidation service is
- // currently available for use.
- // * Otherwise, |invalidation_service| is the invalidation service that the
- // consumer should use. It is guaranteed to be connected. Any previously
- // provided invalidation services must no longer be used.
- virtual void OnInvalidationServiceSet(
- invalidation::InvalidationService* invalidation_service) = 0;
-
- protected:
- virtual ~Consumer();
- };
-
- AffiliatedInvalidationServiceProvider();
- ~AffiliatedInvalidationServiceProvider() override;
+ AffiliatedInvalidationServiceProviderImpl();
+ ~AffiliatedInvalidationServiceProviderImpl() override;
// content::NotificationObserver:
void Observe(int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) override;
- // Indicates that |consumer| is interested in using the shared
- // |InvalidationService|. The consumer's OnInvalidationServiceSet() method
- // will be called back when a connected invalidation service becomes
- // available. If an invalidation service is available already, the callback
- // will occur synchronously. The |consumer| must be unregistered before |this|
- // is destroyed.
- void RegisterConsumer(Consumer* consumer);
-
- // Indicates that |consumer| is no longer interested in using the
- // shared |InvalidationService|.
- void UnregisterConsumer(Consumer* consumer);
-
- // Shuts down the provider. Once the provider is shut down, it no longer makes
- // any invalidation service available to consumers, no longer observes any
- // per-profile invalidation services and no longer maintains a device-global
- // invalidation service.
- void Shutdown();
+ // AffiliatedInvalidationServiceProvider:
+ void RegisterConsumer(Consumer* consumer) override;
+ void UnregisterConsumer(Consumer* consumer) override;
+ void Shutdown() override;
invalidation::TiclInvalidationService*
GetDeviceInvalidationServiceForTest() const;
@@ -132,9 +90,9 @@ class AffiliatedInvalidationServiceProvider
bool is_shut_down_;
- DISALLOW_COPY_AND_ASSIGN(AffiliatedInvalidationServiceProvider);
+ DISALLOW_COPY_AND_ASSIGN(AffiliatedInvalidationServiceProviderImpl);
};
} // namespace policy
-#endif // CHROME_BROWSER_CHROMEOS_POLICY_AFFILIATED_INVALIDATION_SERVICE_PROVIDER_H_
+#endif // CHROME_BROWSER_CHROMEOS_POLICY_AFFILIATED_INVALIDATION_SERVICE_PROVIDER_IMPL_H_

Powered by Google App Engine
This is Rietveld 408576698