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

Side by Side Diff: chrome/utility/wifi/wifi_service.h

Issue 22295002: Base infrastructure for Networking Private API on Windows and Mac. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Reset DHCP after WiFi Connect to speed up the connection after factory reset. Created 7 years, 3 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 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 // This file defiles the WiFiService interface used by chrome.networkingPrivate
Jorge Lucangeli Obes 2013/09/11 17:30:02 defines.
mef 2013/09/11 20:55:08 Done.
6 // JavaScript extension API.
7
8 #ifndef CHROME_UTILITY_WIFI_WIFI_SERVICE_H_
9 #define CHROME_UTILITY_WIFI_WIFI_SERVICE_H_
10
11 #include <list>
12 #include <string>
13
14 #include "base/callback.h"
15 #include "base/memory/ref_counted.h"
16 #include "base/values.h"
17
18 class WiFiService {
19 public:
20 enum ConnectionState {
21 kConnectionStateConnected,
22 kConnectionStateNotConnected
23 };
24
25 enum NetworkType {
26 kNetworkTypeAll,
27 kNetworkTypeNone,
28 kNetworkTypeEthernet,
29 kNetworkTypeWiFi,
30 kNetworkTypeVPN,
31 kNetworkTypeCellular
32 };
33
34 typedef int32 Frequency;
35 enum FrequencyEnum {
36 kFrequencyUnknown = 0,
37 kFrequency2400 = 2400,
38 kFrequency5000 = 5000
39 };
40
41 typedef std::list<Frequency> FrequencyList;
42
43 enum Security {
44 kSecurityNone,
45 kSecurityUnknown,
46 kSecurityWPA,
47 kSecurityWPA_PSK,
48 kSecurityWEP_PSK
49 };
50
51 struct NetworkProperties {
52 NetworkProperties();
53 ~NetworkProperties();
54
55 ConnectionState connection_state;
56 std::string guid;
57 std::string name;
58 std::string ssid;
59 std::string bssid;
60 NetworkType type;
61 Frequency frequency;
62 Security security;
63 // WiFi Signal Strength. 0..100
64 int32 signal_strength;
65 bool auto_connect;
66 FrequencyList frequency_list;
67
68 std::string json_extra; // Extra JSON properties for unit tests
69
70 scoped_ptr<base::DictionaryValue> ToValue(bool network_list) const;
71 bool UpdateFromValue(const base::DictionaryValue& value);
72 static std::string MacAddressAsString(const uint8 mac_as_int[6]);
73 static bool OrderByType(const NetworkProperties& l,
74 const NetworkProperties& r);
75 };
76
77 typedef std::list<NetworkProperties> NetworkList;
78 typedef std::list<std::string> NetworkGuidList;
79
80 // An error callback used by both the configuration handler and the state
81 // handler to receive error results from the API.
82 typedef base::Callback<void(const std::string& error_name,
83 scoped_ptr<base::DictionaryValue> error_data)>
84 ErrorCallback;
85
86 typedef base::Callback<void(const std::string& network_guid,
87 const base::DictionaryValue& dictionary)>
88 DictionaryResultCallback;
89
90 typedef base::Callback<void(const std::string& network_guid,
91 const NetworkProperties& properties)>
92 NetworkPropertiesCallback;
93
94 typedef base::Callback<void(const NetworkList& network_list)>
95 NetworkListCallback;
96
97 typedef base::Callback<void(const std::string& service_path)>
98 StringResultCallback;
99
100 typedef base::Callback<void(const NetworkGuidList& network_guid_list)>
101 NetworkGuidListCallback;
102
103 virtual ~WiFiService() {}
104
105 virtual void GetProperties(const std::string& network_guid,
106 const NetworkPropertiesCallback& callback,
107 const ErrorCallback& error_callback) = 0;
108
109 virtual void GetState(const std::string& network_guid,
110 const NetworkPropertiesCallback& callback,
111 const ErrorCallback& error_callback) = 0;
112
113 virtual void GetManagedProperties(const std::string& network_guid,
114 const DictionaryResultCallback& callback,
115 const ErrorCallback& error_callback) = 0;
116
117 virtual void SetProperties(const std::string& network_guid,
118 const base::DictionaryValue& properties,
119 const StringResultCallback& callback,
120 const ErrorCallback& error_callback) = 0;
121
122 virtual void GetVisibleNetworks(const NetworkListCallback& callback,
123 const ErrorCallback& error_callback) = 0;
124
125 virtual void RequestNetworkScan() = 0;
126
127 virtual void StartConnect(const std::string& network_guid,
128 const StringResultCallback& callback,
129 const ErrorCallback& error_callback) = 0;
130
131 virtual void StartDisconnect(const std::string& network_guid,
132 const StringResultCallback& callback,
133 const ErrorCallback& error_callback) = 0;
134
135 virtual void SetNetworksChangedObserver(
136 const NetworkGuidListCallback& observer) = 0;
137
138 virtual void SetNetworkListChangedObserver(
139 const NetworkGuidListCallback& observer) = 0;
140
141 static WiFiService* CreateService();
142 static WiFiService* CreateServiceMock();
143
144 protected:
145 WiFiService() {}
146
147 private:
148 DISALLOW_COPY_AND_ASSIGN(WiFiService);
149 };
150
151 #endif // CHROME_UTILITY_WIFI_WIFI_SERVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698