From 74b7f8cb79fd91c5d3525161ad8db9441dd797db Mon Sep 17 00:00:00 2001 From: andy-shi88 Date: Fri, 16 Apr 2021 13:41:32 +0800 Subject: [PATCH] add currentBSS and currentNetwork getter --- internal/wpa_dbus/wpa_interface.go | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/internal/wpa_dbus/wpa_interface.go b/internal/wpa_dbus/wpa_interface.go index f277592..d385141 100644 --- a/internal/wpa_dbus/wpa_interface.go +++ b/internal/wpa_dbus/wpa_interface.go @@ -3,8 +3,8 @@ package wpa_dbus import ( "fmt" - "github.com/mark2b/wpa-connect/internal/log" "github.com/godbus/dbus" + "github.com/mark2b/wpa-connect/internal/log" ) type InterfaceWPA struct { @@ -212,3 +212,27 @@ func (self *InterfaceWPA) RemoveSignalsObserver() *InterfaceWPA { } return self } + +func (self *InterfaceWPA) ReadCurrentBSS() *InterfaceWPA { + if self.Error == nil { + if value, err := self.WPA.get("fi.w1.wpa_supplicant1.Interface.CurrentBSS", self.Object); err == nil { + bssObjectPath := value.(dbus.ObjectPath) + self.CurrentBSS = &BSSWPA{Interface: self, Object: self.WPA.Connection.Object("fi.w1.wpa_supplicant1", bssObjectPath)} + } else { + self.Error = err + } + } + return self +} + +func (self *InterfaceWPA) ReadCurrentNetwork() *InterfaceWPA { + if self.Error == nil { + if network, err := self.WPA.get("fi.w1.wpa_supplicant1.Interface.CurrentNetwork", self.Object); err == nil { + networkObjectPath := network.(dbus.ObjectPath) + self.CurrentNetwork = &NetworkWPA{Interface: self, Object: self.WPA.Connection.Object("fi.w1.wpa_supplicant1", networkObjectPath)} + } else { + self.Error = err + } + } + return self +}