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_NET_PROXY_SERVICE_FACTORY_H_ 6#define CHROME_BROWSER_NET_PROXY_SERVICE_FACTORY_H_ 7#pragma once 8 9#include "base/basictypes.h" 10 11class CommandLine; 12class PrefProxyConfigTracker; 13 14namespace net { 15class NetLog; 16class ProxyConfigService; 17class ProxyService; 18class URLRequestContext; 19} // namespace net 20 21class ProxyServiceFactory { 22 public: 23 // Creates a ProxyConfigService that delivers the system preferences 24 // (or the respective ChromeOS equivalent). 25 static net::ProxyConfigService* CreateProxyConfigService( 26 PrefProxyConfigTracker* proxy_config_tracker); 27 28 // Create a proxy service according to the options on command line. 29 static net::ProxyService* CreateProxyService( 30 net::NetLog* net_log, 31 net::URLRequestContext* context, 32 net::ProxyConfigService* proxy_config_service, 33 const CommandLine& command_line); 34 35 private: 36 DISALLOW_IMPLICIT_CONSTRUCTORS(ProxyServiceFactory); 37}; 38 39#endif // CHROME_BROWSER_NET_PROXY_SERVICE_FACTORY_H_ 40