| // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_NET_PROXY_SERVICE_FACTORY_H_ |
| #define CHROME_BROWSER_NET_PROXY_SERVICE_FACTORY_H_ |
| #pragma once |
| |
| #include "base/basictypes.h" |
| |
| class CommandLine; |
| class PrefProxyConfigTracker; |
| |
| namespace net { |
| class NetLog; |
| class ProxyConfigService; |
| class ProxyService; |
| class URLRequestContext; |
| } // namespace net |
| |
| class ProxyServiceFactory { |
| public: |
| // Creates a ProxyConfigService that delivers the system preferences |
| // (or the respective ChromeOS equivalent). |
| static net::ProxyConfigService* CreateProxyConfigService( |
| PrefProxyConfigTracker* proxy_config_tracker); |
| |
| // Create a proxy service according to the options on command line. |
| static net::ProxyService* CreateProxyService( |
| net::NetLog* net_log, |
| net::URLRequestContext* context, |
| net::ProxyConfigService* proxy_config_service, |
| const CommandLine& command_line); |
| |
| private: |
| DISALLOW_IMPLICIT_CONSTRUCTORS(ProxyServiceFactory); |
| }; |
| |
| #endif // CHROME_BROWSER_NET_PROXY_SERVICE_FACTORY_H_ |