Index: chrome/browser/extensions/api/networking_private/networking_private_linux.h |
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_linux.h b/chrome/browser/extensions/api/networking_private/networking_private_linux.h |
deleted file mode 100644 |
index a9497b41ec18cc2a25a3ad6b8148c3fc160e40a2..0000000000000000000000000000000000000000 |
--- a/chrome/browser/extensions/api/networking_private/networking_private_linux.h |
+++ /dev/null |
@@ -1,263 +0,0 @@ |
-// Copyright 2014 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. |
- |
-#ifndef CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_LINUX_H_ |
-#define CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_LINUX_H_ |
- |
-#include <string> |
-#include <vector> |
- |
-#include "base/memory/linked_ptr.h" |
-#include "base/message_loop/message_loop.h" |
-#include "base/threading/thread.h" |
-#include "chrome/browser/extensions/api/networking_private/networking_private_delegate.h" |
-#include "components/keyed_service/core/keyed_service.h" |
- |
-namespace context { |
-class BrowserContext; |
-} |
- |
-namespace dbus { |
-class Bus; |
-class ObjectPath; |
-class ObjectProxy; |
-class Response; |
-}; |
- |
-namespace extensions { |
- |
-// Linux NetworkingPrivateDelegate implementation. |
-class NetworkingPrivateLinux : public NetworkingPrivateDelegate { |
- public: |
- typedef std::map<base::string16, linked_ptr<base::DictionaryValue>> |
- NetworkMap; |
- |
- typedef std::vector<std::string> GuidList; |
- |
- NetworkingPrivateLinux(content::BrowserContext* browser_context, |
- scoped_ptr<VerifyDelegate> verify_delegate); |
- |
- // NetworkingPrivateDelegate |
- void GetProperties(const std::string& guid, |
- const DictionaryCallback& success_callback, |
- const FailureCallback& failure_callback) override; |
- void GetManagedProperties(const std::string& guid, |
- const DictionaryCallback& success_callback, |
- const FailureCallback& failure_callback) override; |
- void GetState(const std::string& guid, |
- const DictionaryCallback& success_callback, |
- const FailureCallback& failure_callback) override; |
- void SetProperties(const std::string& guid, |
- scoped_ptr<base::DictionaryValue> properties, |
- const VoidCallback& success_callback, |
- const FailureCallback& failure_callback) override; |
- void CreateNetwork(bool shared, |
- scoped_ptr<base::DictionaryValue> properties, |
- const StringCallback& success_callback, |
- const FailureCallback& failure_callback) override; |
- void GetNetworks(const std::string& network_type, |
- bool configured_only, |
- bool visible_only, |
- int limit, |
- const NetworkListCallback& success_callback, |
- const FailureCallback& failure_callback) override; |
- void StartConnect(const std::string& guid, |
- const VoidCallback& success_callback, |
- const FailureCallback& failure_callback) override; |
- void StartDisconnect(const std::string& guid, |
- const VoidCallback& success_callback, |
- const FailureCallback& failure_callback) override; |
- void SetWifiTDLSEnabledState( |
- const std::string& ip_or_mac_address, |
- bool enabled, |
- const StringCallback& success_callback, |
- const FailureCallback& failure_callback) override; |
- void GetWifiTDLSStatus(const std::string& ip_or_mac_address, |
- const StringCallback& success_callback, |
- const FailureCallback& failure_callback) override; |
- void GetCaptivePortalStatus(const std::string& guid, |
- const StringCallback& success_callback, |
- const FailureCallback& failure_callback) override; |
- scoped_ptr<base::ListValue> GetEnabledNetworkTypes() override; |
- bool EnableNetworkType(const std::string& type) override; |
- bool DisableNetworkType(const std::string& type) override; |
- bool RequestScan() override; |
- void AddObserver(NetworkingPrivateDelegateObserver* observer) override; |
- void RemoveObserver(NetworkingPrivateDelegateObserver* observer) override; |
- |
- private: |
- ~NetworkingPrivateLinux() override; |
- |
- // https://developer.gnome.org/NetworkManager/unstable/spec.html#type-NM_DEVICE_TYPE |
- enum DeviceType { |
- NM_DEVICE_TYPE_UNKNOWN = 0, |
- NM_DEVICE_TYPE_ETHERNET = 1, |
- NM_DEVICE_TYPE_WIFI = 2 |
- }; |
- |
- // https://developer.gnome.org/NetworkManager/unstable/spec.html#type-NM_802_11_AP_SEC |
- enum WirelessSecurityFlags { |
- NM_802_11_AP_SEC_NONE = 0x0, |
- NM_802_11_AP_SEC_PAIR_WEP40 = 0x1, |
- NM_802_11_AP_SEC_PAIR_WEP104 = 0x2, |
- NM_802_11_AP_SEC_PAIR_TKIP = 0x4, |
- NM_802_11_AP_SEC_PAIR_CCMP = 0x8, |
- NM_802_11_AP_SEC_GROUP_WEP40 = 0x10, |
- NM_802_11_AP_SEC_GROUP_WEP104 = 0x20, |
- NM_802_11_AP_SEC_GROUP_TKIP = 0x40, |
- NM_802_11_AP_SEC_GROUP_CCMP = 0x80, |
- NM_802_11_AP_SEC_KEY_MGMT_PSK = 0x100, |
- NM_802_11_AP_SEC_KEY_MGMT_802_1X = 0x200 |
- }; |
- |
- // Initializes the DBus instance and the proxy object to the network manager. |
- // Must be called on |dbus_thread_|. |
- void Initialize(); |
- |
- // Enumerates all WiFi adapters and scans for access points on each. |
- // Results are appended into the provided |network_map|. |
- // Must be called on |dbus_thread_|. |
- void GetAllWiFiAccessPoints(bool configured_only, |
- bool visible_only, |
- int limit, |
- NetworkMap* network_map); |
- |
- // Helper function for handling a scan request. This function acts similarly |
- // to the public GetNetworks to get visible networks and fire the |
- // OnNetworkListChanged event, however no callbacks are called. |
- bool GetNetworksForScanRequest(); |
- |
- // Initiates the connection to the network. |
- // Must be called on |dbus_thread_|. |
- void ConnectToNetwork(const std::string& guid, std::string* error); |
- |
- // Initiates disconnection from the specified network. |
- // Must be called on |dbus_thread_| |
- void DisconnectFromNetwork(const std::string& guid, std::string* error); |
- |
- // Checks whether the current thread is the DBus thread. If not, DCHECK will |
- // fail. |
- void AssertOnDBusThread(); |
- |
- // Verifies that NetworkManager interfaces are initialized. |
- // Returns true if NetworkManager is initialized, otherwise returns false |
- // and the API call will fail with |kErrorNotSupported|. |
- bool CheckNetworkManagerSupported(const FailureCallback& failure_callback); |
- |
- // Gets all network devices on the system. |
- // Returns false if there is an error getting the device paths. |
- bool GetNetworkDevices(std::vector<dbus::ObjectPath>* device_paths); |
- |
- // Returns the DeviceType (eg. WiFi, ethernet). corresponding to the |
- // |device_path|. |
- DeviceType GetDeviceType(const dbus::ObjectPath& device_path); |
- |
- // Helper function to enumerate WiFi networks. Takes a path to a Wireless |
- // device, scans that device and appends networks to network_list. |
- // Returns false if there is an error getting the access points visible |
- // to the |device_path|. |
- bool AddAccessPointsFromDevice(const dbus::ObjectPath& device_path, |
- NetworkMap* network_map); |
- |
- // Reply callback accepts the map of networks and fires the |
- // OnNetworkListChanged event and user callbacks. |
- void OnAccessPointsFound(scoped_ptr<NetworkMap> network_map, |
- const NetworkListCallback& success_callback, |
- const FailureCallback& failure_callback); |
- |
- // Reply callback accepts the map of networks and fires the |
- // OnNetworkListChanged event. |
- void OnAccessPointsFoundViaScan(scoped_ptr<NetworkMap> network_map); |
- |
- // Helper function for OnAccessPointsFound and OnAccessPointsFoundViaScan to |
- // fire the OnNetworkListChangedEvent. |
- void SendNetworkListChangedEvent(const base::ListValue& network_list); |
- |
- // Gets a dictionary of information about the access point. |
- // Returns false if there is an error getting information about the |
- // supplied |access_point_path|. |
- bool GetAccessPointInfo( |
- const dbus::ObjectPath& access_point_path, |
- const scoped_ptr<base::DictionaryValue>& access_point_info); |
- |
- // Helper function to extract a property from a device. |
- // Returns the dbus::Response object from calling Get on the supplied |
- // |property_name|. |
- scoped_ptr<dbus::Response> GetAccessPointProperty( |
- dbus::ObjectProxy* access_point_proxy, |
- const std::string& property_name); |
- |
- // If the access_point is not already in the map it is added. Otherwise |
- // the access point is updated (eg. with the max of the signal |
- // strength). |
- void AddOrUpdateAccessPoint(NetworkMap* network_map, |
- const std::string& network_guid, |
- scoped_ptr<base::DictionaryValue>& access_point); |
- |
- // Maps the WPA security flags to a human readable string. |
- void MapSecurityFlagsToString(uint32 securityFlags, std::string* security); |
- |
- // Gets the connected access point path on the given device. Internally gets |
- // all active connections then checks if the device matches the requested |
- // device, then gets the access point associated with the connection. |
- // Returns false if there is an error getting the connected access point. |
- bool GetConnectedAccessPoint(dbus::ObjectPath device_path, |
- dbus::ObjectPath* access_point_path); |
- |
- // Given a path to an active connection gets the path to the device |
- // that the connection belongs to. Returns false if there is an error getting |
- // the device corresponding to the supplied |connection_path|. |
- bool GetDeviceOfConnection(dbus::ObjectPath connection_path, |
- dbus::ObjectPath* device_path); |
- |
- // Given a path to an active wireless connection gets the path to the |
- // access point associated with that connection. |
- // Returns false if there is an error getting the |access_point_path| |
- // corresponding to the supplied |connection_path|. |
- bool GetAccessPointForConnection(dbus::ObjectPath connection_path, |
- dbus::ObjectPath* access_point_path); |
- |
- // Helper method to set the connection state in the |network_map_| and post |
- // a change event. |
- bool SetConnectionStateAndPostEvent(const std::string& guid, |
- const std::string& ssid, |
- const std::string& connection_state); |
- |
- // Helper method to post an OnNetworkChanged event to the UI thread from the |
- // dbus thread. Used for connection status progress during |StartConnect|. |
- void PostOnNetworksChangedToUIThread(scoped_ptr<GuidList> guid_list); |
- |
- // Helper method to be called from the UI thread and manage ownership of the |
- // passed vector from the |dbus_thread_|. |
- void OnNetworksChangedEventTask(scoped_ptr<GuidList> guid_list); |
- |
- void GetCachedNetworkProperties(const std::string& guid, |
- base::DictionaryValue* properties, |
- std::string* error); |
- |
- void OnNetworksChangedEventOnUIThread(const GuidList& network_guids); |
- |
- void OnNetworkListChangedEventOnUIThread(const GuidList& network_guids); |
- |
- // Browser context. |
- content::BrowserContext* browser_context_; |
- // Thread used for DBus actions. |
- base::Thread dbus_thread_; |
- // DBus instance. Only access on |dbus_thread_|. |
- scoped_refptr<dbus::Bus> dbus_; |
- // Task runner used by the |dbus_| object. |
- scoped_refptr<base::SequencedTaskRunner> dbus_task_runner_; |
- // This is owned by |dbus_| object. Only access on |dbus_thread_|. |
- dbus::ObjectProxy* network_manager_proxy_; |
- // Holds the current mapping of known networks. Only access on |dbus_thread_|. |
- scoped_ptr<NetworkMap> network_map_; |
- // Observers to Network Events. |
- ObserverList<NetworkingPrivateDelegateObserver> network_events_observers_; |
- |
- DISALLOW_COPY_AND_ASSIGN(NetworkingPrivateLinux); |
-}; |
- |
-} // namespace extensions |
- |
-#endif // CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_LINUX_H_ |