1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_POLICY_CLOUD_USER_CLOUD_POLICY_INVALIDATOR_FACTORY_H_ 6 #define CHROME_BROWSER_POLICY_CLOUD_USER_CLOUD_POLICY_INVALIDATOR_FACTORY_H_ 7 8 #include "base/memory/singleton.h" 9 #include "components/keyed_service/content/browser_context_keyed_service_factory.h" 10 11 namespace policy { 12 13 // Creates an instance of UserCloudPolicyInvalidator for each profile. 14 class UserCloudPolicyInvalidatorFactory 15 : public BrowserContextKeyedServiceFactory { 16 public: 17 static UserCloudPolicyInvalidatorFactory* GetInstance(); 18 19 private: 20 friend struct DefaultSingletonTraits<UserCloudPolicyInvalidatorFactory>; 21 22 UserCloudPolicyInvalidatorFactory(); 23 virtual ~UserCloudPolicyInvalidatorFactory(); 24 25 // BrowserContextKeyedServiceFactory: 26 virtual KeyedService* BuildServiceInstanceFor( 27 content::BrowserContext* context) const OVERRIDE; 28 virtual bool ServiceIsCreatedWithBrowserContext() const OVERRIDE; 29 virtual bool ServiceIsNULLWhileTesting() const OVERRIDE; 30 31 DISALLOW_COPY_AND_ASSIGN(UserCloudPolicyInvalidatorFactory); 32 }; 33 34 } // namespace policy 35 36 #endif // CHROME_BROWSER_POLICY_CLOUD_USER_CLOUD_POLICY_INVALIDATOR_FACTORY_H_ 37