| 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_
|
|
|