[next] telepathy-rakia: RakiaConnection: redo initialization now that it' s a GDBusObjectSkeleton

Simon McVittie smcv at kemper.freedesktop.org
Wed May 7 02:18:27 PDT 2014


Module: telepathy-rakia
Branch: next
Commit: ce574d858443398abda95440cb154469194e7a4a
URL:    http://cgit.freedesktop.org/telepathy/telepathy-rakia/commit/?id=ce574d858443398abda95440cb154469194e7a4a

Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date:   Tue Apr 22 15:14:07 2014 +0100

RakiaConnection: redo initialization now that it's a GDBusObjectSkeleton

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189

---

 src/sip-connection.c |   33 +++++++++++++++++----------------
 1 file changed, 17 insertions(+), 16 deletions(-)

diff --git a/src/sip-connection.c b/src/sip-connection.c
index ed70320..1c288b0 100644
--- a/src/sip-connection.c
+++ b/src/sip-connection.c
@@ -427,21 +427,6 @@ rakia_connection_get_implemented_interfaces (void)
   return interfaces_always_present;
 }
 
-static GPtrArray *
-get_interfaces_always_present (TpBaseConnection *base)
-{
-  GPtrArray *arr;
-  const gchar **iter;
-
-  arr = TP_BASE_CONNECTION_CLASS (
-      rakia_connection_parent_class)->get_interfaces_always_present (base);
-
-  for (iter = interfaces_always_present; *iter != NULL; iter++)
-    g_ptr_array_add (arr, (gchar *) *iter);
-
-  return arr;
-}
-
 static nua_handle_t *rakia_connection_create_nua_handle (RakiaBaseConnection *,
     TpHandle);
 static void rakia_connection_add_auth_handler (RakiaBaseConnection *,
@@ -462,6 +447,22 @@ rakia_connection_fill_contact_attributes (TpBaseConnection *base,
 }
 
 static void
+rakia_connection_constructed (GObject *object)
+{
+  void (*chain_up) (GObject *) =
+      G_OBJECT_CLASS (rakia_connection_parent_class)->constructed;
+  GDBusObjectSkeleton *skel = G_DBUS_OBJECT_SKELETON (object);
+  GDBusInterfaceSkeleton *iface;
+
+  chain_up (object);
+
+  iface = tp_svc_interface_skeleton_new (skel,
+      TP_TYPE_SVC_CONNECTION_INTERFACE_ALIASING1);
+  g_dbus_object_skeleton_add_interface (skel, iface);
+  g_object_unref (iface);
+}
+
+static void
 rakia_connection_class_init (RakiaConnectionClass *klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
@@ -480,12 +481,12 @@ rakia_connection_class_init (RakiaConnectionClass *klass)
   base_class->disconnected = rakia_connection_disconnected;
   base_class->start_connecting = rakia_connection_start_connecting;
   base_class->shut_down = rakia_connection_shut_down;
-  base_class->get_interfaces_always_present = get_interfaces_always_present;
   base_class->fill_contact_attributes =
     rakia_connection_fill_contact_attributes;
 
   g_type_class_add_private (klass, sizeof (RakiaConnectionPrivate));
 
+  object_class->constructed = rakia_connection_constructed;
   object_class->dispose = rakia_connection_dispose;
   object_class->finalize = rakia_connection_finalize;
 



More information about the telepathy-commits mailing list