From: James Prestwood <prestwoj@gmail.com>
To: iwd@lists.01.org
Subject: [PATCH 5/5] client: ap: show SSID in 'ap <wlan> show'
Date: Mon, 01 Feb 2021 14:05:18 -0800 [thread overview]
Message-ID: <20210201220518.36975-5-prestwoj@gmail.com> (raw)
In-Reply-To: <20210201220518.36975-1-prestwoj@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2467 bytes --]
This will show some basic AP information like Started and
SSID. Some cleanup was done to make the AP interface and
client table columns line up.
---
client/ap.c | 39 ++++++++++++++++++++++++++++++++++++---
1 file changed, 36 insertions(+), 3 deletions(-)
diff --git a/client/ap.c b/client/ap.c
index 9a7f8642..783f1e19 100644
--- a/client/ap.c
+++ b/client/ap.c
@@ -34,6 +34,7 @@
struct ap {
bool started;
+ char *ssid;
};
static void *ap_create(void)
@@ -74,8 +75,35 @@ static void update_started(void *data, struct l_dbus_message_iter *variant)
ap->started = value;
}
+static const char *get_ssid_tostr(const void *data)
+{
+ const struct ap *ap = data;
+
+ if (!ap->ssid)
+ return "";
+
+ return ap->ssid;
+}
+
+static void update_ssid(void *data, struct l_dbus_message_iter *variant)
+{
+ struct ap *ap = data;
+ const char *ssid;
+
+ if (ap->ssid)
+ l_free(ap->ssid);
+
+ if (!l_dbus_message_iter_get_variant(variant, "s", &ssid)) {
+ ap->ssid = NULL;
+ return;
+ }
+
+ ap->ssid = l_strdup(ssid);
+}
+
static const struct proxy_interface_property ap_properties[] = {
{ "Started", "b", update_started, get_started_tostr },
+ { "SSID", "s", update_ssid, get_ssid_tostr },
{ }
};
@@ -221,9 +249,9 @@ static void ap_get_diagnostics_callback(struct l_dbus_message *message,
while (l_dbus_message_iter_next_entry(&array, &iter)) {
sprintf(client_num, "Client %u", idx++);
- display_table_header(client_num, "%-*s%-*s",
+ display_table_header(client_num, " %-*s%-*s",
20, "Property", 20, "Value");
- diagnostic_display(&iter, "", 20, 20);
+ diagnostic_display(&iter, " ", 20, 20);
display_table_footer();
}
}
@@ -232,12 +260,17 @@ static enum cmd_status cmd_show(const char *device_name, char **argv, int argc)
{
const struct proxy_interface *ap_diagnostic =
device_proxy_find(device_name, IWD_AP_DIAGNOSTIC_INTERFACE);
+ const struct proxy_interface *ap_i =
+ device_proxy_find(device_name, IWD_ACCESS_POINT_INTERFACE);
- if (!ap_diagnostic) {
+ if (!ap_diagnostic || !ap_i) {
display("No ap on device: '%s'\n", device_name);
return CMD_STATUS_INVALID_VALUE;
}
+ proxy_properties_display(ap_i, "Access Point Interface", MARGIN, 20, 20);
+ display_table_footer();
+
proxy_interface_method_call(ap_diagnostic, "GetDiagnostics", "",
ap_get_diagnostics_callback);
--
2.26.2
next prev parent reply other threads:[~2021-02-01 22:05 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-01 22:05 [PATCH 1/5] ap: return error from GetDiagnostics if not started James Prestwood
2021-02-01 22:05 ` [PATCH 2/5] client: ap: handle NotFound on diagnostic interface James Prestwood
2021-02-01 22:05 ` [PATCH 3/5] ap: add SSID property James Prestwood
2021-02-01 22:05 ` [PATCH 4/5] doc: document SSID property on AP interface James Prestwood
2021-02-01 22:21 ` Denis Kenzior
2021-02-01 22:05 ` James Prestwood [this message]
2021-02-01 22:10 ` [PATCH 5/5] client: ap: show SSID in 'ap <wlan> show' James Prestwood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210201220518.36975-5-prestwoj@gmail.com \
--to=prestwoj@gmail.com \
--cc=iwd@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.