From c7bc1a37e596dff8db3ed5700d1279abb87620f9 Mon Sep 17 00:00:00 2001 From: Vibhav Pant Date: Sun, 27 Aug 2023 09:44:13 +0530 Subject: [PATCH] Add method ConnectedToWifi. --- internal/platform/implementation/linux/wifi_direct.cc | 10 ++++++++++ internal/platform/implementation/linux/wifi_direct.h | 7 +++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/internal/platform/implementation/linux/wifi_direct.cc b/internal/platform/implementation/linux/wifi_direct.cc index 2e7884c0..9ff6fde2 100644 --- a/internal/platform/implementation/linux/wifi_direct.cc +++ b/internal/platform/implementation/linux/wifi_direct.cc @@ -129,6 +129,16 @@ bool NetworkManagerWifiDirectMedium::DisconnectWifiDirect() { return true; } +bool NetworkManagerWifiDirectMedium::ConnectedToWifi() { + try { + auto mode = wireless_device_->Mode(); + return mode == 2; // NM_802_11_MODE_INFRA + } catch (const sdbus::Error &e) { + DBUS_LOG_PROPERTY_GET_ERROR(wireless_device_, "Mode", e); + return false; + } +} + bool NetworkManagerWifiDirectMedium::StartWifiDirect( WifiDirectCredentials *wifi_direct_credentials) { // According to the comments in the windows implementation, the wifi direct diff --git a/internal/platform/implementation/linux/wifi_direct.h b/internal/platform/implementation/linux/wifi_direct.h index 4c038c3e..1346fc60 100644 --- a/internal/platform/implementation/linux/wifi_direct.h +++ b/internal/platform/implementation/linux/wifi_direct.h @@ -11,7 +11,7 @@ namespace nearby { namespace linux { class NetworkManagerWifiDirectMedium : public api::WifiDirectMedium { -public: +public: NetworkManagerWifiDirectMedium( sdbus::IConnection &system_bus, std::shared_ptr network_manager, @@ -32,12 +32,15 @@ public: bool StartWifiDirect(WifiDirectCredentials *wifi_direct_credentials) override; bool StopWifiDirect() override; - + absl::optional> GetDynamicPortRange() override { return std::nullopt; } +private: + bool ConnectedToWifi(); + sdbus::IConnection &system_bus_; std::shared_ptr network_manager_; std::unique_ptr wireless_device_;