Home | History | Annotate | Download | only in dial
      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_DIAL_DIAL_API_FACTORY_H_
      6 #define CHROME_BROWSER_EXTENSIONS_API_DIAL_DIAL_API_FACTORY_H_
      7 
      8 #include "base/memory/singleton.h"
      9 #include "components/keyed_service/content/refcounted_browser_context_keyed_service_factory.h"
     10 
     11 namespace extensions {
     12 
     13 class DialAPI;
     14 
     15 class DialAPIFactory : public RefcountedBrowserContextKeyedServiceFactory {
     16  public:
     17   static scoped_refptr<DialAPI> GetForBrowserContext(
     18       content::BrowserContext* context);
     19 
     20   static DialAPIFactory* GetInstance();
     21 
     22  private:
     23   friend struct DefaultSingletonTraits<DialAPIFactory>;
     24 
     25   DialAPIFactory();
     26   virtual ~DialAPIFactory();
     27 
     28   // BrowserContextKeyedServiceFactory:
     29   virtual scoped_refptr<RefcountedBrowserContextKeyedService>
     30       BuildServiceInstanceFor(content::BrowserContext* profile) const OVERRIDE;
     31   virtual bool ServiceIsCreatedWithBrowserContext() const OVERRIDE;
     32   virtual bool ServiceIsNULLWhileTesting() const OVERRIDE;
     33 
     34   DISALLOW_COPY_AND_ASSIGN(DialAPIFactory);
     35 };
     36 
     37 }  // namespace extensions
     38 
     39 #endif  // CHROME_BROWSER_EXTENSIONS_API_DIAL_DIAL_API_FACTORY_H_
     40