iwd: add iwd_device_connect_hidden via Station.ConnectHiddenNetwork
Async D-Bus call with error logged on failure. Backend support for the upcoming Hidden Network UI affordance. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
29ded04f10
commit
7a55d1da5a
2 changed files with 23 additions and 2 deletions
|
|
@ -3,6 +3,7 @@
|
|||
#include "iwd_props.h"
|
||||
#include "iwd_manager.h"
|
||||
#include "iwd_network.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
|
|
@ -198,3 +199,22 @@ iwd_device_disconnect(Iwd_Device *d)
|
|||
if (!d || !d->station_proxy) return;
|
||||
eldbus_proxy_call(d->station_proxy, "Disconnect", NULL, NULL, -1, "");
|
||||
}
|
||||
|
||||
static void
|
||||
_on_connect_hidden_reply(void *data, const Eldbus_Message *msg, Eldbus_Pending *p EINA_UNUSED)
|
||||
{
|
||||
const char *en, *em;
|
||||
char *ssid = data;
|
||||
if (eldbus_message_error_get(msg, &en, &em))
|
||||
fprintf(stderr, "e_iwd: ConnectHiddenNetwork('%s') failed: %s: %s\n",
|
||||
ssid ? ssid : "?", en, em);
|
||||
free(ssid);
|
||||
}
|
||||
|
||||
void
|
||||
iwd_device_connect_hidden(Iwd_Device *d, const char *ssid)
|
||||
{
|
||||
if (!d || !d->station_proxy || !ssid || !*ssid) return;
|
||||
eldbus_proxy_call(d->station_proxy, "ConnectHiddenNetwork",
|
||||
_on_connect_hidden_reply, strdup(ssid), -1, "s", ssid);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,7 +45,8 @@ void iwd_device_apply_station_props(Iwd_Device *d, Eldbus_Message_Iter *props);
|
|||
void iwd_device_attach_station (Iwd_Device *d);
|
||||
void iwd_device_detach_station (Iwd_Device *d);
|
||||
|
||||
void iwd_device_scan (Iwd_Device *d);
|
||||
void iwd_device_disconnect(Iwd_Device *d);
|
||||
void iwd_device_scan (Iwd_Device *d);
|
||||
void iwd_device_disconnect (Iwd_Device *d);
|
||||
void iwd_device_connect_hidden (Iwd_Device *d, const char *ssid);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue