Merge pull request #12288 from ToKe79/lakka-change-handlers-squash-warnings

Make Lakka change handlers use the setting pointer
This commit is contained in:
Autechre 2021-04-20 20:31:15 +02:00 committed by GitHub
commit 36d274d460
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 23 additions and 51 deletions

View File

@ -7949,15 +7949,14 @@ static void update_streaming_url_write_handler(rarch_setting_t *setting)
#ifdef HAVE_LAKKA #ifdef HAVE_LAKKA
static void systemd_service_toggle(const char *path, char *unit, bool enable) static void systemd_service_toggle(const char *path, char *unit, bool enable)
{ {
int pid = fork(); pid_t pid = fork();
char* args[] = {(char*)"systemctl", NULL, NULL, NULL}; char* args[] = {(char*)"systemctl",
enable ? (char*)"start" : (char*)"stop",
if (enable) unit,
args[1] = (char*)"start"; NULL};
else
args[1] = (char*)"stop";
args[2] = unit;
if (pid == 0)
{
if (enable) if (enable)
filestream_close(filestream_open(path, filestream_close(filestream_open(path,
RETRO_VFS_FILE_ACCESS_WRITE, RETRO_VFS_FILE_ACCESS_WRITE,
@ -7965,59 +7964,32 @@ static void systemd_service_toggle(const char *path, char *unit, bool enable)
else else
filestream_delete(path); filestream_delete(path);
if (pid == 0)
execvp(args[0], args); execvp(args[0], args);
}
return;
} }
static void ssh_enable_toggle_change_handler(void *data) static void ssh_enable_toggle_change_handler(rarch_setting_t *setting)
{ {
bool enable = false;
settings_t *settings = config_get_ptr();
bool ssh_enable = settings ? settings->bools.ssh_enable : false;
if (ssh_enable)
enable = true;
systemd_service_toggle(LAKKA_SSH_PATH, (char*)"sshd.service", systemd_service_toggle(LAKKA_SSH_PATH, (char*)"sshd.service",
enable); *setting->value.target.boolean);
} }
static void samba_enable_toggle_change_handler(void *data) static void samba_enable_toggle_change_handler(rarch_setting_t *setting)
{ {
bool enable = false;
settings_t *settings = config_get_ptr();
bool samba_enable = settings ? settings->bools.samba_enable : false;
if (samba_enable)
enable = true;
systemd_service_toggle(LAKKA_SAMBA_PATH, (char*)"smbd.service", systemd_service_toggle(LAKKA_SAMBA_PATH, (char*)"smbd.service",
enable); *setting->value.target.boolean);
} }
static void bluetooth_enable_toggle_change_handler(void *data) static void bluetooth_enable_toggle_change_handler(rarch_setting_t *setting)
{ {
bool enable = false;
settings_t *settings = config_get_ptr();
if (settings && settings->bools.bluetooth_enable)
enable = true;
systemd_service_toggle(LAKKA_BLUETOOTH_PATH, (char*)"bluetooth.service", systemd_service_toggle(LAKKA_BLUETOOTH_PATH, (char*)"bluetooth.service",
enable); *setting->value.target.boolean);
} }
static void localap_enable_toggle_change_handler(void *data) static void localap_enable_toggle_change_handler(rarch_setting_t *setting)
{ {
bool enable = false; driver_wifi_tether_start_stop(*setting->value.target.boolean,
settings_t *settings = config_get_ptr(); LAKKA_LOCALAP_PATH);
if (settings && settings->bools.localap_enable)
enable = true;
driver_wifi_tether_start_stop(enable, LAKKA_LOCALAP_PATH);
} }
#endif #endif