[aravis/dom] gc_property_node: add get_linked_node member.



commit a0a1c75113356843069aa0ea0c0fc1d5be36dd91
Author: Emmanuel Pacaud <emmanuel gnome org>
Date:   Thu Mar 1 11:13:57 2012 +0100

    gc_property_node: add get_linked_node member.

 src/arvgcpropertynode.c |   14 ++++++++++++++
 src/arvgcpropertynode.h |    1 +
 2 files changed, 15 insertions(+), 0 deletions(-)
---
diff --git a/src/arvgcpropertynode.c b/src/arvgcpropertynode.c
index 21c54ba..01243ab 100644
--- a/src/arvgcpropertynode.c
+++ b/src/arvgcpropertynode.c
@@ -220,6 +220,20 @@ arv_gc_property_node_get_node_type (ArvGcPropertyNode *node)
 	return node->type;
 }
 
+ArvGcNode *
+arv_gc_property_node_get_linked_node (ArvGcPropertyNode *node)
+{
+	ArvGc *genicam;
+	ArvDomNode *child;
+
+	g_return_val_if_fail (ARV_IS_GC_PROPERTY_NODE (node), NULL);
+	g_return_val_if_fail (node->type > ARV_GC_PROPERTY_NODE_TYPE_P_UNKNONW, NULL);
+
+	genicam = arv_gc_node_get_genicam (ARV_GC_NODE (node));
+	child = arv_dom_node_get_first_child (ARV_DOM_NODE (node));
+	return arv_gc_get_node (genicam, arv_dom_character_data_get_data (ARV_DOM_CHARACTER_DATA (child)));
+}
+
 static ArvGcNode *
 arv_gc_property_node_new (ArvGcPropertyNodeType type)
 {
diff --git a/src/arvgcpropertynode.h b/src/arvgcpropertynode.h
index 4f86c83..f8425aa 100644
--- a/src/arvgcpropertynode.h
+++ b/src/arvgcpropertynode.h
@@ -108,6 +108,7 @@ gint64			arv_gc_property_node_get_int64		(ArvGcPropertyNode *node);
 void			arv_gc_property_node_set_int64		(ArvGcPropertyNode *node, gint64 v_int64);
 double 			arv_gc_property_node_get_double 	(ArvGcPropertyNode *node);
 void 			arv_gc_property_node_set_double 	(ArvGcPropertyNode *node, double v_double);
+ArvGcNode *		arv_gc_property_node_get_linked_node	(ArvGcPropertyNode *node);
 ArvGcPropertyNodeType	arv_gc_property_node_get_node_type	(ArvGcPropertyNode *node);
 
 G_END_DECLS



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]