[telepathy-mission-control/master] _mcd_client_proxy_new: take the whole well-known name, not just the suffix
Simon McVittie
simon.mcvittie at collabora.co.uk
Tue Sep 22 06:00:02 PDT 2009
---
src/mcd-client-priv.h | 2 +-
src/mcd-client.c | 16 +++++++++-------
src/mcd-dispatcher.c | 3 +--
3 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/src/mcd-client-priv.h b/src/mcd-client-priv.h
index 768d915..11c1339 100644
--- a/src/mcd-client-priv.h
+++ b/src/mcd-client-priv.h
@@ -69,7 +69,7 @@ G_GNUC_INTERNAL GType _mcd_client_proxy_get_type (void);
G_GNUC_INTERNAL McdClientProxy *_mcd_client_proxy_new (
TpDBusDaemon *dbus_daemon, TpHandleRepoIface *string_pool,
- const gchar *name_suffix, const gchar *unique_name_if_known,
+ const gchar *well_known_name, const gchar *unique_name_if_known,
gboolean activatable);
G_GNUC_INTERNAL gboolean _mcd_client_proxy_is_ready (McdClientProxy *self);
diff --git a/src/mcd-client.c b/src/mcd-client.c
index c5ba105..b974b7d 100644
--- a/src/mcd-client.c
+++ b/src/mcd-client.c
@@ -422,21 +422,24 @@ _mcd_client_check_valid_name (const gchar *name_suffix,
McdClientProxy *
_mcd_client_proxy_new (TpDBusDaemon *dbus_daemon,
TpHandleRepoIface *string_pool,
- const gchar *name_suffix,
+ const gchar *well_known_name,
const gchar *unique_name_if_known,
gboolean activatable)
{
McdClientProxy *self;
- gchar *bus_name, *object_path;
+ const gchar *name_suffix;
+ gchar *object_path;
+ g_return_val_if_fail (g_str_has_prefix (well_known_name,
+ TP_CLIENT_BUS_NAME_BASE), NULL);
+ name_suffix = well_known_name + MC_CLIENT_BUS_NAME_BASE_LEN;
g_return_val_if_fail (_mcd_client_check_valid_name (name_suffix, NULL),
NULL);
- bus_name = g_strconcat (TP_CLIENT_BUS_NAME_BASE, name_suffix, NULL);
- object_path = g_strconcat (TP_CLIENT_OBJECT_PATH_BASE, name_suffix, NULL);
+ object_path = g_strconcat ("/", well_known_name, NULL);
g_strdelimit (object_path, ".", '/');
- g_assert (tp_dbus_check_valid_bus_name (bus_name,
+ g_assert (tp_dbus_check_valid_bus_name (well_known_name,
TP_DBUS_NAME_TYPE_WELL_KNOWN,
NULL));
g_assert (tp_dbus_check_valid_object_path (object_path, NULL));
@@ -445,13 +448,12 @@ _mcd_client_proxy_new (TpDBusDaemon *dbus_daemon,
"dbus-daemon", dbus_daemon,
"string-pool", string_pool,
"object-path", object_path,
- "bus-name", bus_name,
+ "bus-name", well_known_name,
"unique-name", unique_name_if_known,
"activatable", activatable,
NULL);
g_free (object_path);
- g_free (bus_name);
return self;
}
diff --git a/src/mcd-dispatcher.c b/src/mcd-dispatcher.c
index a4d38fd..285c2c3 100644
--- a/src/mcd-dispatcher.c
+++ b/src/mcd-dispatcher.c
@@ -2498,8 +2498,7 @@ create_mcd_client (McdDispatcher *self,
client = _mcd_client_proxy_new (
self->priv->dbus_daemon, self->priv->string_pool,
- name + MC_CLIENT_BUS_NAME_BASE_LEN,
- owner, activatable);
+ name, owner, activatable);
DEBUG ("McdClientProxy created for %s", name);
--
1.5.6.5
More information about the telepathy-commits
mailing list