diff options
-rw-r--r-- | src/up-daemon.c | 17 | ||||
-rw-r--r-- | src/up-daemon.h | 2 | ||||
-rw-r--r-- | src/up-device.c | 2 | ||||
-rw-r--r-- | src/up-kbd-backlight.c | 2 | ||||
-rw-r--r-- | src/up-main.c | 7 | ||||
-rw-r--r-- | src/up-qos.c | 2 | ||||
-rw-r--r-- | src/up-wakeups.c | 2 |
7 files changed, 28 insertions, 6 deletions
diff --git a/src/up-daemon.c b/src/up-daemon.c index 12bd999..0adf705 100644 --- a/src/up-daemon.c +++ b/src/up-daemon.c @@ -116,6 +116,21 @@ G_DEFINE_TYPE (UpDaemon, up_daemon, G_TYPE_OBJECT) #define UP_DAEMON_ON_BATTERY_REFRESH_DEVICES_DELAY 1 /* seconds */ #define UP_DAEMON_POLL_BATTERY_NUMBER_TIMES 5 +/* D-BUS to connect to. Can be set to session bus for testing */ +static DBusBusType daemon_bus_type = DBUS_BUS_SYSTEM; + +DBusBusType +up_daemon_get_bus_type (void) +{ + return daemon_bus_type; +} + +void +up_daemon_set_bus_type (DBusBusType type) +{ + daemon_bus_type = type; +} + /** * up_daemon_get_on_battery_local: * @@ -671,7 +686,7 @@ up_daemon_register_power_daemon (UpDaemon *daemon) gboolean ret = FALSE; UpDaemonPrivate *priv = daemon->priv; - priv->connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error); + priv->connection = dbus_g_bus_get (up_daemon_get_bus_type (), &error); if (priv->connection == NULL) { if (error != NULL) { g_critical ("error getting system bus: %s", error->message); diff --git a/src/up-daemon.h b/src/up-daemon.h index 99fb9da..09252b2 100644 --- a/src/up-daemon.h +++ b/src/up-daemon.h @@ -67,6 +67,8 @@ GQuark up_daemon_error_quark (void); GType up_daemon_get_type (void); UpDaemon *up_daemon_new (void); void up_daemon_test (gpointer user_data); +DBusBusType up_daemon_get_bus_type (void); +void up_daemon_set_bus_type (DBusBusType type); /* private */ guint up_daemon_get_number_devices_of_type (UpDaemon *daemon, diff --git a/src/up-device.c b/src/up-device.c index 74b90d3..3591125 100644 --- a/src/up-device.c +++ b/src/up-device.c @@ -881,7 +881,7 @@ up_device_init (UpDevice *device) device->priv->during_coldplug = FALSE; device->priv->history = up_history_new (); - device->priv->system_bus_connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error); + device->priv->system_bus_connection = dbus_g_bus_get (up_daemon_get_bus_type (), &error); if (device->priv->system_bus_connection == NULL) { g_error ("error getting system bus: %s", error->message); g_error_free (error); diff --git a/src/up-kbd-backlight.c b/src/up-kbd-backlight.c index fc34cd7..2be22b6 100644 --- a/src/up-kbd-backlight.c +++ b/src/up-kbd-backlight.c @@ -273,7 +273,7 @@ up_kbd_backlight_init (UpKbdBacklight *kbd_backlight) return; } - kbd_backlight->priv->connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error); + kbd_backlight->priv->connection = dbus_g_bus_get (up_daemon_get_bus_type (), &error); if (error != NULL) { g_warning ("Cannot connect to bus: %s", error->message); g_error_free (error); diff --git a/src/up-main.c b/src/up-main.c index d116487..cfebe8e 100644 --- a/src/up-main.c +++ b/src/up-main.c @@ -133,6 +133,7 @@ main (gint argc, gchar **argv) gint retval = 1; gboolean timed_exit = FALSE; gboolean immediate_exit = FALSE; + gboolean session_bus = FALSE; guint timer_id = 0; const GOptionEntry options[] = { @@ -142,6 +143,8 @@ main (gint argc, gchar **argv) { "immediate-exit", '\0', 0, G_OPTION_ARG_NONE, &immediate_exit, /* TRANSLATORS: exit straight away, used for automatic profiling */ _("Exit after the engine has loaded"), NULL }, + { "test", '\0', 0, G_OPTION_ARG_NONE, &session_bus, + _("Run on the session bus (only for testing)"), NULL }, { NULL} }; @@ -153,7 +156,9 @@ main (gint argc, gchar **argv) g_option_context_free (context); /* get bus connection */ - bus = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error); + if (session_bus) + up_daemon_set_bus_type (DBUS_BUS_SESSION); + bus = dbus_g_bus_get (up_daemon_get_bus_type (), &error); if (bus == NULL) { g_warning ("Couldn't connect to system bus: %s", error->message); g_error_free (error); diff --git a/src/up-qos.c b/src/up-qos.c index a18b678..43b8eb5 100644 --- a/src/up-qos.c +++ b/src/up-qos.c @@ -577,7 +577,7 @@ up_qos_init (UpQos *qos) if (qos->priv->fd[UP_QOS_KIND_NETWORK] < 0) g_debug ("cannot open network device file"); - qos->priv->connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error); + qos->priv->connection = dbus_g_bus_get (up_daemon_get_bus_type (), &error); if (error != NULL) { g_warning ("Cannot connect to bus: %s", error->message); g_error_free (error); diff --git a/src/up-wakeups.c b/src/up-wakeups.c index 339230d..50b7bb0 100644 --- a/src/up-wakeups.c +++ b/src/up-wakeups.c @@ -743,7 +743,7 @@ up_wakeups_init (UpWakeups *wakeups) wakeups->priv->has_capability = FALSE; wakeups->priv->polling_enabled = FALSE; - wakeups->priv->connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error); + wakeups->priv->connection = dbus_g_bus_get (up_daemon_get_bus_type (), &error); if (error != NULL) { g_warning ("Cannot connect to bus: %s", error->message); g_error_free (error); |