| // Copyright (c) 2013 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 CHROME_BROWSER_CHROMEOS_NET_PROXY_CONFIG_HANDLER_H_ |
| #define CHROME_BROWSER_CHROMEOS_NET_PROXY_CONFIG_HANDLER_H_ |
| |
| #include "base/memory/scoped_ptr.h" |
| #include "components/onc/onc_constants.h" |
| |
| class PrefRegistrySimple; |
| class PrefService; |
| class ProxyConfigDictionary; |
| |
| namespace user_prefs { |
| class PrefRegistrySyncable; |
| } |
| |
| namespace chromeos { |
| |
| class FavoriteState; |
| |
| namespace proxy_config { |
| |
| // Get the proxy configuration including per-network policies for network |
| // |network|. If |profile_prefs| is NULL, then only shared settings (and device |
| // policy) are respected. This is e.g. the case for the signin screen and the |
| // system request context. |
| scoped_ptr<ProxyConfigDictionary> GetProxyConfigForFavoriteNetwork( |
| const PrefService* profile_prefs, |
| const PrefService* local_state_prefs, |
| const FavoriteState& network, |
| onc::ONCSource* onc_source); |
| |
| void SetProxyConfigForFavoriteNetwork(const ProxyConfigDictionary& proxy_config, |
| const FavoriteState& network); |
| |
| void RegisterPrefs(PrefRegistrySimple* registry); |
| |
| void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); |
| |
| } // namespace proxy_config |
| |
| } // namespace chromeos |
| |
| #endif // CHROME_BROWSER_CHROMEOS_NET_PROXY_CONFIG_HANDLER_H_ |