diff options
author | Cosimo Cecchi <cosimoc@gnome.org> | 2015-06-01 10:08:25 -0700 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2015-07-29 13:38:13 +0100 |
commit | ab4160cad5699e82080fe3c116c72ff5d912daf3 (patch) | |
tree | 9125379dbf0cff6e65a5ce8e207fb6af710eb5dc /src | |
parent | 8ad64459beaf3608b72954f163503d6d2ce8ab12 (diff) |
daemon: make UpDaemon a subclass of UpExportedDaemon
Simplifies some state tracking.
Diffstat (limited to 'src')
-rw-r--r-- | src/up-daemon.c | 34 | ||||
-rw-r--r-- | src/up-daemon.h | 8 | ||||
-rw-r--r-- | src/up-device.c | 2 |
3 files changed, 15 insertions, 29 deletions
diff --git a/src/up-daemon.c b/src/up-daemon.c index 019ffa5..78357d4 100644 --- a/src/up-daemon.c +++ b/src/up-daemon.c @@ -36,12 +36,10 @@ #include "up-backend.h" #include "up-daemon.h" -#include "up-daemon-generated.h" #include "up-marshal.h" struct UpDaemonPrivate { - UpExportedDaemon *skeleton; UpConfig *config; UpBackend *backend; UpDeviceList *power_devices; @@ -78,7 +76,7 @@ static gboolean up_daemon_get_on_battery_local (UpDaemon *daemon); static gboolean up_daemon_get_warning_level_local(UpDaemon *daemon); static gboolean up_daemon_get_on_ac_local (UpDaemon *daemon); -G_DEFINE_TYPE (UpDaemon, up_daemon, G_TYPE_OBJECT) +G_DEFINE_TYPE (UpDaemon, up_daemon, UP_TYPE_EXPORTED_DAEMON_SKELETON) #define UP_DAEMON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), UP_TYPE_DAEMON, UpDaemonPrivate)) @@ -452,10 +450,9 @@ up_daemon_register_power_daemon (UpDaemon *daemon, GDBusConnection *connection) { GError *error = NULL; - UpDaemonPrivate *priv = daemon->priv; /* export our interface on the bus */ - g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (priv->skeleton), + g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (daemon), connection, "/org/freedesktop/UPower", &error); @@ -555,7 +552,7 @@ up_daemon_set_lid_is_closed (UpDaemon *daemon, gboolean lid_is_closed) } g_debug ("lid_is_closed = %s", lid_is_closed ? "yes" : "no"); - up_exported_daemon_set_lid_is_closed (priv->skeleton, lid_is_closed); + up_exported_daemon_set_lid_is_closed (UP_EXPORTED_DAEMON (daemon), lid_is_closed); } /** @@ -573,7 +570,7 @@ up_daemon_set_lid_is_present (UpDaemon *daemon, gboolean lid_is_present) } g_debug ("lid_is_present = %s", lid_is_present ? "yes" : "no"); - up_exported_daemon_set_lid_is_present (priv->skeleton, lid_is_present); + up_exported_daemon_set_lid_is_present (UP_EXPORTED_DAEMON (daemon), lid_is_present); } /** @@ -582,9 +579,8 @@ up_daemon_set_lid_is_present (UpDaemon *daemon, gboolean lid_is_present) void up_daemon_set_on_battery (UpDaemon *daemon, gboolean on_battery) { - UpDaemonPrivate *priv = daemon->priv; g_debug ("on_battery = %s", on_battery ? "yes" : "no"); - up_exported_daemon_set_on_battery (priv->skeleton, on_battery); + up_exported_daemon_set_on_battery (UP_EXPORTED_DAEMON (daemon), on_battery); } static gboolean @@ -902,7 +898,7 @@ up_daemon_device_added_cb (UpBackend *backend, GObject *native, UpDevice *device g_warning ("INTERNAL STATE CORRUPT (device-added): not sending NULL, native:%p, device:%p", native, device); return; } - up_exported_daemon_emit_device_added (daemon->priv->skeleton, object_path); + up_exported_daemon_emit_device_added (UP_EXPORTED_DAEMON (daemon), object_path); } /** @@ -930,7 +926,7 @@ up_daemon_device_removed_cb (UpBackend *backend, GObject *native, UpDevice *devi g_warning ("INTERNAL STATE CORRUPT (device-removed): not sending NULL, native:%p, device:%p", native, device); return; } - up_exported_daemon_emit_device_removed (daemon->priv->skeleton, object_path); + up_exported_daemon_emit_device_removed (UP_EXPORTED_DAEMON (daemon), object_path); /* finalise the object */ g_object_unref (device); @@ -1008,14 +1004,13 @@ up_daemon_init (UpDaemon *daemon) NULL, g_free); daemon->priv->idle_signals = g_hash_table_new (g_direct_hash, g_direct_equal); - daemon->priv->skeleton = up_exported_daemon_skeleton_new (); - up_exported_daemon_set_daemon_version (daemon->priv->skeleton, PACKAGE_VERSION); + up_exported_daemon_set_daemon_version (UP_EXPORTED_DAEMON (daemon), PACKAGE_VERSION); - g_signal_connect (daemon->priv->skeleton, "handle-enumerate-devices", + g_signal_connect (daemon, "handle-enumerate-devices", G_CALLBACK (up_daemon_enumerate_devices), daemon); - g_signal_connect (daemon->priv->skeleton, "handle-get-critical-action", + g_signal_connect (daemon, "handle-get-critical-action", G_CALLBACK (up_daemon_get_critical_action), daemon); - g_signal_connect (daemon->priv->skeleton, "handle-get-display-device", + g_signal_connect (daemon, "handle-get-display-device", G_CALLBACK (up_daemon_get_display_device), daemon); } @@ -1067,7 +1062,6 @@ up_daemon_finalize (GObject *object) g_clear_pointer (&priv->poll_timeouts, g_hash_table_destroy); g_clear_pointer (&priv->idle_signals, g_hash_table_destroy); - g_object_unref (priv->skeleton); g_object_unref (priv->power_devices); g_object_unref (priv->display_device); g_object_unref (priv->config); @@ -1084,9 +1078,3 @@ up_daemon_new (void) { return UP_DAEMON (g_object_new (UP_TYPE_DAEMON, NULL)); } - -GDBusConnection * -up_daemon_get_dbus_connection (UpDaemon *daemon) -{ - return g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (daemon->priv->skeleton)); -} diff --git a/src/up-daemon.h b/src/up-daemon.h index e385da5..3ebb777 100644 --- a/src/up-daemon.h +++ b/src/up-daemon.h @@ -21,8 +21,7 @@ #ifndef __UP_DAEMON_H__ #define __UP_DAEMON_H__ -#include <gio/gio.h> - +#include <dbus/up-daemon-generated.h> #include "up-types.h" #include "up-device-list.h" @@ -39,13 +38,13 @@ typedef struct UpDaemonPrivate UpDaemonPrivate; typedef struct { - GObject parent; + UpExportedDaemonSkeleton parent; UpDaemonPrivate *priv; } UpDaemon; typedef struct { - GObjectClass parent_class; + UpExportedDaemonSkeletonClass parent_class; } UpDaemonClass; typedef enum @@ -70,7 +69,6 @@ UpDeviceList *up_daemon_get_device_list (UpDaemon *daemon); gboolean up_daemon_startup (UpDaemon *daemon, GDBusConnection *connection); void up_daemon_shutdown (UpDaemon *daemon); -GDBusConnection *up_daemon_get_dbus_connection (UpDaemon *daemon); void up_daemon_set_lid_is_closed (UpDaemon *daemon, gboolean lid_is_closed); void up_daemon_set_lid_is_present (UpDaemon *daemon, diff --git a/src/up-device.c b/src/up-device.c index 55a65eb..6b79f13 100644 --- a/src/up-device.c +++ b/src/up-device.c @@ -322,7 +322,7 @@ up_device_export_skeleton (UpDevice *device, GError *error = NULL; g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (device), - up_daemon_get_dbus_connection (device->priv->daemon), + g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (device->priv->daemon)), object_path, &error); |