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 CHROMEOS_NETWORK_PROXY_PROXY_CONFIG_SERVICE_IMPL_H_ | 5 #ifndef CHROMEOS_NETWORK_PROXY_PROXY_CONFIG_SERVICE_IMPL_H_ |
6 #define CHROMEOS_NETWORK_PROXY_PROXY_CONFIG_SERVICE_IMPL_H_ | 6 #define CHROMEOS_NETWORK_PROXY_PROXY_CONFIG_SERVICE_IMPL_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 private: | 77 private: |
78 // Called when any proxy preference changes. | 78 // Called when any proxy preference changes. |
79 void OnProxyPrefChanged(); | 79 void OnProxyPrefChanged(); |
80 | 80 |
81 // Determines effective proxy config based on prefs from config tracker, the | 81 // Determines effective proxy config based on prefs from config tracker, the |
82 // current default network and if user is using shared proxies. The effective | 82 // current default network and if user is using shared proxies. The effective |
83 // config is stored in |active_config_| and activated on network stack, and | 83 // config is stored in |active_config_| and activated on network stack, and |
84 // hence, picked up by observers. | 84 // hence, picked up by observers. |
85 void DetermineEffectiveConfigFromDefaultNetwork(); | 85 void DetermineEffectiveConfigFromDefaultNetwork(); |
86 | 86 |
87 // State of |active_config_|. |active_config_| is only valid if | |
88 // |active_config_state_| is not ProxyPrefs::CONFIG_UNSET. | |
89 ProxyPrefs::ConfigState active_config_state_; | |
90 | |
91 // Active proxy configuration, which could be from prefs or network. | |
92 net::ProxyConfig active_config_; | |
93 | |
94 // Track changes in profile preferences: UseSharedProxies and | 87 // Track changes in profile preferences: UseSharedProxies and |
95 // OpenNetworkConfiguration. | 88 // OpenNetworkConfiguration. |
96 PrefChangeRegistrar profile_pref_registrar_; | 89 PrefChangeRegistrar profile_pref_registrar_; |
97 | 90 |
98 // Track changes in local state preferences: DeviceOpenNetworkConfiguration. | 91 // Track changes in local state preferences: DeviceOpenNetworkConfiguration. |
99 PrefChangeRegistrar local_state_pref_registrar_; | 92 PrefChangeRegistrar local_state_pref_registrar_; |
100 | 93 |
101 // Not owned. NULL if tracking only local state prefs (e.g. in the system | 94 // Not owned. NULL if tracking only local state prefs (e.g. in the system |
102 // request context or sign-in screen). | 95 // request context or sign-in screen). |
103 PrefService* profile_prefs_; | 96 PrefService* profile_prefs_; |
104 | 97 |
105 // Not owned. | 98 // Not owned. |
106 PrefService* local_state_prefs_; | 99 PrefService* local_state_prefs_; |
107 | 100 |
108 base::WeakPtrFactory<ProxyConfigServiceImpl> pointer_factory_; | 101 base::WeakPtrFactory<ProxyConfigServiceImpl> pointer_factory_; |
109 | 102 |
110 DISALLOW_COPY_AND_ASSIGN(ProxyConfigServiceImpl); | 103 DISALLOW_COPY_AND_ASSIGN(ProxyConfigServiceImpl); |
111 }; | 104 }; |
112 | 105 |
113 } // namespace chromeos | 106 } // namespace chromeos |
114 | 107 |
115 #endif // CHROMEOS_NETWORK_PROXY_PROXY_CONFIG_SERVICE_IMPL_H_ | 108 #endif // CHROMEOS_NETWORK_PROXY_PROXY_CONFIG_SERVICE_IMPL_H_ |
OLD | NEW |