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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: chrome/utility/wifi/wifi_service.h
diff --git a/chrome/utility/wifi/wifi_service.h b/chrome/utility/wifi/wifi_service.h
new file mode 100644
index 0000000000000000000000000000000000000000..1fdfdcba384f65bda5fb541a5ff18398a46267ae
--- /dev/null
+++ b/chrome/utility/wifi/wifi_service.h
@@ -0,0 +1,151 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// 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.
+// JavaScript extension API.
+
+#ifndef CHROME_UTILITY_WIFI_WIFI_SERVICE_H_
+#define CHROME_UTILITY_WIFI_WIFI_SERVICE_H_
+
+#include <list>
+#include <string>
+
+#include "base/callback.h"
+#include "base/memory/ref_counted.h"
+#include "base/values.h"
+
+class WiFiService {
+ public:
+ enum ConnectionState {
+ kConnectionStateConnected,
+ kConnectionStateNotConnected
+ };
+
+ enum NetworkType {
+ kNetworkTypeAll,
+ kNetworkTypeNone,
+ kNetworkTypeEthernet,
+ kNetworkTypeWiFi,
+ kNetworkTypeVPN,
+ kNetworkTypeCellular
+ };
+
+ typedef int32 Frequency;
+ enum FrequencyEnum {
+ kFrequencyUnknown = 0,
+ kFrequency2400 = 2400,
+ kFrequency5000 = 5000
+ };
+
+ typedef std::list<Frequency> FrequencyList;
+
+ enum Security {
+ kSecurityNone,
+ kSecurityUnknown,
+ kSecurityWPA,
+ kSecurityWPA_PSK,
+ kSecurityWEP_PSK
+ };
+
+ struct NetworkProperties {
+ NetworkProperties();
+ ~NetworkProperties();
+
+ ConnectionState connection_state;
+ std::string guid;
+ std::string name;
+ std::string ssid;
+ std::string bssid;
+ NetworkType type;
+ Frequency frequency;
+ Security security;
+ // WiFi Signal Strength. 0..100
+ int32 signal_strength;
+ bool auto_connect;
+ FrequencyList frequency_list;
+
+ std::string json_extra; // Extra JSON properties for unit tests
+
+ scoped_ptr<base::DictionaryValue> ToValue(bool network_list) const;
+ bool UpdateFromValue(const base::DictionaryValue& value);
+ static std::string MacAddressAsString(const uint8 mac_as_int[6]);
+ static bool OrderByType(const NetworkProperties& l,
+ const NetworkProperties& r);
+ };
+
+ typedef std::list<NetworkProperties> NetworkList;
+ typedef std::list<std::string> NetworkGuidList;
+
+ // An error callback used by both the configuration handler and the state
+ // handler to receive error results from the API.
+ typedef base::Callback<void(const std::string& error_name,
+ scoped_ptr<base::DictionaryValue> error_data)>
+ ErrorCallback;
+
+ typedef base::Callback<void(const std::string& network_guid,
+ const base::DictionaryValue& dictionary)>
+ DictionaryResultCallback;
+
+ typedef base::Callback<void(const std::string& network_guid,
+ const NetworkProperties& properties)>
+ NetworkPropertiesCallback;
+
+ typedef base::Callback<void(const NetworkList& network_list)>
+ NetworkListCallback;
+
+ typedef base::Callback<void(const std::string& service_path)>
+ StringResultCallback;
+
+ typedef base::Callback<void(const NetworkGuidList& network_guid_list)>
+ NetworkGuidListCallback;
+
+ virtual ~WiFiService() {}
+
+ virtual void GetProperties(const std::string& network_guid,
+ const NetworkPropertiesCallback& callback,
+ const ErrorCallback& error_callback) = 0;
+
+ virtual void GetState(const std::string& network_guid,
+ const NetworkPropertiesCallback& callback,
+ const ErrorCallback& error_callback) = 0;
+
+ virtual void GetManagedProperties(const std::string& network_guid,
+ const DictionaryResultCallback& callback,
+ const ErrorCallback& error_callback) = 0;
+
+ virtual void SetProperties(const std::string& network_guid,
+ const base::DictionaryValue& properties,
+ const StringResultCallback& callback,
+ const ErrorCallback& error_callback) = 0;
+
+ virtual void GetVisibleNetworks(const NetworkListCallback& callback,
+ const ErrorCallback& error_callback) = 0;
+
+ virtual void RequestNetworkScan() = 0;
+
+ virtual void StartConnect(const std::string& network_guid,
+ const StringResultCallback& callback,
+ const ErrorCallback& error_callback) = 0;
+
+ virtual void StartDisconnect(const std::string& network_guid,
+ const StringResultCallback& callback,
+ const ErrorCallback& error_callback) = 0;
+
+ virtual void SetNetworksChangedObserver(
+ const NetworkGuidListCallback& observer) = 0;
+
+ virtual void SetNetworkListChangedObserver(
+ const NetworkGuidListCallback& observer) = 0;
+
+ static WiFiService* CreateService();
+ static WiFiService* CreateServiceMock();
+
+ protected:
+ WiFiService() {}
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(WiFiService);
+};
+
+#endif // CHROME_UTILITY_WIFI_WIFI_SERVICE_H_

Powered by Google App Engine
This is Rietveld 408576698