[telepathy-glib/master] account-manager: add _enable_restart
Jonny Lamb
jonny.lamb at collabora.co.uk
Mon Sep 28 03:57:25 PDT 2009
Signed-off-by: Jonny Lamb <jonny.lamb at collabora.co.uk>
---
docs/reference/telepathy-glib-sections.txt | 1 +
telepathy-glib/account-manager.c | 26 ++++++++++++++++++++------
telepathy-glib/account-manager.h | 2 ++
3 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/docs/reference/telepathy-glib-sections.txt b/docs/reference/telepathy-glib-sections.txt
index 6cf361c..4990c88 100644
--- a/docs/reference/telepathy-glib-sections.txt
+++ b/docs/reference/telepathy-glib-sections.txt
@@ -3072,6 +3072,7 @@ tp_account_manager_ensure_account
tp_account_manager_get_valid_accounts
tp_account_manager_get_most_available_presence
tp_account_manager_set_all_requested_presences
+tp_account_manager_enable_restart
<SUBSECTION>
TP_ACCOUNT_MANAGER_FEATURE_CORE
tp_account_manager_is_prepared
diff --git a/telepathy-glib/account-manager.c b/telepathy-glib/account-manager.c
index 8d1e3a3..8b6a019 100644
--- a/telepathy-glib/account-manager.c
+++ b/telepathy-glib/account-manager.c
@@ -592,18 +592,12 @@ _tp_account_manager_constructed (GObject *object)
priv->features = g_list_prepend (priv->features, feature);
}
- tp_dbus_daemon_watch_name_owner (tp_proxy_get_dbus_daemon (self),
- TP_ACCOUNT_MANAGER_BUS_NAME, _tp_account_manager_name_owner_cb,
- self, NULL);
-
tp_cli_account_manager_connect_to_account_validity_changed (self,
_tp_account_manager_validity_changed_cb, NULL,
NULL, G_OBJECT (self), NULL);
tp_cli_dbus_properties_call_get_all (self, -1, TP_IFACE_ACCOUNT_MANAGER,
_tp_account_manager_got_all_cb, NULL, NULL, G_OBJECT (self));
-
- _tp_account_manager_start_mc5 (tp_proxy_get_dbus_daemon (self));
}
static void
@@ -1494,3 +1488,23 @@ _tp_account_manager_get_missing_features (TpAccountManager *manager)
return (const GQuark *) manager->priv->missing_features->data;
}
+
+/**
+ * tp_account_manager_enable_restart:
+ * @manager: a #TpAccountManager
+ *
+ * Enable autostarting the account manager D-Bus service. This means
+ * that the account manager will be restarted if it disappears from
+ * the bus.
+ */
+void
+tp_account_manager_enable_restart (TpAccountManager *manager)
+{
+ g_return_if_fail (TP_IS_ACCOUNT_MANAGER (manager));
+
+ tp_dbus_daemon_watch_name_owner (tp_proxy_get_dbus_daemon (manager),
+ TP_ACCOUNT_MANAGER_BUS_NAME, _tp_account_manager_name_owner_cb,
+ manager, NULL);
+
+ _tp_account_manager_start_mc5 (tp_proxy_get_dbus_daemon (manager));
+}
diff --git a/telepathy-glib/account-manager.h b/telepathy-glib/account-manager.h
index 9ef47dd..f117cd2 100644
--- a/telepathy-glib/account-manager.h
+++ b/telepathy-glib/account-manager.h
@@ -103,6 +103,8 @@ void tp_account_manager_prepare_async (TpAccountManager *manager,
gboolean tp_account_manager_prepare_finish (TpAccountManager *manager,
GAsyncResult *result, GError **error);
+void tp_account_manager_enable_restart (TpAccountManager *manager);
+
G_END_DECLS
#include <telepathy-glib/_gen/tp-cli-account-manager.h>
--
1.5.6.5
More information about the telepathy-commits
mailing list