mirror of
https://gitlab.freedesktop.org/upower/upower.git
synced 2026-04-24 06:50:41 +02:00
up-daemon: The implementation of EnumerateKbdBacklight
The implementation for enumerating all keyboard backlight LED objects on the system.
This commit is contained in:
parent
d316a111f7
commit
e0baa3fdcb
1 changed files with 34 additions and 0 deletions
|
|
@ -499,6 +499,38 @@ up_daemon_enumerate_devices (UpExportedDaemon *skeleton,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
up_daemon_enumerate_kbd_backlights (UpExportedDaemon *skeleton,
|
||||
GDBusMethodInvocation *invocation,
|
||||
UpDaemon *daemon)
|
||||
{
|
||||
guint i;
|
||||
GPtrArray *array;
|
||||
GPtrArray *object_paths;
|
||||
UpDeviceKbdBacklight *kbd_backlight;
|
||||
|
||||
/* build a pointer array of the object paths */
|
||||
object_paths = g_ptr_array_new_with_free_func (g_free);
|
||||
array = up_device_list_get_array (daemon->priv->kbd_backlight_devices);
|
||||
for (i = 0; i < array->len; i++) {
|
||||
const char *object_path;
|
||||
kbd_backlight = (UpDeviceKbdBacklight *) g_ptr_array_index (array, i);
|
||||
object_path = up_device_kbd_backlight_get_object_path (kbd_backlight);
|
||||
if (object_path != NULL)
|
||||
g_ptr_array_add (object_paths, g_strdup (object_path));
|
||||
}
|
||||
g_ptr_array_unref (array);
|
||||
g_ptr_array_add (object_paths, NULL);
|
||||
|
||||
/* return it on the bus */
|
||||
up_exported_daemon_complete_enumerate_kbd_backlights (skeleton, invocation,
|
||||
(const gchar **) object_paths->pdata);
|
||||
|
||||
/* free */
|
||||
g_ptr_array_unref (object_paths);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* up_daemon_get_display_device:
|
||||
**/
|
||||
|
|
@ -1210,6 +1242,8 @@ up_daemon_init (UpDaemon *daemon)
|
|||
|
||||
g_signal_connect (daemon, "handle-enumerate-devices",
|
||||
G_CALLBACK (up_daemon_enumerate_devices), daemon);
|
||||
g_signal_connect (daemon, "handle-enumerate-kbd_backlights",
|
||||
G_CALLBACK (up_daemon_enumerate_kbd_backlights), daemon);
|
||||
g_signal_connect (daemon, "handle-get-critical-action",
|
||||
G_CALLBACK (up_daemon_get_critical_action), daemon);
|
||||
g_signal_connect (daemon, "handle-get-display-device",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue