| // |
| // Copyright (C) 2015 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License") override; |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| // |
| |
| #ifndef PROXY_DBUS_SHILL_WIFI_CLIENT_H |
| #define PROXY_DBUS_SHILL_WIFI_CLIENT_H |
| |
| #include "proxy_dbus_client.h" |
| #include "proxy_shill_wifi_client.h" |
| |
| // This is the class implementing the ShillWifiClient abstract interface for a Dbus |
| // Client. |
| class ProxyDbusShillWifiClient : public ProxyShillWifiClient { |
| public: |
| ProxyDbusShillWifiClient(scoped_refptr<dbus::Bus> dbus_bus); |
| ~ProxyDbusShillWifiClient() override = default; |
| bool SetLogging() override; |
| bool RemoveAllWifiEntries() override; |
| bool ConfigureServiceByGuid(const std::string& guid, |
| AutoConnectType autoconnect, |
| const std::string& passphrase) override; |
| bool ConfigureWifiService(const std::string& ssid, |
| const std::string& security, |
| const brillo::VariantDictionary& security_params, |
| bool save_credentials, |
| StationType station_type, |
| bool hidden_network, |
| const std::string& guid, |
| AutoConnectType autoconnect) override; |
| bool ConnectToWifiNetwork(const std::string& ssid, |
| const std::string& security, |
| const brillo::VariantDictionary& security_params, |
| bool save_credentials, |
| StationType station_type, |
| bool hidden_network, |
| const std::string& guid, |
| AutoConnectType autoconnect, |
| long discovery_timeout_milliseconds, |
| long association_timeout_milliseconds, |
| long configuration_timeout_milliseconds, |
| long* discovery_time_milliseconds, |
| long* association_time_milliseconds, |
| long* configuration_time_milliseconds, |
| std::string* failure_reason) override; |
| bool DisconnectFromWifiNetwork(const std::string& ssid, |
| long disconnect_timeout_milliseconds, |
| long* disconnect_time_milliseconds, |
| std::string* failure_reason) override; |
| bool ConfigureBgScan(const std::string& interface_name, |
| const std::string& method_name, |
| uint16_t short_interval, |
| uint16_t long_interval, |
| int signal_threshold) override; |
| bool GetActiveWifiSsids(std::vector<std::string>* ssids) override; |
| bool WaitForServiceStates(const std::string& ssid, |
| const std::vector<std::string>& expected_states, |
| long wait_timeout_milliseconds, |
| std::string* final_state, |
| long* wait_time_milliseconds) override; |
| bool CreateProfile(const std::string& profile_name) override; |
| bool PushProfile(const std::string& profile_name) override; |
| bool PopProfile(const std::string& profile_name) override; |
| bool RemoveProfile(const std::string& profile_name) override; |
| bool CleanProfiles() override; |
| bool DeleteEntriesForSsid(const std::string& ssid) override; |
| bool ListControlledWifiInterfaces(std::vector<std::string>* interface_names) override; |
| bool Disconnect(const std::string& ssid) override; |
| bool GetServiceOrder(std::string* service_order) override; |
| bool SetServiceOrder(const std::string& service_order) override; |
| bool GetServiceProperties(const std::string& ssid, |
| brillo::VariantDictionary* properties) override; |
| bool SetSchedScan(bool enable) override; |
| bool GetPropertyOnDevice(const std::string& interface_name, |
| const std::string& property_name, |
| brillo::Any* property_value) override; |
| bool SetPropertyOnDevice(const std::string& interface_name, |
| const std::string& property_name, |
| const brillo::Any& property_value) override; |
| bool RequestRoam(const std::string& interface_name, const std::string& bssid) override; |
| bool SetDeviceEnabled(const std::string& interface_name, bool enable) override; |
| bool DiscoverTdlsLink(const std::string& interface_name, |
| const std::string& peer_mac_address) override; |
| bool EstablishTdlsLink(const std::string& interface_name, |
| const std::string& peer_mac_address) override; |
| bool QueryTdlsLink(const std::string& interface_name, |
| const std::string& peer_mac_address, |
| std::string* status) override; |
| bool AddWakePacketSource(const std::string& interface_name, |
| const std::string& source_ip_address) override; |
| bool RemoveWakePacketSource(const std::string& interface_name, |
| const std::string& source_ip_address) override; |
| bool RemoveAllWakePacketSources(const std::string& interface_name) override; |
| |
| private: |
| void SetAutoConnectInServiceParams(AutoConnectType autoconnect, |
| brillo::VariantDictionary* service_params); |
| bool PerformTdlsOperation(const std::string& interface_name, |
| const std::string& operation, |
| const std::string& peer_mac_address, |
| std::string* out_params); |
| std::unique_ptr<ProxyDbusClient> dbus_client_; |
| }; |
| |
| #endif // PROXY_DBUS_SHILL_WIFI_CLIENT_H |