[PATCH v2 06/13] station: add ConnectedAccessPoint property

James Prestwood
2024-08-08T17:42:44Z

This property is a path that corresponds to a BasicServiceSet
object, the one the station is currently connected to.
---
src/station.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

v2:
* Renamed ConnectedBss to ConnectedAccessPoint

diff --git a/src/station.c b/src/station.c
index 8a76339c..5524943b 100644
--- a/src/station.c
+++ b/src/station.c
@@ -4376,6 +4376,23 @@ static bool station_property_get_connected_network(struct l_dbus *dbus,
return true;
}

+static bool station_property_get_connected_ap(struct l_dbus *dbus,
+ struct l_dbus_message *message,
+ struct l_dbus_message_builder *builder,
+ void *user_data)
+{
+ struct station *station = user_data;
+
+ if (!station->connected_network)
+ return false;
+
+ l_dbus_message_builder_append_basic(builder, 'o',
+ network_bss_get_path(station->connected_network,
+ station->connected_bss));
+
+ return true;
+}
+
static bool station_property_get_scanning(struct l_dbus *dbus,
struct l_dbus_message *message,
struct l_dbus_message_builder *builder,
@@ -4783,6 +4800,9 @@ static void station_setup_interface(struct l_dbus_interface *interface)
l_dbus_interface_property(interface, "ConnectedNetwork", 0, "o",
station_property_get_connected_network,
NULL);
+ l_dbus_interface_property(interface, "ConnectedAccessPoint", 0, "o",
+ station_property_get_connected_ap,
+ NULL);
l_dbus_interface_property(interface, "Scanning", 0, "b",
station_property_get_scanning, NULL);
l_dbus_interface_property(interface, "State", 0, "s",
--
2.34.1