1 // Copyright (c) 2013 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_CHROMEOS_NET_PROXY_CONFIG_HANDLER_H_ 6 #define CHROME_BROWSER_CHROMEOS_NET_PROXY_CONFIG_HANDLER_H_ 7 8 #include "base/memory/scoped_ptr.h" 9 #include "components/onc/onc_constants.h" 10 11 class PrefRegistrySimple; 12 class PrefService; 13 class ProxyConfigDictionary; 14 15 namespace user_prefs { 16 class PrefRegistrySyncable; 17 } 18 19 namespace chromeos { 20 21 class NetworkState; 22 23 namespace proxy_config { 24 25 // Get the proxy configuration including per-network policies for network 26 // |network|. If |profile_prefs| is NULL, then only shared settings (and device 27 // policy) are respected. This is e.g. the case for the signin screen and the 28 // system request context. 29 scoped_ptr<ProxyConfigDictionary> GetProxyConfigForNetwork( 30 const PrefService* profile_prefs, 31 const PrefService* local_state_prefs, 32 const NetworkState& network, 33 onc::ONCSource* onc_source); 34 35 void SetProxyConfigForNetwork(const ProxyConfigDictionary& proxy_config, 36 const NetworkState& network); 37 38 void RegisterPrefs(PrefRegistrySimple* registry); 39 40 void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); 41 42 } // namespace proxy_config 43 44 } // namespace chromeos 45 46 #endif // CHROME_BROWSER_CHROMEOS_NET_PROXY_CONFIG_HANDLER_H_ 47