Home | History | Annotate | Download | only in prefs
      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