• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2010 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_PREFS_PROXY_PREFS_H_
6 #define CHROME_BROWSER_PREFS_PROXY_PREFS_H_
7 #pragma once
8 
9 #include <string>
10 
11 namespace ProxyPrefs {
12 
13 // Possible types of specifying proxy settings. Do not change the order of
14 // the constants, because numeric values are exposed to users.
15 // If you add an enum constant, you should also add a string to
16 // kProxyModeNames in the .cc file.
17 enum ProxyMode {
18   // Direct connection to the network, other proxy preferences are ignored.
19   MODE_DIRECT = 0,
20 
21   // Try to retrieve a PAC script from http://wpad/wpad.dat or fall back to
22   // direct connection.
23   MODE_AUTO_DETECT = 1,
24 
25   // Try to retrieve a PAC script from kProxyPacURL or fall back to direct
26   // connection.
27   MODE_PAC_SCRIPT = 2,
28 
29   // Use the settings specified in kProxyServer and kProxyBypassList.
30   MODE_FIXED_SERVERS = 3,
31 
32   // The system's proxy settings are used, other proxy preferences are
33   // ignored.
34   MODE_SYSTEM = 4,
35 
36   kModeCount
37 };
38 
39 // Constants for string values used to specify the proxy mode through externally
40 // visible APIs, e.g. through policy or the proxy extension API.
41 extern const char kDirectProxyModeName[];
42 extern const char kAutoDetectProxyModeName[];
43 extern const char kPacScriptProxyModeName[];
44 extern const char kFixedServersProxyModeName[];
45 extern const char kSystemProxyModeName[];
46 
47 bool IntToProxyMode(int in_value, ProxyMode* out_value);
48 bool StringToProxyMode(const std::string& in_value,
49                        ProxyMode* out_value);
50 // Ownership of the return value is NOT passed to the caller.
51 const char* ProxyModeToString(ProxyMode mode);
52 
53 }  // namespace ProxyPrefs
54 
55 #endif  // CHROME_BROWSER_PREFS_PROXY_PREFS_H_
56