1 // Copyright (c) 2011 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_BACKGROUND_MODE_MANAGER_FACTORY_H_ 6 #define CHROME_BROWSER_BACKGROUND_MODE_MANAGER_FACTORY_H_ 7 8 #include "base/compiler_specific.h" 9 #include "base/memory/singleton.h" 10 #include "chrome/browser/profiles/profile_keyed_service_factory.h" 11 12 class BackgroundModeManager; 13 class Profile; 14 15 // Singleton that owns all BackgroundModeManagers and associates them with 16 // Profiles. Listens for the Profile's destruction notification and cleans up 17 // the associated BackgroundModeManager. 18 class BackgroundModeManagerFactory : public ProfileKeyedServiceFactory { 19 public: 20 static BackgroundModeManager* GetForProfile(Profile* profile); 21 22 static BackgroundModeManagerFactory* GetInstance(); 23 24 private: 25 friend struct DefaultSingletonTraits<BackgroundModeManagerFactory>; 26 27 BackgroundModeManagerFactory(); 28 virtual ~BackgroundModeManagerFactory(); 29 30 // ProfileKeyedServiceFactory: 31 virtual ProfileKeyedService* BuildServiceInstanceFor( 32 Profile* profile) const OVERRIDE; 33 }; 34 35 #endif // CHROME_BROWSER_BACKGROUND_MODE_MANAGER_FACTORY_H_ 36