Improvements in --debug-print switch implementation.
[chromium-blink-merge.git] / net / proxy / dhcp_proxy_script_fetcher_factory.cc
blob01ede05b0934b78db1968915e4233b796898a462
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.
5 #include "net/proxy/dhcp_proxy_script_fetcher_factory.h"
7 #include "net/base/net_errors.h"
8 #include "net/proxy/dhcp_proxy_script_fetcher.h"
10 #if defined(OS_WIN)
11 #include "net/proxy/dhcp_proxy_script_fetcher_win.h"
12 #endif
14 namespace net {
16 DhcpProxyScriptFetcherFactory::DhcpProxyScriptFetcherFactory()
17 : feature_enabled_(false) {
18 set_enabled(true);
21 DhcpProxyScriptFetcher* 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;
36 void DhcpProxyScriptFetcherFactory::set_enabled(bool enabled) {
37 if (IsSupported()) {
38 feature_enabled_ = enabled;
42 bool DhcpProxyScriptFetcherFactory::enabled() const {
43 return feature_enabled_;
46 // static
47 bool DhcpProxyScriptFetcherFactory::IsSupported() {
48 #if defined(OS_WIN)
49 return true;
50 #else
51 return false;
52 #endif
55 } // namespace net