1 // Copyright 2014 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 #include "chrome/browser/supervised_user/supervised_user_settings_service_factory.h" 6 7 #include "chrome/browser/profiles/profile_key.h" 8 #include "chrome/browser/supervised_user/supervised_user_settings_service.h" 9 #include "components/keyed_service/core/simple_dependency_manager.h" 10 11 // static GetForKey(SimpleFactoryKey * key)12SupervisedUserSettingsService* SupervisedUserSettingsServiceFactory::GetForKey( 13 SimpleFactoryKey* key) { 14 return static_cast<SupervisedUserSettingsService*>( 15 GetInstance()->GetServiceForKey(key, true)); 16 } 17 18 // static 19 SupervisedUserSettingsServiceFactory* GetInstance()20SupervisedUserSettingsServiceFactory::GetInstance() { 21 return base::Singleton<SupervisedUserSettingsServiceFactory>::get(); 22 } 23 SupervisedUserSettingsServiceFactory()24SupervisedUserSettingsServiceFactory::SupervisedUserSettingsServiceFactory() 25 : SimpleKeyedServiceFactory("SupervisedUserSettingsService", 26 SimpleDependencyManager::GetInstance()) {} 27 28 SupervisedUserSettingsServiceFactory:: ~SupervisedUserSettingsServiceFactory()29 ~SupervisedUserSettingsServiceFactory() {} 30 31 std::unique_ptr<KeyedService> BuildServiceInstanceFor(SimpleFactoryKey * key) const32SupervisedUserSettingsServiceFactory::BuildServiceInstanceFor( 33 SimpleFactoryKey* key) const { 34 return std::make_unique<SupervisedUserSettingsService>(); 35 } 36 GetKeyToUse(SimpleFactoryKey * key) const37SimpleFactoryKey* SupervisedUserSettingsServiceFactory::GetKeyToUse( 38 SimpleFactoryKey* key) const { 39 ProfileKey* profile_key = ProfileKey::FromSimpleFactoryKey(key); 40 return profile_key->GetOriginalKey(); 41 } 42