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

Side by Side Diff: chrome/browser/extensions/api/networking_private/networking_private_delegate.h

Issue 870163002: Move networking_private to src/extensions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix GN 2 Created 5 years, 10 months 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
OLDNEW
(Empty)
1 // Copyright 2014 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_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_DELE GATE_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_DELE GATE_H_
7
8 #include <string>
9
10 #include "base/callback.h"
11 #include "base/memory/scoped_ptr.h"
12 #include "base/values.h"
13 #include "components/keyed_service/core/keyed_service.h"
14
15 namespace content {
16
17 class BrowserContext;
18
19 } // content
20
21 namespace extensions {
22
23 class NetworkingPrivateDelegateObserver;
24
25 namespace api {
26 namespace networking_private {
27
28 struct VerificationProperties;
29
30 } // networking_private
31 } // api
32
33 // Base class for platform dependent networkingPrivate API implementations.
34 // All inputs and results for this class use ONC values. See
35 // networking_private.json for descriptions of the expected inputs and results.
36 class NetworkingPrivateDelegate : public KeyedService {
37 public:
38 typedef base::Callback<void(scoped_ptr<base::DictionaryValue>)>
39 DictionaryCallback;
40 typedef base::Callback<void()> VoidCallback;
41 typedef base::Callback<void(bool)> BoolCallback;
42 typedef base::Callback<void(const std::string&)> StringCallback;
43 typedef base::Callback<void(scoped_ptr<base::ListValue>)> NetworkListCallback;
44 typedef base::Callback<void(const std::string&)> FailureCallback;
45 typedef api::networking_private::VerificationProperties
46 VerificationProperties;
47
48 // The Verify* methods will be forwarded to a delegate implementation if
49 // provided, otherwise they will fail. A separate delegate it used so that the
50 // current Verify* implementations are not exposed outside of src/chrome.
51 class VerifyDelegate {
52 public:
53 typedef NetworkingPrivateDelegate::VerificationProperties
54 VerificationProperties;
55 typedef NetworkingPrivateDelegate::BoolCallback BoolCallback;
56 typedef NetworkingPrivateDelegate::StringCallback StringCallback;
57 typedef NetworkingPrivateDelegate::FailureCallback FailureCallback;
58
59 VerifyDelegate();
60 virtual ~VerifyDelegate();
61
62 virtual void VerifyDestination(
63 const VerificationProperties& verification_properties,
64 const BoolCallback& success_callback,
65 const FailureCallback& failure_callback) = 0;
66 virtual void VerifyAndEncryptCredentials(
67 const std::string& guid,
68 const VerificationProperties& verification_properties,
69 const StringCallback& success_callback,
70 const FailureCallback& failure_callback) = 0;
71 virtual void VerifyAndEncryptData(
72 const VerificationProperties& verification_properties,
73 const std::string& data,
74 const StringCallback& success_callback,
75 const FailureCallback& failure_callback) = 0;
76
77 private:
78 DISALLOW_COPY_AND_ASSIGN(VerifyDelegate);
79 };
80
81 // If |verify_delegate| is not NULL, the Verify* methods will be forwarded
82 // to the delegate. Otherwise they will fail with a NotSupported error.
83 explicit NetworkingPrivateDelegate(
84 scoped_ptr<VerifyDelegate> verify_delegate);
85 ~NetworkingPrivateDelegate() override;
86
87 // Asynchronous methods
88 virtual void GetProperties(const std::string& guid,
89 const DictionaryCallback& success_callback,
90 const FailureCallback& failure_callback) = 0;
91 virtual void GetManagedProperties(
92 const std::string& guid,
93 const DictionaryCallback& success_callback,
94 const FailureCallback& failure_callback) = 0;
95 virtual void GetState(const std::string& guid,
96 const DictionaryCallback& success_callback,
97 const FailureCallback& failure_callback) = 0;
98 virtual void SetProperties(const std::string& guid,
99 scoped_ptr<base::DictionaryValue> properties,
100 const VoidCallback& success_callback,
101 const FailureCallback& failure_callback) = 0;
102 virtual void CreateNetwork(bool shared,
103 scoped_ptr<base::DictionaryValue> properties,
104 const StringCallback& success_callback,
105 const FailureCallback& failure_callback) = 0;
106 virtual void GetNetworks(const std::string& network_type,
107 bool configured_only,
108 bool visible_only,
109 int limit,
110 const NetworkListCallback& success_callback,
111 const FailureCallback& failure_callback) = 0;
112 virtual void StartConnect(const std::string& guid,
113 const VoidCallback& success_callback,
114 const FailureCallback& failure_callback) = 0;
115 virtual void StartDisconnect(const std::string& guid,
116 const VoidCallback& success_callback,
117 const FailureCallback& failure_callback) = 0;
118 virtual void SetWifiTDLSEnabledState(
119 const std::string& ip_or_mac_address,
120 bool enabled,
121 const StringCallback& success_callback,
122 const FailureCallback& failure_callback) = 0;
123 virtual void GetWifiTDLSStatus(const std::string& ip_or_mac_address,
124 const StringCallback& success_callback,
125 const FailureCallback& failure_callback) = 0;
126 virtual void GetCaptivePortalStatus(
127 const std::string& guid,
128 const StringCallback& success_callback,
129 const FailureCallback& failure_callback) = 0;
130
131 // Synchronous methods
132
133 // Returns a list of ONC type strings.
134 virtual scoped_ptr<base::ListValue> GetEnabledNetworkTypes() = 0;
135
136 // Returns true if the ONC network type |type| is enabled.
137 virtual bool EnableNetworkType(const std::string& type) = 0;
138
139 // Returns true if the ONC network type |type| is disabled.
140 virtual bool DisableNetworkType(const std::string& type) = 0;
141
142 // Returns true if a scan was requested. It may take many seconds for a scan
143 // to complete. The scan may or may not trigger API events when complete.
144 virtual bool RequestScan() = 0;
145
146 // Optional methods for adding a NetworkingPrivateDelegateObserver for
147 // implementations that require it (non-chromeos).
148 virtual void AddObserver(NetworkingPrivateDelegateObserver* observer);
149 virtual void RemoveObserver(NetworkingPrivateDelegateObserver* observer);
150
151 // Verify* methods are forwarded to |verify_delegate_| if not NULL.
152 void VerifyDestination(const VerificationProperties& verification_properties,
153 const BoolCallback& success_callback,
154 const FailureCallback& failure_callback);
155 void VerifyAndEncryptCredentials(
156 const std::string& guid,
157 const VerificationProperties& verification_properties,
158 const StringCallback& success_callback,
159 const FailureCallback& failure_callback);
160 void VerifyAndEncryptData(
161 const VerificationProperties& verification_properties,
162 const std::string& data,
163 const StringCallback& success_callback,
164 const FailureCallback& failure_callback);
165
166 private:
167 // Interface for Verify* methods. May be NULL.
168 scoped_ptr<VerifyDelegate> verify_delegate_;
169
170 DISALLOW_COPY_AND_ASSIGN(NetworkingPrivateDelegate);
171 };
172
173 } // namespace extensions
174
175 #endif // CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_D ELEGATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698