mirror of
https://github.com/libretro/RetroArch
synced 2025-03-02 19:13:34 +00:00
WiFi: ask for passphrase
This commit is contained in:
parent
1e95346f27
commit
4734cb2640
@ -1489,6 +1489,15 @@ static void menu_input_st_cheat_cb(void *userdata, const char *str)
|
||||
menu_input_dialog_end();
|
||||
}
|
||||
|
||||
static void menu_input_wifi_cb(void *userdata, const char *passphrase)
|
||||
{
|
||||
(void)userdata;
|
||||
|
||||
driver_wifi_connect_ssid(0, passphrase);
|
||||
|
||||
menu_input_dialog_end();
|
||||
}
|
||||
|
||||
static int action_ok_cheat(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
@ -2861,7 +2870,17 @@ static int action_ok_rdb_entry(const char *path,
|
||||
static int action_ok_wifi(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
driver_wifi_connect_ssid(idx);
|
||||
|
||||
menu_input_ctx_line_t line;
|
||||
|
||||
line.label = "Passphrase";
|
||||
line.label_setting = label;
|
||||
line.type = type;
|
||||
line.idx = idx;
|
||||
line.cb = menu_input_wifi_cb;
|
||||
|
||||
if (!menu_input_dialog_start(&line))
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -91,7 +91,7 @@ static bool connmanctl_ssid_is_online(unsigned i)
|
||||
return line[2] == 'O';
|
||||
}
|
||||
|
||||
static bool connmanctl_connect_ssid(unsigned i)
|
||||
static bool connmanctl_connect_ssid(unsigned i, const char* passphrase)
|
||||
{
|
||||
char ln[512];
|
||||
char service[128];
|
||||
@ -101,6 +101,7 @@ static bool connmanctl_connect_ssid(unsigned i)
|
||||
|
||||
strlcpy(service, line+25, sizeof(service));
|
||||
|
||||
command[0] = '\0';
|
||||
strlcat(command, "connmanctl connect ", sizeof(command));
|
||||
strlcat(command, service, sizeof(command));
|
||||
strlcat(command, " 2>&1", sizeof(command));
|
||||
|
@ -49,7 +49,7 @@ static bool nullwifi_ssid_is_online(unsigned i)
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool nullwifi_connect_ssid(unsigned i)
|
||||
static bool nullwifi_connect_ssid(unsigned i, const char* passphrase)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -111,9 +111,9 @@ bool driver_wifi_ssid_is_online(unsigned i)
|
||||
return wifi_driver->ssid_is_online(i);
|
||||
}
|
||||
|
||||
bool driver_wifi_connect_ssid(unsigned i)
|
||||
bool driver_wifi_connect_ssid(unsigned i, const char* passphrase)
|
||||
{
|
||||
return wifi_driver->connect_ssid(i);
|
||||
return wifi_driver->connect_ssid(i, passphrase);
|
||||
}
|
||||
|
||||
bool wifi_driver_ctl(enum rarch_wifi_ctl_state state, void *data)
|
||||
|
@ -55,7 +55,7 @@ typedef struct wifi_driver
|
||||
void (*scan)(void);
|
||||
void (*get_ssids)(struct string_list *list);
|
||||
bool (*ssid_is_online)(unsigned i);
|
||||
bool (*connect_ssid)(unsigned i);
|
||||
bool (*connect_ssid)(unsigned i, const char* passphrase);
|
||||
|
||||
const char *ident;
|
||||
} wifi_driver_t;
|
||||
@ -102,7 +102,7 @@ void driver_wifi_get_ssids(struct string_list *list);
|
||||
|
||||
bool driver_wifi_ssid_is_online(unsigned i);
|
||||
|
||||
bool driver_wifi_connect_ssid(unsigned i);
|
||||
bool driver_wifi_connect_ssid(unsigned i, const char* passphrase);
|
||||
|
||||
bool wifi_driver_ctl(enum rarch_wifi_ctl_state state, void *data);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user