mirror of
https://github.com/FeralInteractive/gamemode.git
synced 2025-06-26 09:23:06 +02:00
daemon: emit client count change automatically
Every time a game is (un)-registered and we emit the corresponding signal, also emit the properties change signal for ClientCount.
This commit is contained in:
@ -487,7 +487,6 @@ int game_mode_context_register(GameModeContext *self, pid_t client, pid_t reques
|
||||
pthread_rwlock_unlock(&self->rwlock);
|
||||
|
||||
game_mode_client_registered(client);
|
||||
game_mode_client_count_changed();
|
||||
|
||||
return 0;
|
||||
|
||||
@ -586,7 +585,6 @@ int game_mode_context_unregister(GameModeContext *self, pid_t client, pid_t requ
|
||||
/* Unlock now we're done applying optimisations */
|
||||
pthread_rwlock_unlock(&self->rwlock);
|
||||
|
||||
game_mode_client_count_changed();
|
||||
game_mode_client_unregistered(client);
|
||||
|
||||
return 0;
|
||||
|
@ -203,15 +203,6 @@ static int property_get_client_count(sd_bus *local_bus, const char *path, const
|
||||
return sd_bus_message_append_basic(reply, 'i', &count);
|
||||
}
|
||||
|
||||
void game_mode_client_count_changed(void)
|
||||
{
|
||||
(void)sd_bus_emit_properties_changed(bus,
|
||||
"/com/feralinteractive/GameMode",
|
||||
"com.feralinteractive.GameMode",
|
||||
"ClientCount",
|
||||
NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles the Refresh Config request
|
||||
*/
|
||||
@ -293,6 +284,12 @@ static void game_mode_client_send_game_signal(pid_t pid, bool new_game)
|
||||
path);
|
||||
if (ret < 0)
|
||||
fprintf(stderr, "failed to emit signal: %s", strerror(-ret));
|
||||
|
||||
(void)sd_bus_emit_properties_changed(bus,
|
||||
"/com/feralinteractive/GameMode",
|
||||
"com.feralinteractive.GameMode",
|
||||
"ClientCount",
|
||||
NULL);
|
||||
}
|
||||
|
||||
/* Emit GameRegistered signal */
|
||||
|
@ -197,6 +197,5 @@ int game_mode_get_gpu(GameModeGPUInfo *info);
|
||||
*/
|
||||
void game_mode_context_loop(GameModeContext *context) __attribute__((noreturn));
|
||||
int game_mode_inhibit_screensaver(bool inhibit);
|
||||
void game_mode_client_count_changed(void);
|
||||
void game_mode_client_registered(pid_t);
|
||||
void game_mode_client_unregistered(pid_t);
|
||||
|
Reference in New Issue
Block a user