| // 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 COMPONENTS_PROXY_CONFIG_PROXY_PREFS_H_ |
| #define COMPONENTS_PROXY_CONFIG_PROXY_PREFS_H_ |
| |
| #include <string> |
| |
| #include "components/proxy_config/proxy_config_export.h" |
| |
| namespace ProxyPrefs { |
| |
| // Possible types of specifying proxy settings. Do not change the order of |
| // the constants, because numeric values are exposed to users. |
| // If you add an enum constant, you should also add a string to |
| // kProxyModeNames in the .cc file. |
| enum ProxyMode { |
| // Direct connection to the network, other proxy preferences are ignored. |
| MODE_DIRECT = 0, |
| |
| // Try to retrieve a PAC script from http://wpad/wpad.dat or fall back to |
| // direct connection. |
| MODE_AUTO_DETECT = 1, |
| |
| // Try to retrieve a PAC script from kProxyPacURL or fall back to direct |
| // connection. |
| MODE_PAC_SCRIPT = 2, |
| |
| // Use the settings specified in kProxyServer and kProxyBypassList. |
| MODE_FIXED_SERVERS = 3, |
| |
| // The system's proxy settings are used, other proxy preferences are |
| // ignored. |
| MODE_SYSTEM = 4, |
| |
| kModeCount |
| }; |
| |
| // State of proxy configuration. |
| enum ConfigState { |
| // Configuration is from policy. |
| CONFIG_POLICY, |
| // Configuration is from extension. |
| CONFIG_EXTENSION, |
| // Configuration is not from policy or extension but still precedes others. |
| CONFIG_OTHER_PRECEDE, |
| // Configuration is from system. |
| CONFIG_SYSTEM, |
| // Configuration is recommended i.e there's a fallback configuration. |
| CONFIG_FALLBACK, |
| // Configuration is known to be not set. |
| CONFIG_UNSET, |
| }; |
| |
| // Constants for string values used to specify the proxy mode through externally |
| // visible APIs, e.g. through policy or the proxy extension API. |
| PROXY_CONFIG_EXPORT extern const char kDirectProxyModeName[]; |
| PROXY_CONFIG_EXPORT extern const char kAutoDetectProxyModeName[]; |
| PROXY_CONFIG_EXPORT extern const char kPacScriptProxyModeName[]; |
| PROXY_CONFIG_EXPORT extern const char kFixedServersProxyModeName[]; |
| PROXY_CONFIG_EXPORT extern const char kSystemProxyModeName[]; |
| |
| PROXY_CONFIG_EXPORT bool IntToProxyMode(int in_value, ProxyMode* out_value); |
| PROXY_CONFIG_EXPORT bool StringToProxyMode(const std::string& in_value, |
| ProxyMode* out_value); |
| // Ownership of the return value is NOT passed to the caller. |
| PROXY_CONFIG_EXPORT const char* ProxyModeToString(ProxyMode mode); |
| PROXY_CONFIG_EXPORT std::string ConfigStateToDebugString(ConfigState state); |
| |
| } // namespace ProxyPrefs |
| |
| #endif // COMPONENTS_PROXY_CONFIG_PROXY_PREFS_H_ |