Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(245)

Side by Side Diff: chrome/browser/chromeos/proxy_cros_settings_provider.h

Issue 8467012: Refactor proxy handling for ChromeOS to not go through the CrosSettings interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Centralized the proxy change notification. Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 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_PROXY_CROS_SETTINGS_PROVIDER_H_
6 #define CHROME_BROWSER_CHROMEOS_PROXY_CROS_SETTINGS_PROVIDER_H_
7 #pragma once
8
9 #include "base/memory/singleton.h"
10 #include "base/values.h"
11 #include "chrome/browser/chromeos/cros_settings_provider.h"
12 #include "chrome/browser/chromeos/proxy_config_service_impl.h"
13
14 class Profile;
15
16 namespace chromeos {
17
18 class ProxyCrosSettingsProvider : public CrosSettingsProvider {
19 public:
20 explicit ProxyCrosSettingsProvider(Profile* profile);
21 // CrosSettingsProvider implementation.
22 virtual bool Get(const std::string& path, Value** out_value) const OVERRIDE;
23 virtual bool HandlesSetting(const std::string& path) const OVERRIDE;
24
25 // Set the current network whose proxy settings will be displayed and possibly
26 // edited on.
27 void SetCurrentNetwork(const std::string& network);
28
29 // Make the active network the current one whose proxy settings will be
30 // displayed and possibly edited on.
31 void MakeActiveNetworkCurrent();
32
33 private:
34 // CrosSettingsProvider implementation.
35 virtual void DoSet(const std::string& path, Value* value) OVERRIDE;
36
37 chromeos::ProxyConfigServiceImpl* GetConfigService() const;
38
39 net::ProxyServer CreateProxyServerFromHost(
40 const std::string& host,
41 const ProxyConfigServiceImpl::ProxyConfig::ManualProxy& proxy,
42 net::ProxyServer::Scheme scheme) const;
43
44 net::ProxyServer CreateProxyServerFromPort(
45 uint16 port,
46 const ProxyConfigServiceImpl::ProxyConfig::ManualProxy& proxy,
47 net::ProxyServer::Scheme scheme) const;
48
49 Value* CreateServerHostValue(
50 const ProxyConfigServiceImpl::ProxyConfig::ManualProxy& proxy) const;
51
52 Value* CreateServerPortValue(
53 const ProxyConfigServiceImpl::ProxyConfig::ManualProxy& proxy) const;
54
55 Profile* profile_; // Weak ptr.
56
57 DISALLOW_COPY_AND_ASSIGN(ProxyCrosSettingsProvider);
58 };
59
60 } // namespace chromeos
61
62 #endif // CHROME_BROWSER_CHROMEOS_PROXY_CROS_SETTINGS_PROVIDER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698