+#ifdef ENABLE_DBUS
+
+enum {
+ PROP_0,
+ PROP_CONNECTION
+};
+
+static void
+totem_scrsaver_constructed (GObject *object)
+{
+ TotemScrsaver *scr = TOTEM_SCRSAVER (object);
+ TotemScrsaverPrivate *priv = scr->priv;
+
+ priv->watch_id = g_bus_watch_name_on_connection (priv->connection,
+ GS_SERVICE,
+ G_BUS_NAME_WATCHER_FLAGS_NONE,
+ screensaver_dbus_appeared_cb,
+ screensaver_dbus_disappeared_cb,
+ scr, NULL);
+}
+
+static void
+totem_scrsaver_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ TotemScrsaver *scr = TOTEM_SCRSAVER (object);
+ TotemScrsaverPrivate *priv = scr->priv;
+
+ switch (prop_id) {
+ case PROP_CONNECTION:
+ priv->connection = g_value_dup_object (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+#endif /* ENABLE_DBUS */
+