summaryrefslogtreecommitdiffstats
path: root/glib/dbus-gidl.c
diff options
context:
space:
mode:
Diffstat (limited to 'glib/dbus-gidl.c')
-rw-r--r--glib/dbus-gidl.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/glib/dbus-gidl.c b/glib/dbus-gidl.c
index cabc406b..8e0dc0da 100644
--- a/glib/dbus-gidl.c
+++ b/glib/dbus-gidl.c
@@ -303,6 +303,20 @@ node_info_add_node (NodeInfo *info,
info->nodes = g_slist_append (info->nodes, node);
}
+void
+node_info_replace_node (NodeInfo *info,
+ NodeInfo *old_child,
+ NodeInfo *new_child)
+{
+ GSList *link;
+
+ node_info_ref (new_child); /* before unref old_child in case they are the same */
+ link = g_slist_find (info->nodes, old_child);
+ g_assert (link != NULL);
+ node_info_unref (old_child);
+ link->data = new_child;
+}
+
InterfaceInfo*
interface_info_new (const char *name)
{