Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / ui / webui / options / chromeos / internet_options_handler.h
blobd3c7da234bd97b3a0e933f7f72aa53068966670a
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
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_INTERNET_OPTIONS_HANDLER_H_
6 #define CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_INTERNET_OPTIONS_HANDLER_H_
8 #include <string>
10 #include "base/compiler_specific.h"
11 #include "base/memory/weak_ptr.h"
12 #include "chrome/browser/ui/webui/options/options_ui.h"
13 #include "ui/gfx/native_widget_types.h"
15 class Browser;
16 class PrefService;
18 namespace gfx {
19 class ImageSkia;
22 namespace views {
23 class WidgetDelegate;
26 namespace chromeos {
27 namespace options {
29 // ChromeOS internet options page UI handler.
30 class InternetOptionsHandler : public ::options::OptionsPageUIHandler {
31 public:
32 InternetOptionsHandler();
33 ~InternetOptionsHandler() override;
35 private:
36 // OptionsPageUIHandler
37 void GetLocalizedValues(base::DictionaryValue* localized_strings) override;
39 // WebUIMessageHandler (from OptionsPageUIHandler)
40 void RegisterMessages() override;
42 // Callbacks to set network state properties.
43 void ShowMorePlanInfoCallback(const base::ListValue* args);
44 void SimOperationCallback(const base::ListValue* args);
46 // Gets the native window for hosting dialogs, etc.
47 gfx::NativeWindow GetNativeWindow() const;
49 // Gets the user PrefService associated with the WebUI.
50 const PrefService* GetPrefs() const;
52 // Additional callbacks for managing networks.
53 void AddVPNConnection(const base::ListValue* args);
54 void AddNonVPNConnection(const base::ListValue* args);
55 void ConfigureNetwork(const base::ListValue* args);
57 // Weak pointer factory so we can start connections at a later time
58 // without worrying that they will actually try to happen after the lifetime
59 // of this object.
60 base::WeakPtrFactory<InternetOptionsHandler> weak_factory_;
62 DISALLOW_COPY_AND_ASSIGN(InternetOptionsHandler);
65 } // namespace options
66 } // namespace chromeos
68 #endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_INTERNET_OPTIONS_HANDLER_H_