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 #include "net/proxy/dhcp_proxy_script_fetcher_factory.h" 6 7 #include "net/base/net_errors.h" 8 #include "net/proxy/dhcp_proxy_script_fetcher.h" 9 10 #if defined(OS_WIN) 11 #include "net/proxy/dhcp_proxy_script_fetcher_win.h" 12 #endif 13 14 namespace net { 15 DhcpProxyScriptFetcherFactory()16DhcpProxyScriptFetcherFactory::DhcpProxyScriptFetcherFactory() 17 : feature_enabled_(false) { 18 set_enabled(true); 19 } 20 Create(URLRequestContext * context)21DhcpProxyScriptFetcher* DhcpProxyScriptFetcherFactory::Create( 22 URLRequestContext* context) { 23 if (!feature_enabled_) { 24 return new DoNothingDhcpProxyScriptFetcher(); 25 } else { 26 DCHECK(IsSupported()); 27 DhcpProxyScriptFetcher* ret = NULL; 28 #if defined(OS_WIN) 29 ret = new DhcpProxyScriptFetcherWin(context); 30 #endif 31 DCHECK(ret); 32 return ret; 33 } 34 } 35 set_enabled(bool enabled)36void DhcpProxyScriptFetcherFactory::set_enabled(bool enabled) { 37 if (IsSupported()) { 38 feature_enabled_ = enabled; 39 } 40 } 41 enabled() const42bool DhcpProxyScriptFetcherFactory::enabled() const { 43 return feature_enabled_; 44 } 45 46 // static IsSupported()47bool DhcpProxyScriptFetcherFactory::IsSupported() { 48 #if defined(OS_WIN) 49 return true; 50 #else 51 return false; 52 #endif 53 } 54 55 } // namespace net 56