Home | History | Annotate | Download | only in idle
      1 // Copyright (c) 2012 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_EXTENSIONS_API_IDLE_IDLE_MANAGER_FACTORY_H__
      6 #define CHROME_BROWSER_EXTENSIONS_API_IDLE_IDLE_MANAGER_FACTORY_H__
      7 
      8 #include "base/memory/singleton.h"
      9 #include "components/browser_context_keyed_service/browser_context_keyed_service_factory.h"
     10 
     11 class Profile;
     12 
     13 namespace extensions {
     14 class IdleManager;
     15 
     16 class IdleManagerFactory : public BrowserContextKeyedServiceFactory {
     17  public:
     18   static IdleManager* GetForProfile(Profile* profile);
     19 
     20   static IdleManagerFactory* GetInstance();
     21 
     22  private:
     23   friend struct DefaultSingletonTraits<IdleManagerFactory>;
     24 
     25   IdleManagerFactory();
     26   virtual ~IdleManagerFactory();
     27 
     28   // BrowserContextKeyedBaseFactory implementation.
     29   virtual BrowserContextKeyedService* BuildServiceInstanceFor(
     30       content::BrowserContext* profile) const OVERRIDE;
     31   virtual content::BrowserContext* GetBrowserContextToUse(
     32       content::BrowserContext* context) const OVERRIDE;
     33   virtual bool ServiceIsCreatedWithBrowserContext() const OVERRIDE;
     34   virtual bool ServiceIsNULLWhileTesting() const OVERRIDE;
     35 };
     36 
     37 }  // namespace extensions
     38 
     39 #endif  // CHROME_BROWSER_EXTENSIONS_API_IDLE_IDLE_MANAGER_FACTORY_H__
     40