Home | History | Annotate | Download | only in spdyproxy
      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 #ifndef CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_SETTINGS_FACTORY_ANDROID_H_
      6 #define CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_SETTINGS_FACTORY_ANDROID_H_
      7 
      8 #include "base/compiler_specific.h"
      9 #include "base/memory/singleton.h"
     10 #include "components/data_reduction_proxy/browser/data_reduction_proxy_params.h"
     11 #include "components/keyed_service/content/browser_context_keyed_service_factory.h"
     12 
     13 namespace content {
     14 class BrowserContext;
     15 }
     16 
     17 using data_reduction_proxy::DataReductionProxyParams;
     18 
     19 class DataReductionProxySettingsAndroid;
     20 
     21 // BrowserContextKeyedServiceFactory for generating/retrieving
     22 // DataReductionProxyService instances.
     23 class DataReductionProxySettingsFactoryAndroid
     24     : public BrowserContextKeyedServiceFactory {
     25  public:
     26   static DataReductionProxySettingsAndroid* GetForBrowserContext(
     27       content::BrowserContext* context);
     28 
     29   static bool HasDataReductionProxySettingsAndroid(
     30       content::BrowserContext* context);
     31 
     32   static DataReductionProxySettingsFactoryAndroid* GetInstance();
     33 
     34  private:
     35   friend struct DefaultSingletonTraits<
     36       DataReductionProxySettingsFactoryAndroid>;
     37 
     38   DataReductionProxySettingsFactoryAndroid();
     39 
     40   virtual ~DataReductionProxySettingsFactoryAndroid();
     41 
     42   // BrowserContextKeyedServiceFactory:
     43   virtual KeyedService* BuildServiceInstanceFor(
     44       content::BrowserContext* context) const OVERRIDE;
     45 };
     46 
     47 #endif  // CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_SETTINGS_FACTORY_ANDROID_H_
     48