diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2014-04-22 15:14:07 +0100 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2014-04-22 15:14:07 +0100 |
commit | 99781339f79ffccd478bc8cc8d073cb69d3de1a4 (patch) | |
tree | 61eec816407807e58bc0080f305152285ebcc99f | |
parent | 5e902ffedc17352230d1347e88680d5dacce037a (diff) |
RakiaConnection: redo initialization now that it's a GDBusObjectSkeletongdbus-object
-rw-r--r-- | src/sip-connection.c | 33 |
1 files 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; |