| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef NET_PROXY_PROXY_CONFIG_H_ | 5 #ifndef NET_PROXY_PROXY_CONFIG_H_ |
| 6 #define NET_PROXY_PROXY_CONFIG_H_ | 6 #define NET_PROXY_PROXY_CONFIG_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "net/base/net_export.h" | 10 #include "net/base/net_export.h" |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 44 TYPE_NO_RULES, | 44 TYPE_NO_RULES, |
| 45 TYPE_SINGLE_PROXY, | 45 TYPE_SINGLE_PROXY, |
| 46 TYPE_PROXY_PER_SCHEME, | 46 TYPE_PROXY_PER_SCHEME, |
| 47 }; | 47 }; |
| 48 | 48 |
| 49 // Note that the default of TYPE_NO_RULES results in direct connections | 49 // Note that the default of TYPE_NO_RULES results in direct connections |
| 50 // being made when using this ProxyConfig. | 50 // being made when using this ProxyConfig. |
| 51 ProxyRules(); | 51 ProxyRules(); |
| 52 ~ProxyRules(); | 52 ~ProxyRules(); |
| 53 | 53 |
| 54 bool empty() const { | 54 bool empty() const { return type == TYPE_NO_RULES; } |
| 55 return type == TYPE_NO_RULES; | |
| 56 } | |
| 57 | 55 |
| 58 // Sets |result| with the proxies to use for |url| based on the current | 56 // Sets |result| with the proxies to use for |url| based on the current |
| 59 // rules. | 57 // rules. |
| 60 void Apply(const GURL& url, ProxyInfo* result) const; | 58 void Apply(const GURL& url, ProxyInfo* result) const; |
| 61 | 59 |
| 62 // Parses the rules from a string, indicating which proxies to use. | 60 // Parses the rules from a string, indicating which proxies to use. |
| 63 // | 61 // |
| 64 // proxy-uri = [<proxy-scheme>"://"]<proxy-host>[":"<proxy-port>] | 62 // proxy-uri = [<proxy-scheme>"://"]<proxy-host>[":"<proxy-port>] |
| 65 // | 63 // |
| 66 // proxy-uri-list = <proxy-uri>[","<proxy-uri-list>] | 64 // proxy-uri-list = <proxy-uri>[","<proxy-uri-list>] |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 165 // Returns true if this config contains any "automatic" settings. See the | 163 // Returns true if this config contains any "automatic" settings. See the |
| 166 // class description for what that means. | 164 // class description for what that means. |
| 167 bool HasAutomaticSettings() const; | 165 bool HasAutomaticSettings() const; |
| 168 | 166 |
| 169 void ClearAutomaticSettings(); | 167 void ClearAutomaticSettings(); |
| 170 | 168 |
| 171 // Creates a Value dump of this configuration. The caller is responsible for | 169 // Creates a Value dump of this configuration. The caller is responsible for |
| 172 // deleting the returned value. | 170 // deleting the returned value. |
| 173 base::DictionaryValue* ToValue() const; | 171 base::DictionaryValue* ToValue() const; |
| 174 | 172 |
| 175 ProxyRules& proxy_rules() { | 173 ProxyRules& proxy_rules() { return proxy_rules_; } |
| 176 return proxy_rules_; | |
| 177 } | |
| 178 | 174 |
| 179 const ProxyRules& proxy_rules() const { | 175 const ProxyRules& proxy_rules() const { return proxy_rules_; } |
| 180 return proxy_rules_; | |
| 181 } | |
| 182 | 176 |
| 183 void set_pac_url(const GURL& url) { | 177 void set_pac_url(const GURL& url) { pac_url_ = url; } |
| 184 pac_url_ = url; | |
| 185 } | |
| 186 | 178 |
| 187 const GURL& pac_url() const { | 179 const GURL& pac_url() const { return pac_url_; } |
| 188 return pac_url_; | |
| 189 } | |
| 190 | 180 |
| 191 void set_pac_mandatory(bool enable_pac_mandatory) { | 181 void set_pac_mandatory(bool enable_pac_mandatory) { |
| 192 pac_mandatory_ = enable_pac_mandatory; | 182 pac_mandatory_ = enable_pac_mandatory; |
| 193 } | 183 } |
| 194 | 184 |
| 195 bool pac_mandatory() const { | 185 bool pac_mandatory() const { return pac_mandatory_; } |
| 196 return pac_mandatory_; | |
| 197 } | |
| 198 | 186 |
| 199 bool has_pac_url() const { | 187 bool has_pac_url() const { return pac_url_.is_valid(); } |
| 200 return pac_url_.is_valid(); | |
| 201 } | |
| 202 | 188 |
| 203 void set_auto_detect(bool enable_auto_detect) { | 189 void set_auto_detect(bool enable_auto_detect) { |
| 204 auto_detect_ = enable_auto_detect; | 190 auto_detect_ = enable_auto_detect; |
| 205 } | 191 } |
| 206 | 192 |
| 207 bool auto_detect() const { | 193 bool auto_detect() const { return auto_detect_; } |
| 208 return auto_detect_; | |
| 209 } | |
| 210 | 194 |
| 211 void set_source(ProxyConfigSource source) { | 195 void set_source(ProxyConfigSource source) { source_ = source; } |
| 212 source_ = source; | |
| 213 } | |
| 214 | 196 |
| 215 ProxyConfigSource source() const { | 197 ProxyConfigSource source() const { return source_; } |
| 216 return source_; | |
| 217 } | |
| 218 | 198 |
| 219 // Helpers to construct some common proxy configurations. | 199 // Helpers to construct some common proxy configurations. |
| 220 | 200 |
| 221 static ProxyConfig CreateDirect() { | 201 static ProxyConfig CreateDirect() { return ProxyConfig(); } |
| 222 return ProxyConfig(); | |
| 223 } | |
| 224 | 202 |
| 225 static ProxyConfig CreateAutoDetect() { | 203 static ProxyConfig CreateAutoDetect() { |
| 226 ProxyConfig config; | 204 ProxyConfig config; |
| 227 config.set_auto_detect(true); | 205 config.set_auto_detect(true); |
| 228 return config; | 206 return config; |
| 229 } | 207 } |
| 230 | 208 |
| 231 static ProxyConfig CreateFromCustomPacURL(const GURL& pac_url) { | 209 static ProxyConfig CreateFromCustomPacURL(const GURL& pac_url) { |
| 232 ProxyConfig config; | 210 ProxyConfig config; |
| 233 config.set_pac_url(pac_url); | 211 config.set_pac_url(pac_url); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 251 ProxyRules proxy_rules_; | 229 ProxyRules proxy_rules_; |
| 252 | 230 |
| 253 // Source of proxy settings. | 231 // Source of proxy settings. |
| 254 ProxyConfigSource source_; | 232 ProxyConfigSource source_; |
| 255 | 233 |
| 256 ID id_; | 234 ID id_; |
| 257 }; | 235 }; |
| 258 | 236 |
| 259 } // namespace net | 237 } // namespace net |
| 260 | 238 |
| 261 | |
| 262 | |
| 263 #endif // NET_PROXY_PROXY_CONFIG_H_ | 239 #endif // NET_PROXY_PROXY_CONFIG_H_ |
| OLD | NEW |