// 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. #include "net/proxy/dhcp_proxy_script_fetcher_factory.h" #include "net/base/net_errors.h" #include "net/proxy/dhcp_proxy_script_fetcher.h" #if defined(OS_WIN) #include "net/proxy/dhcp_proxy_script_fetcher_win.h" #endif namespace net { DhcpProxyScriptFetcherFactory::DhcpProxyScriptFetcherFactory() : feature_enabled_(false) { set_enabled(true); } DhcpProxyScriptFetcher* DhcpProxyScriptFetcherFactory::Create( URLRequestContext* context) { if (!feature_enabled_) { return new DoNothingDhcpProxyScriptFetcher(); } else { DCHECK(IsSupported()); DhcpProxyScriptFetcher* ret = NULL; #if defined(OS_WIN) ret = new DhcpProxyScriptFetcherWin(context); #endif DCHECK(ret); return ret; } } void DhcpProxyScriptFetcherFactory::set_enabled(bool enabled) { if (IsSupported()) { feature_enabled_ = enabled; } } bool DhcpProxyScriptFetcherFactory::enabled() const { return feature_enabled_; } // static bool DhcpProxyScriptFetcherFactory::IsSupported() { #if defined(OS_WIN) return true; #else return false; #endif } } // namespace net