[aravis/dom] dom: make it build with get_node_name as dom_node member.
- From: Emmanuel Pacaud <emmanuel src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [aravis/dom] dom: make it build with get_node_name as dom_node member.
- Date: Tue, 28 Feb 2012 12:34:48 +0000 (UTC)
commit b1eb8ab9555b6f1a260e1aea63e3ae74c1af1241
Author: Emmanuel Pacaud <emmanuel gnome org>
Date: Tue Feb 28 13:34:02 2012 +0100
dom: make it build with get_node_name as dom_node member.
src/Makefile.am | 2 +
src/arvdomimplementation.c | 27 +++++++-----
src/arvdomimplementation.h | 6 +-
src/arvgc.c | 81 +++++++++++++++++++++++++++++++----
src/arvgcboolean.c | 24 ++++++-----
src/arvgccategory.c | 58 ++++++++++++++-----------
src/arvgccommand.c | 18 ++++----
src/arvgcconverter.c | 24 ++++++-----
src/arvgcenumentry.c | 20 +++++----
src/arvgcenumeration.c | 21 +++++----
src/arvgcfloatnode.c | 26 ++++++-----
src/arvgcintegernode.c | 26 ++++++-----
src/arvgcnode.c | 31 ++++----------
src/arvgcnode.h | 5 +-
src/arvgcport.c | 17 ++++---
src/arvgcregister.c | 26 ++++++-----
src/arvgcregisterdescriptionnode.c | 77 ++++++++++++++++++++++++++++++++++
src/arvgcregisterdescriptionnode.h | 52 +++++++++++++++++++++++
src/arvgcswissknife.c | 24 ++++++-----
src/arvtool.c | 6 +-
src/arvtypes.h | 43 ++++++++++---------
21 files changed, 411 insertions(+), 203 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index 8548c45..71fb4f9 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -46,6 +46,7 @@ ARAVIS_SRCS = \
arvcamera.c \
arvgc.c \
arvgcnode.c \
+ arvgcregisterdescriptionnode.c \
arvgccategory.c \
arvgcboolean.c \
arvgcenumeration.c \
@@ -99,6 +100,7 @@ ARAVIS_HDRS = \
arvcamera.h \
arvgc.h \
arvgcnode.h \
+ arvgcregisterdescriptionnode.h \
arvgccategory.h \
arvgcboolean.h \
arvgcenumeration.h \
diff --git a/src/arvdomimplementation.c b/src/arvdomimplementation.c
index e05ef65..d8dcc48 100644
--- a/src/arvdomimplementation.c
+++ b/src/arvdomimplementation.c
@@ -1,6 +1,6 @@
/* Aravis
*
- * Copyright  2007-2009 Emmanuel Pacaud
+ * Copyright  2007-2012 Emmanuel Pacaud
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -23,41 +23,46 @@
#include <arvdomimplementation.h>
#include <arvdebug.h>
+#include <arvgc.h>
#include <string.h>
static GHashTable *document_types = NULL;
void
-arv_dom_implementation_add_create_function (const char *qualified_name,
- ArvDomDocumentCreateFunction create_function)
+arv_dom_implementation_add_document_type (const char *qualified_name,
+ GType document_type)
{
+ GType *document_type_ptr;
+
if (document_types == NULL)
- document_types = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
+ document_types = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
+
+ document_type_ptr = g_new (GType, 1);
+ *document_type_ptr = document_type;
- g_hash_table_insert (document_types, g_strdup (qualified_name), create_function);
+ g_hash_table_insert (document_types, g_strdup (qualified_name), document_type_ptr);
}
ArvDomDocument *
arv_dom_implementation_create_document (const char *namespace_uri,
const char *qualified_name)
{
- ArvDomDocumentCreateFunction create_function;
+ GType *document_type;
g_return_val_if_fail (qualified_name != NULL, NULL);
if (document_types == NULL) {
-/* arv_dom_implementation_add_create_function ("math", lsm_mathml_document_new);*/
-/* arv_dom_implementation_add_create_function ("svg", lsm_svg_document_new);*/
+ arv_dom_implementation_add_document_type ("RegisterDescription", ARV_TYPE_GC);
}
- create_function = g_hash_table_lookup (document_types, qualified_name);
- if (create_function == NULL) {
+ document_type = g_hash_table_lookup (document_types, qualified_name);
+ if (document_type == NULL) {
arv_debug_dom ("[ArvDomImplementation::create_document] Unknow document type (%s)",
qualified_name);
return NULL;
}
- return create_function ();
+ return g_object_new (*document_type, NULL);
}
void
diff --git a/src/arvdomimplementation.h b/src/arvdomimplementation.h
index 38e3426..242e0f8 100644
--- a/src/arvdomimplementation.h
+++ b/src/arvdomimplementation.h
@@ -1,6 +1,6 @@
/* Aravis
*
- * Copyright  2007-2009 Emmanuel Pacaud
+ * Copyright  2007-2012 Emmanuel Pacaud
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -33,8 +33,8 @@ typedef ArvDomDocument * (*ArvDomDocumentCreateFunction) (void);
ArvDomDocument * arv_dom_implementation_create_document (const char *namespace_uri,
const char *qualified_name);
-void arv_dom_implementation_add_document_create_function (const char *qualified_name,
- ArvDomDocumentCreateFunction create_function);
+void arv_dom_implementation_add_document_type (const char *qualified_name,
+ GType document_type);
void arv_dom_implementation_cleanup (void);
diff --git a/src/arvgc.c b/src/arvgc.c
index 45350b4..b4d11bb 100644
--- a/src/arvgc.c
+++ b/src/arvgc.c
@@ -1,6 +1,6 @@
/* Aravis - Digital camera library
*
- * Copyright  2009-2010 Emmanuel Pacaud
+ * Copyright  2009-2012 Emmanuel Pacaud
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -44,11 +44,66 @@
#include <arvgcconverter.h>
#include <arvgcport.h>
#include <arvdebug.h>
-#include <libxml/parser.h>
+#include <arvdomparser.h>
#include <string.h>
static GObjectClass *parent_class = NULL;
+/* ArvDomNode implementation */
+
+static gboolean
+arv_gc_can_append_child (ArvDomNode *self, ArvDomNode *child)
+{
+ /* FIXME */
+
+ return TRUE;
+}
+
+/* ArvDomDocument implementation */
+
+static ArvDomElement *
+arv_gc_create_element (ArvDomDocument *document, const char *tag_name)
+{
+ ArvGcNode *node = NULL;
+
+ if (strcmp (tag_name, "Category") == 0)
+ node = arv_gc_category_new ();
+ else if (strcmp (tag_name, "Command") == 0)
+ node = arv_gc_command_new ();
+ else if (strcmp (tag_name, "Converter") == 0)
+ node = arv_gc_converter_new ();
+ else if (strcmp (tag_name, "IntConverter") == 0)
+ node = arv_gc_converter_new_integer ();
+ else if (strcmp (tag_name, "IntReg") == 0)
+ node = arv_gc_register_new_integer ();
+ else if (strcmp (tag_name, "MaskedIntReg") == 0)
+ node = arv_gc_register_new_masked_integer ();
+ else if (strcmp (tag_name, "FloatReg") == 0)
+ node = arv_gc_register_new_float ();
+ else if (strcmp (tag_name, "StringReg") == 0)
+ node = arv_gc_register_new_string ();
+ else if (strcmp (tag_name, "Integer") == 0)
+ node = arv_gc_integer_node_new ();
+ else if (strcmp (tag_name, "Float") == 0)
+ node = arv_gc_float_node_new ();
+ else if (strcmp (tag_name, "Boolean") == 0)
+ node = arv_gc_boolean_new ();
+ else if (strcmp (tag_name, "Enumeration") == 0)
+ node = arv_gc_enumeration_new ();
+ else if (strcmp (tag_name, "EnumEntry") == 0)
+ node = arv_gc_enum_entry_new ();
+ else if (strcmp (tag_name, "SwissKnife") == 0)
+ node = arv_gc_swiss_knife_new ();
+ else if (strcmp (tag_name, "IntSwissKnife") == 0)
+ node = arv_gc_swiss_knife_new_integer ();
+ else if (strcmp (tag_name, "Port") == 0)
+ node = arv_gc_port_new ();
+ else
+ arv_debug_dom ("[Genicam::create_element] Unknow tag (%s)", tag_name);
+
+ return ARV_DOM_ELEMENT (node);
+}
+
#if 0
static ArvGcNode *
arv_gc_create_node (ArvGc *genicam, const char *type)
@@ -296,6 +351,8 @@ arv_gc_parse_xml (ArvGc *genicam, const char *xml, size_t size)
}
#endif
+/* ArvGc implementation */
+
/**
* arv_gc_get_node:
* @genicam: a #ArvGc object
@@ -416,19 +473,19 @@ arv_gc_set_double_to_value (ArvGc *genicam, GValue *value, double v_double)
ArvGc *
arv_gc_new (ArvDevice *device, const void *xml, size_t size)
{
+ ArvDomDocument *document;
ArvGc *genicam;
- g_return_val_if_fail (xml != NULL, NULL);
- if (size == 0)
- size = strlen ((char *) xml);
+ document = arv_dom_document_new_from_memory (xml, size, NULL);
+ if (!ARV_IS_GC (document)) {
+ if (document != NULL)
+ g_object_unref (document);
+ return NULL;
+ }
- genicam = g_object_new (ARV_TYPE_GC, NULL);
- g_return_val_if_fail (genicam != NULL, NULL);
+ genicam = ARV_GC (document);
genicam->device = device;
- /* FIXME */
-/* arv_gc_parse_xml (genicam, (char *) xml, size);*/
-
return genicam;
}
@@ -452,10 +509,14 @@ static void
arv_gc_class_init (ArvGcClass *node_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (node_class);
+ ArvDomNodeClass *d_node_class = ARV_DOM_NODE_CLASS (node_class);
+ ArvDomDocumentClass *d_document_class = ARV_DOM_DOCUMENT_CLASS (node_class);
parent_class = g_type_class_peek_parent (node_class);
object_class->finalize = arv_gc_finalize;
+ d_node_class->can_append_child = arv_gc_can_append_child;
+ d_document_class->create_element = arv_gc_create_element;
}
G_DEFINE_TYPE (ArvGc, arv_gc, ARV_TYPE_DOM_DOCUMENT)
diff --git a/src/arvgcboolean.c b/src/arvgcboolean.c
index 63b26bc..de463c3 100644
--- a/src/arvgcboolean.c
+++ b/src/arvgcboolean.c
@@ -32,14 +32,16 @@
static GObjectClass *parent_class = NULL;
-/* ArvGcNode implementation */
+/* ArvDomNode implementation */
static const char *
-arv_gc_boolean_get_node_name (ArvGcNode *node)
+arv_gc_boolean_get_node_name (ArvDomNode *node)
{
return "Boolean";
}
+/* ArvGcNode implementation */
+
static void
arv_gc_boolean_add_element (ArvGcNode *node, const char *name, const char *content, const char **attributes)
{
@@ -121,19 +123,19 @@ arv_gc_boolean_finalize (GObject *object)
}
static void
-arv_gc_boolean_class_init (ArvGcBooleanClass *boolean_class)
+arv_gc_boolean_class_init (ArvGcBooleanClass *this_class)
{
- GObjectClass *object_class = G_OBJECT_CLASS (boolean_class);
- ArvGcNodeClass *node_class = ARV_GC_NODE_CLASS (boolean_class);
+ GObjectClass *object_class = G_OBJECT_CLASS (this_class);
+ ArvDomNodeClass *dom_node_class = ARV_DOM_NODE_CLASS (this_class);
+ ArvGcNodeClass *gc_node_class = ARV_GC_NODE_CLASS (this_class);
- parent_class = g_type_class_peek_parent (boolean_class);
+ parent_class = g_type_class_peek_parent (this_class);
object_class->finalize = arv_gc_boolean_finalize;
-
- node_class->get_node_name = arv_gc_boolean_get_node_name;
- node_class->add_element = arv_gc_boolean_add_element;
- node_class->set_value_from_string = arv_gc_boolean_set_value_from_string;
- node_class->get_value_as_string = arv_gc_boolean_get_value_as_string;
+ dom_node_class->get_node_name = arv_gc_boolean_get_node_name;
+ gc_node_class->add_element = arv_gc_boolean_add_element;
+ gc_node_class->set_value_from_string = arv_gc_boolean_set_value_from_string;
+ gc_node_class->get_value_as_string = arv_gc_boolean_get_value_as_string;
}
/* ArvGcInteger interface implementation */
diff --git a/src/arvgccategory.c b/src/arvgccategory.c
index 49651c4..3340231 100644
--- a/src/arvgccategory.c
+++ b/src/arvgccategory.c
@@ -1,6 +1,6 @@
/* Aravis - Digital camera library
*
- * Copyright  2009-2010 Emmanuel Pacaud
+ * Copyright  2009-2012 Emmanuel Pacaud
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -22,7 +22,7 @@
/**
* SECTION: arvgccategory
- * @short_description: Class for Category nodes
+ * @short_description: Class for Category elements
*/
#include <arvgccategory.h>
@@ -31,27 +31,27 @@
static GObjectClass *parent_class = NULL;
-/* ArvGcNode implementation */
+/* ArvDomNode implementation */
static const char *
-arv_gc_category_get_node_name (ArvGcNode *node)
+_get_node_name (ArvDomNode *node)
{
return "Category";
}
+/* ArvGcCategory implementation */
+
static void
-arv_gc_category_add_element (ArvGcNode *node, const char *name, const char *content, const char **attributes)
+_free_features (ArvGcCategory *category)
{
- ArvGcCategory *category = ARV_GC_CATEGORY (node);
+ GSList *iter;
- if (strcmp (name, "pFeature") == 0) {
- category->features = g_slist_append (category->features, g_strdup (content));
- } else
- ARV_GC_NODE_CLASS (parent_class)->add_element (node, name, content, attributes);
+ for (iter = category->features; iter != NULL; iter = iter->next)
+ g_free (iter->data);
+ g_slist_free (category->features);
+ category->features = NULL;
}
-/* ArvGcCategory implementation */
-
/**
* arv_gc_category_get_features:
* @category: a #ArvGcCategory
@@ -64,8 +64,19 @@ arv_gc_category_add_element (ArvGcNode *node, const char *name, const char *cont
const GSList *
arv_gc_category_get_features (ArvGcCategory *category)
{
+ ArvDomNode *iter;
+
g_return_val_if_fail (ARV_IS_GC_CATEGORY (category), NULL);
+ _free_features (category);
+
+ for (iter = arv_dom_node_get_first_child (ARV_DOM_NODE (category));
+ iter != NULL;
+ iter = arv_dom_node_get_next_sibling (iter))
+ if (g_strcmp0 (arv_gc_node_get_name (ARV_GC_NODE (iter)), "pFeature") == 0)
+ category->features = g_slist_append (category->features,
+ g_strdup (arv_gc_node_get_content (ARV_GC_NODE (iter))));
+
return category->features;
}
@@ -86,30 +97,25 @@ arv_gc_category_init (ArvGcCategory *gc_category)
}
static void
-arv_gc_category_finalize (GObject *object)
+_finalize (GObject *object)
{
- ArvGcCategory *gc_category = ARV_GC_CATEGORY (object);
- GSList *iter;
+ ArvGcCategory *category = ARV_GC_CATEGORY (object);
- for (iter = gc_category->features; iter != NULL; iter = iter->next)
- g_free (iter->data);
- g_slist_free (gc_category->features);
+ _free_features (category);
parent_class->finalize (object);
}
static void
-arv_gc_category_class_init (ArvGcCategoryClass *category_class)
+arv_gc_category_class_init (ArvGcCategoryClass *this_class)
{
- GObjectClass *object_class = G_OBJECT_CLASS (category_class);
- ArvGcNodeClass *node_class = ARV_GC_NODE_CLASS (category_class);
-
- parent_class = g_type_class_peek_parent (category_class);
+ GObjectClass *object_class = G_OBJECT_CLASS (this_class);
+ ArvDomNodeClass *dom_node_class = ARV_DOM_NODE_CLASS (this_class);
- object_class->finalize = arv_gc_category_finalize;
+ parent_class = g_type_class_peek_parent (this_class);
- node_class->get_node_name = arv_gc_category_get_node_name;
- node_class->add_element = arv_gc_category_add_element;
+ object_class->finalize = _finalize;
+ dom_node_class->get_node_name = _get_node_name;
}
G_DEFINE_TYPE (ArvGcCategory, arv_gc_category, ARV_TYPE_GC_NODE)
diff --git a/src/arvgccommand.c b/src/arvgccommand.c
index d95e610..8d6cb4d 100644
--- a/src/arvgccommand.c
+++ b/src/arvgccommand.c
@@ -39,11 +39,13 @@ static GObjectClass *parent_class = NULL;
/* ArvGcNode implementation */
static const char *
-arv_gc_command_get_node_name (ArvGcNode *node)
+arv_gc_command_get_node_name (ArvDomNode *node)
{
return "Command";
}
+/* ArvGcNode implementation */
+
static void
arv_gc_command_add_element (ArvGcNode *node, const char *name, const char *content, const char **attributes)
{
@@ -113,17 +115,17 @@ arv_gc_command_finalize (GObject *object)
}
static void
-arv_gc_command_class_init (ArvGcCommandClass *command_class)
+arv_gc_command_class_init (ArvGcCommandClass *this_class)
{
- GObjectClass *object_class = G_OBJECT_CLASS (command_class);
- ArvGcNodeClass *node_class = ARV_GC_NODE_CLASS (command_class);
+ GObjectClass *object_class = G_OBJECT_CLASS (this_class);
+ ArvDomNodeClass *dom_node_class = ARV_DOM_NODE_CLASS (this_class);
+ ArvGcNodeClass *gc_node_class = ARV_GC_NODE_CLASS (this_class);
- parent_class = g_type_class_peek_parent (command_class);
+ parent_class = g_type_class_peek_parent (this_class);
object_class->finalize = arv_gc_command_finalize;
-
- node_class->get_node_name = arv_gc_command_get_node_name;
- node_class->add_element = arv_gc_command_add_element;
+ dom_node_class->get_node_name = arv_gc_command_get_node_name;
+ gc_node_class->add_element = arv_gc_command_add_element;
}
G_DEFINE_TYPE (ArvGcCommand, arv_gc_command, ARV_TYPE_GC_NODE)
diff --git a/src/arvgcconverter.c b/src/arvgcconverter.c
index ab44dfd..1f31a26 100644
--- a/src/arvgcconverter.c
+++ b/src/arvgcconverter.c
@@ -37,15 +37,15 @@
static GObjectClass *parent_class = NULL;
-/* ArvGcNode implementation */
-
typedef struct {
char *name;
char *node_name;
} ArvGcConverterVariableInfos;
+/* ArvDomNode implementation */
+
static const char *
-arv_gc_converter_get_node_name (ArvGcNode *node)
+arv_gc_converter_get_node_name (ArvDomNode *node)
{
ArvGcConverter *gc_converter = ARV_GC_CONVERTER (node);
@@ -55,6 +55,8 @@ arv_gc_converter_get_node_name (ArvGcNode *node)
return "IntConverter";
}
+/* ArvGcNode implementation */
+
static void
arv_gc_converter_add_element (ArvGcNode *node, const char *name, const char *content, const char **attributes)
{
@@ -161,18 +163,18 @@ arv_gc_converter_finalize (GObject *object)
}
static void
-arv_gc_converter_class_init (ArvGcConverterClass *converter_class)
+arv_gc_converter_class_init (ArvGcConverterClass *this_class)
{
- GObjectClass *object_class = G_OBJECT_CLASS (converter_class);
- ArvGcNodeClass *node_class = ARV_GC_NODE_CLASS (converter_class);
+ GObjectClass *object_class = G_OBJECT_CLASS (this_class);
+ ArvDomNodeClass *dom_node_class = ARV_DOM_NODE_CLASS (this_class);
+ ArvGcNodeClass *gc_node_class = ARV_GC_NODE_CLASS (this_class);
- parent_class = g_type_class_peek_parent (converter_class);
+ parent_class = g_type_class_peek_parent (this_class);
object_class->finalize = arv_gc_converter_finalize;
-
- node_class->get_node_name = arv_gc_converter_get_node_name;
- node_class->add_element = arv_gc_converter_add_element;
- node_class->get_value_type = arv_gc_converter_node_get_value_type;
+ dom_node_class->get_node_name = arv_gc_converter_get_node_name;
+ gc_node_class->add_element = arv_gc_converter_add_element;
+ gc_node_class->get_value_type = arv_gc_converter_node_get_value_type;
}
/* ArvGcInteger interface implementation */
diff --git a/src/arvgcenumentry.c b/src/arvgcenumentry.c
index bcb6202..2a77396 100644
--- a/src/arvgcenumentry.c
+++ b/src/arvgcenumentry.c
@@ -31,14 +31,16 @@
static GObjectClass *parent_class = NULL;
-/* ArvGcNode implementation */
+/* ArvDomNode implementation */
static const char *
-arv_gc_enum_entry_get_node_name (ArvGcNode *node)
+arv_gc_enum_entry_get_node_name (ArvDomNode *node)
{
return "EnumEntry";
}
+/* ArvGcNode implementation */
+
static void
arv_gc_enum_entry_add_element (ArvGcNode *node, const char *name, const char *content, const char **attributes)
{
@@ -85,17 +87,17 @@ arv_gc_enum_entry_finalize (GObject *object)
}
static void
-arv_gc_enum_entry_class_init (ArvGcEnumEntryClass *enum_entry_class)
+arv_gc_enum_entry_class_init (ArvGcEnumEntryClass *this_class)
{
- GObjectClass *object_class = G_OBJECT_CLASS (enum_entry_class);
- ArvGcNodeClass *node_class = ARV_GC_NODE_CLASS (enum_entry_class);
+ GObjectClass *object_class = G_OBJECT_CLASS (this_class);
+ ArvDomNodeClass *dom_node_class = ARV_DOM_NODE_CLASS (this_class);
+ ArvGcNodeClass *gc_node_class = ARV_GC_NODE_CLASS (this_class);
- parent_class = g_type_class_peek_parent (enum_entry_class);
+ parent_class = g_type_class_peek_parent (this_class);
object_class->finalize = arv_gc_enum_entry_finalize;
-
- node_class->get_node_name = arv_gc_enum_entry_get_node_name;
- node_class->add_element = arv_gc_enum_entry_add_element;
+ dom_node_class->get_node_name = arv_gc_enum_entry_get_node_name;
+ gc_node_class->add_element = arv_gc_enum_entry_add_element;
}
G_DEFINE_TYPE (ArvGcEnumEntry, arv_gc_enum_entry, ARV_TYPE_GC_NODE)
diff --git a/src/arvgcenumeration.c b/src/arvgcenumeration.c
index ee97f12..5c77256 100644
--- a/src/arvgcenumeration.c
+++ b/src/arvgcenumeration.c
@@ -37,7 +37,7 @@ static GObjectClass *parent_class = NULL;
/* ArvGcNode implementation */
static const char *
-arv_gc_enumeration_get_node_name (ArvGcNode *node)
+arv_gc_enumeration_get_node_name (ArvDomNode *node)
{
return "Enumeration";
}
@@ -222,20 +222,21 @@ arv_gc_enumeration_finalize (GObject *object)
}
static void
-arv_gc_enumeration_class_init (ArvGcEnumerationClass *enumeration_class)
+arv_gc_enumeration_class_init (ArvGcEnumerationClass *this_class)
{
- GObjectClass *object_class = G_OBJECT_CLASS (enumeration_class);
- ArvGcNodeClass *node_class = ARV_GC_NODE_CLASS (enumeration_class);
+ GObjectClass *object_class = G_OBJECT_CLASS (this_class);
+ ArvDomNodeClass *dom_node_class = ARV_DOM_NODE_CLASS (this_class);
+ ArvGcNodeClass *gc_node_class = ARV_GC_NODE_CLASS (this_class);
- parent_class = g_type_class_peek_parent (enumeration_class);
+ parent_class = g_type_class_peek_parent (this_class);
object_class->finalize = arv_gc_enumeration_finalize;
- node_class->get_node_name = arv_gc_enumeration_get_node_name;
- node_class->add_element = arv_gc_enumeration_add_element;
- node_class->can_add_child = arv_gc_enumeration_can_add_child;
- node_class->set_value_from_string = arv_gc_enumeration_set_value_from_string;
- node_class->get_value_as_string = arv_gc_enumeration_get_value_as_string;
+ dom_node_class->get_node_name = arv_gc_enumeration_get_node_name;
+ gc_node_class->add_element = arv_gc_enumeration_add_element;
+ gc_node_class->can_add_child = arv_gc_enumeration_can_add_child;
+ gc_node_class->set_value_from_string = arv_gc_enumeration_set_value_from_string;
+ gc_node_class->get_value_as_string = arv_gc_enumeration_get_value_as_string;
}
G_DEFINE_TYPE (ArvGcEnumeration, arv_gc_enumeration, ARV_TYPE_GC_NODE)
diff --git a/src/arvgcfloatnode.c b/src/arvgcfloatnode.c
index 1f472fb..a1da449 100644
--- a/src/arvgcfloatnode.c
+++ b/src/arvgcfloatnode.c
@@ -34,14 +34,16 @@
static GObjectClass *parent_class = NULL;
-/* ArvGcNode implementation */
+/* ArvDomNode implementation */
static const char *
-arv_gc_float_node_get_node_name (ArvGcNode *node)
+arv_gc_float_node_get_node_name (ArvDomNode *node)
{
return "Float";
}
+/* ArvGcNode implementation */
+
static void
arv_gc_float_node_add_element (ArvGcNode *node, const char *name, const char *content, const char **attributes)
{
@@ -144,20 +146,20 @@ arv_gc_float_node_finalize (GObject *object)
}
static void
-arv_gc_float_node_class_init (ArvGcFloatNodeClass *float_node_class)
+arv_gc_float_node_class_init (ArvGcFloatNodeClass *this_class)
{
- GObjectClass *object_class = G_OBJECT_CLASS (float_node_class);
- ArvGcNodeClass *node_class = ARV_GC_NODE_CLASS (float_node_class);
+ GObjectClass *object_class = G_OBJECT_CLASS (this_class);
+ ArvDomNodeClass *dom_node_class = ARV_DOM_NODE_CLASS (this_class);
+ ArvGcNodeClass *gc_node_class = ARV_GC_NODE_CLASS (this_class);
- parent_class = g_type_class_peek_parent (float_node_class);
+ parent_class = g_type_class_peek_parent (this_class);
object_class->finalize = arv_gc_float_node_finalize;
-
- node_class->get_node_name = arv_gc_float_node_get_node_name;
- node_class->add_element = arv_gc_float_node_add_element;
- node_class->get_value_type = arv_gc_float_node_get_value_type;
- node_class->set_value_from_string = arv_gc_float_node_set_value_from_string;
- node_class->get_value_as_string = arv_gc_float_node_get_value_as_string;
+ dom_node_class->get_node_name = arv_gc_float_node_get_node_name;
+ gc_node_class->add_element = arv_gc_float_node_add_element;
+ gc_node_class->get_value_type = arv_gc_float_node_get_value_type;
+ gc_node_class->set_value_from_string = arv_gc_float_node_set_value_from_string;
+ gc_node_class->get_value_as_string = arv_gc_float_node_get_value_as_string;
}
/* ArvGcFloat interface implementation */
diff --git a/src/arvgcintegernode.c b/src/arvgcintegernode.c
index 19f9484..50b2bb2 100644
--- a/src/arvgcintegernode.c
+++ b/src/arvgcintegernode.c
@@ -34,14 +34,16 @@
static GObjectClass *parent_class = NULL;
-/* ArvGcNode implementation */
+/* ArvDomNode implementation */
static const char *
-arv_gc_integer_node_get_node_name (ArvGcNode *node)
+arv_gc_integer_node_get_node_name (ArvDomNode *node)
{
return "Integer";
}
+/* ArvGcNode implementation */
+
static void
arv_gc_integer_node_add_element (ArvGcNode *node, const char *name, const char *content, const char **attributes)
{
@@ -141,20 +143,20 @@ arv_gc_integer_node_finalize (GObject *object)
}
static void
-arv_gc_integer_node_class_init (ArvGcIntegerNodeClass *integer_node_class)
+arv_gc_integer_node_class_init (ArvGcIntegerNodeClass *this_class)
{
- GObjectClass *object_class = G_OBJECT_CLASS (integer_node_class);
- ArvGcNodeClass *node_class = ARV_GC_NODE_CLASS (integer_node_class);
+ GObjectClass *object_class = G_OBJECT_CLASS (this_class);
+ ArvDomNodeClass *dom_node_class = ARV_DOM_NODE_CLASS (this_class);
+ ArvGcNodeClass *gc_node_class = ARV_GC_NODE_CLASS (this_class);
- parent_class = g_type_class_peek_parent (integer_node_class);
+ parent_class = g_type_class_peek_parent (this_class);
object_class->finalize = arv_gc_integer_node_finalize;
-
- node_class->get_node_name = arv_gc_integer_node_get_node_name;
- node_class->add_element = arv_gc_integer_node_add_element;
- node_class->get_value_type = arv_gc_integer_node_get_value_type;
- node_class->set_value_from_string = arv_gc_integer_node_set_value_from_string;
- node_class->get_value_as_string = arv_gc_integer_node_get_value_as_string;
+ dom_node_class->get_node_name = arv_gc_integer_node_get_node_name;
+ gc_node_class->add_element = arv_gc_integer_node_add_element;
+ gc_node_class->get_value_type = arv_gc_integer_node_get_value_type;
+ gc_node_class->set_value_from_string = arv_gc_integer_node_set_value_from_string;
+ gc_node_class->get_value_as_string = arv_gc_integer_node_get_value_as_string;
}
/* ArvGcInteger interface implementation */
diff --git a/src/arvgcnode.c b/src/arvgcnode.c
index db6a5fa..7487e1f 100644
--- a/src/arvgcnode.c
+++ b/src/arvgcnode.c
@@ -54,6 +54,14 @@ struct _ArvGcNodePrivate {
};
const char *
+arv_gc_node_get_content (ArvGcNode *node)
+{
+ g_assert_not_reached ();
+ return NULL;
+}
+
+
+const char *
arv_gc_node_get_name (ArvGcNode *node)
{
g_return_val_if_fail (ARV_IS_GC_NODE (node), NULL);
@@ -208,29 +216,6 @@ arv_gc_node_new (void)
return node;
}
-/**
- * arv_gc_node_get_node_name:
- * @gc_node: a #ArvGcNode
- *
- * Retrieves the Genicam name of the given node ("Integer", "IntReg", ...).
- *
- * Returns: The node name, %NULL on error.
- */
-
-const char *
-arv_gc_node_get_node_name (ArvGcNode *gc_node)
-{
- ArvGcNodeClass *gc_node_class;
-
- g_return_val_if_fail (ARV_IS_GC_NODE (gc_node), FALSE);
-
- gc_node_class = ARV_GC_NODE_GET_CLASS (gc_node);
- if (gc_node_class->get_node_name != NULL)
- return gc_node_class->get_node_name (gc_node);
-
- return NULL;
-}
-
void
arv_gc_node_set_genicam (ArvGcNode *node, ArvGc *genicam)
{
diff --git a/src/arvgcnode.h b/src/arvgcnode.h
index 23b2475..b300ef4 100644
--- a/src/arvgcnode.h
+++ b/src/arvgcnode.h
@@ -47,8 +47,6 @@ struct _ArvGcNode {
struct _ArvGcNodeClass {
ArvDomElementClass parent_class;
- const char * (*get_node_name) (ArvGcNode *gc_node);
-
void (*set_attribute) (ArvGcNode *gc_node, const char *name, const char *value);
void (*add_element) (ArvGcNode *gc_node, const char *name, const char *content,
const char **attributes);
@@ -62,7 +60,6 @@ struct _ArvGcNodeClass {
GType arv_gc_node_get_type (void);
ArvGcNode * arv_gc_node_new (void);
-const char * arv_gc_node_get_node_name (ArvGcNode *gc_node);
GType arv_gc_node_get_value_type (ArvGcNode *gc_node);
void arv_gc_node_set_value_from_string (ArvGcNode *gc_node, const char *string);
const char * arv_gc_node_get_value_as_string (ArvGcNode *gc_node);
@@ -82,6 +79,8 @@ unsigned int arv_gc_node_get_n_childs (ArvGcNode *gc_node);
void arv_gc_node_inc_modification_count (ArvGcNode *gc_node);
gint arv_gc_node_get_modification_count (ArvGcNode *gc_node);
+const char * arv_gc_node_get_content (ArvGcNode *node);
+
G_END_DECLS
#endif
diff --git a/src/arvgcport.c b/src/arvgcport.c
index cdc231e..a55aaa5 100644
--- a/src/arvgcport.c
+++ b/src/arvgcport.c
@@ -31,12 +31,16 @@
static GObjectClass *parent_class = NULL;
+/* ArvDomNode implementation */
+
static const char *
-arv_gc_port_get_node_name (ArvGcNode *node)
+arv_gc_port_get_node_name (ArvDomNode *node)
{
return "Port";
}
+/* ArvGcPort implementation */
+
void
arv_gc_port_read (ArvGcPort *port, void *buffer, guint64 address, guint64 length)
{
@@ -87,16 +91,15 @@ arv_gc_port_finalize (GObject *object)
}
static void
-arv_gc_port_class_init (ArvGcPortClass *port_class)
+arv_gc_port_class_init (ArvGcPortClass *this_class)
{
- GObjectClass *object_class = G_OBJECT_CLASS (port_class);
- ArvGcNodeClass *node_class = ARV_GC_NODE_CLASS (port_class);
+ GObjectClass *object_class = G_OBJECT_CLASS (this_class);
+ ArvDomNodeClass *dom_node_class = ARV_DOM_NODE_CLASS (this_class);
- parent_class = g_type_class_peek_parent (port_class);
+ parent_class = g_type_class_peek_parent (this_class);
object_class->finalize = arv_gc_port_finalize;
-
- node_class->get_node_name = arv_gc_port_get_node_name;
+ dom_node_class->get_node_name = arv_gc_port_get_node_name;
}
G_DEFINE_TYPE (ArvGcPort, arv_gc_port, ARV_TYPE_GC_NODE)
diff --git a/src/arvgcregister.c b/src/arvgcregister.c
index 7b7445d..24cb019 100644
--- a/src/arvgcregister.c
+++ b/src/arvgcregister.c
@@ -43,10 +43,10 @@ typedef struct {
static GObjectClass *parent_class = NULL;
-/* ArvGcNode implementation */
+/* ArvDomNode implementation */
static const char *
-arv_gc_register_get_node_name (ArvGcNode *node)
+arv_gc_register_get_node_name (ArvDomNode *node)
{
ArvGcRegister *gc_register = ARV_GC_REGISTER (node);
@@ -66,6 +66,8 @@ arv_gc_register_get_node_name (ArvGcNode *node)
return NULL;
}
+/* ArvGcNode implementation */
+
static void
arv_gc_register_add_element (ArvGcNode *node, const char *name, const char *content, const char **attributes)
{
@@ -481,20 +483,20 @@ arv_gc_register_finalize (GObject *object)
}
static void
-arv_gc_register_class_init (ArvGcRegisterClass *register_class)
+arv_gc_register_class_init (ArvGcRegisterClass *this_class)
{
- GObjectClass *object_class = G_OBJECT_CLASS (register_class);
- ArvGcNodeClass *node_class = ARV_GC_NODE_CLASS (register_class);
+ GObjectClass *object_class = G_OBJECT_CLASS (this_class);
+ ArvDomNodeClass *dom_node_class = ARV_DOM_NODE_CLASS (this_class);
+ ArvGcNodeClass *gc_node_class = ARV_GC_NODE_CLASS (this_class);
- parent_class = g_type_class_peek_parent (register_class);
+ parent_class = g_type_class_peek_parent (this_class);
object_class->finalize = arv_gc_register_finalize;
-
- node_class->get_node_name = arv_gc_register_get_node_name;
- node_class->add_element = arv_gc_register_add_element;
- node_class->get_value_type = arv_gc_register_get_value_type;
- node_class->set_value_from_string = arv_gc_register_set_value_from_string;
- node_class->get_value_as_string = arv_gc_register_get_value_as_string;
+ dom_node_class->get_node_name = arv_gc_register_get_node_name;
+ gc_node_class->add_element = arv_gc_register_add_element;
+ gc_node_class->get_value_type = arv_gc_register_get_value_type;
+ gc_node_class->set_value_from_string = arv_gc_register_set_value_from_string;
+ gc_node_class->get_value_as_string = arv_gc_register_get_value_as_string;
}
/* ArvGcInteger interface implementation */
diff --git a/src/arvgcregisterdescriptionnode.c b/src/arvgcregisterdescriptionnode.c
new file mode 100644
index 0000000..594c2ba
--- /dev/null
+++ b/src/arvgcregisterdescriptionnode.c
@@ -0,0 +1,77 @@
+/* Aravis - Digital camera library
+ *
+ * Copyright  2009-2012 Emmanuel Pacaud
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Emmanuel Pacaud <emmanuel gnome org>
+ */
+
+/**
+ * SECTION: arvgcregisterdescriptionnode
+ * @short_description: Class for Register Description elements
+ */
+
+#include <arvgcregisterdescriptionnode.h>
+
+static GObjectClass *parent_class = NULL;
+
+/* ArvDomNode implementation */
+
+static const char *
+arv_gc_register_description_node_get_node_name (ArvDomNode *node)
+{
+ return "RegisterDescription";
+}
+
+/* ArvGcRegisterDescriptionNode implementation */
+
+ArvDomElement *
+arv_gc_register_description_node_new (void)
+{
+ ArvDomElement *element;
+
+ element = g_object_new (ARV_TYPE_GC_REGISTER_DESCRIPTION_NODE, NULL);
+
+ return element;
+}
+
+static void
+arv_gc_register_description_node_init (ArvGcRegisterDescriptionNode *gc_register_description_node)
+{
+}
+
+static void
+arv_gc_register_description_node_finalize (GObject *object)
+{
+ parent_class->finalize (object);
+}
+
+static void
+arv_gc_register_description_node_class_init (ArvGcRegisterDescriptionNodeClass *this_class)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (this_class);
+ ArvDomNodeClass *dom_node_class = ARV_DOM_NODE_CLASS (this_class);
+
+ parent_class = g_type_class_peek_parent (this_class);
+
+ object_class->finalize = arv_gc_register_description_node_finalize;
+ dom_node_class->get_node_name = arv_gc_register_description_node_get_node_name;
+}
+
+/* ArvGcInteger interface implementation */
+
+G_DEFINE_TYPE (ArvGcRegisterDescriptionNode, arv_gc_register_description_node, ARV_TYPE_GC_NODE)
diff --git a/src/arvgcregisterdescriptionnode.h b/src/arvgcregisterdescriptionnode.h
new file mode 100644
index 0000000..553b0bb
--- /dev/null
+++ b/src/arvgcregisterdescriptionnode.h
@@ -0,0 +1,52 @@
+/* Aravis - Digital camera library
+ *
+ * Copyright  2009-2012 Emmanuel Pacaud
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Emmanuel Pacaud <emmanuel gnome org>
+ */
+
+#ifndef ARV_GC_REGISTER_DESCRIPTION_NODE_H
+#define ARV_GC_REGISTER_DESCRIPTION_NODE_H
+
+#include <arvtypes.h>
+#include <arvgcnode.h>
+
+G_BEGIN_DECLS
+
+#define ARV_TYPE_GC_REGISTER_DESCRIPTION_NODE (arv_gc_register_description_node_get_type ())
+#define ARV_GC_REGISTER_DESCRIPTION_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ARV_TYPE_GC_REGISTER_DESCRIPTION_NODE, ArvGcRegisterDescriptionNode))
+#define ARV_GC_REGISTER_DESCRIPTION_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ARV_TYPE_GC_REGISTER_DESCRIPTION_NODE, ArvGcRegisterDescriptionNodeClass))
+#define ARV_IS_GC_REGISTER_DESCRIPTION_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ARV_TYPE_GC_REGISTER_DESCRIPTION_NODE))
+#define ARV_IS_GC_REGISTER_DESCRIPTION_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ARV_TYPE_GC_REGISTER_DESCRIPTION_NODE))
+#define ARV_GC_REGISTER_DESCRIPTION_NODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ARV_TYPE_GC_REGISTER_DESCRIPTION_NODE, ArvGcRegisterDescriptionNodeClass))
+
+typedef struct _ArvGcRegisterDescriptionNodeClass ArvGcRegisterDescriptionNodeClass;
+
+struct _ArvGcRegisterDescriptionNode {
+ ArvGcNode node;
+};
+
+struct _ArvGcRegisterDescriptionNodeClass {
+ ArvGcNodeClass parent_class;
+};
+
+GType arv_gc_register_description_node_get_type (void);
+
+G_END_DECLS
+
+#endif
diff --git a/src/arvgcswissknife.c b/src/arvgcswissknife.c
index dc0d8b9..6e1b725 100644
--- a/src/arvgcswissknife.c
+++ b/src/arvgcswissknife.c
@@ -36,15 +36,15 @@
static GObjectClass *parent_class = NULL;
-/* ArvGcNode implementation */
-
typedef struct {
char *name;
char *node_name;
} ArvGcSwissKnifeVariableInfos;
+/* ArvDomNode implementation */
+
static const char *
-arv_gc_swiss_knife_get_node_name (ArvGcNode *node)
+arv_gc_swiss_knife_get_node_name (ArvDomNode *node)
{
ArvGcSwissKnife *gc_swiss_knife = ARV_GC_SWISS_KNIFE (node);
@@ -54,6 +54,8 @@ arv_gc_swiss_knife_get_node_name (ArvGcNode *node)
return "IntSwissKnife";
}
+/* ArvGcNode implementation */
+
static void
arv_gc_swiss_knife_add_element (ArvGcNode *node, const char *name, const char *content, const char **attributes)
{
@@ -150,18 +152,18 @@ arv_gc_swiss_knife_finalize (GObject *object)
}
static void
-arv_gc_swiss_knife_class_init (ArvGcSwissKnifeClass *swiss_knife_class)
+arv_gc_swiss_knife_class_init (ArvGcSwissKnifeClass *this_class)
{
- GObjectClass *object_class = G_OBJECT_CLASS (swiss_knife_class);
- ArvGcNodeClass *node_class = ARV_GC_NODE_CLASS (swiss_knife_class);
+ GObjectClass *object_class = G_OBJECT_CLASS (this_class);
+ ArvDomNodeClass *dom_node_class = ARV_DOM_NODE_CLASS (this_class);
+ ArvGcNodeClass *gc_node_class = ARV_GC_NODE_CLASS (this_class);
- parent_class = g_type_class_peek_parent (swiss_knife_class);
+ parent_class = g_type_class_peek_parent (this_class);
object_class->finalize = arv_gc_swiss_knife_finalize;
-
- node_class->get_node_name = arv_gc_swiss_knife_get_node_name;
- node_class->add_element = arv_gc_swiss_knife_add_element;
- node_class->get_value_type = arv_gc_swiss_knife_node_get_value_type;
+ dom_node_class->get_node_name = arv_gc_swiss_knife_get_node_name;
+ gc_node_class->add_element = arv_gc_swiss_knife_add_element;
+ gc_node_class->get_value_type = arv_gc_swiss_knife_node_get_value_type;
}
/* ArvGcInteger interface implementation */
diff --git a/src/arvtool.c b/src/arvtool.c
index 0829bb8..8ddef07 100644
--- a/src/arvtool.c
+++ b/src/arvtool.c
@@ -15,7 +15,7 @@ arv_tool_list_features (ArvGc *genicam, const char *feature, gboolean show_descr
for (i = 0; i < level; i++)
printf (" ");
- printf ("%s: '%s'\n", arv_gc_node_get_node_name (node), feature);
+ printf ("%s: '%s'\n", arv_dom_node_get_node_name (ARV_DOM_NODE (node)), feature);
if (show_description) {
const char *description;
@@ -43,7 +43,7 @@ arv_tool_list_features (ArvGc *genicam, const char *feature, gboolean show_descr
printf (" ");
printf ("%s: '%s'\n",
- arv_gc_node_get_node_name (iter->data),
+ arv_dom_node_get_node_name (iter->data),
arv_gc_node_get_name (iter->data));
}
}
@@ -90,7 +90,7 @@ arv_tool_execute_command (int argc, char **argv, const char *device_name)
if (ARV_IS_GC_NODE (node)) {
const char *description;
- printf ("%s: '%s'\n", arv_gc_node_get_node_name (node), argv[i]);
+ printf ("%s: '%s'\n", arv_dom_node_get_node_name (ARV_DOM_NODE (node)), argv[i]);
description = arv_gc_node_get_description (node);
if (description)
diff --git a/src/arvtypes.h b/src/arvtypes.h
index f5e215c..686150e 100644
--- a/src/arvtypes.h
+++ b/src/arvtypes.h
@@ -31,29 +31,30 @@ typedef struct _ArvCamera ArvCamera;
typedef struct _ArvEvaluator ArvEvaluator;
-typedef struct _ArvDomNode ArvDomNode;
-typedef struct _ArvDomNodeList ArvDomNodeList;
-typedef struct _ArvDomNamedNodeMap ArvDomNamedNodeMap;
-typedef struct _ArvDomElement ArvDomElement;
-typedef struct _ArvDomDocument ArvDomDocument;
-typedef struct _ArvDomDocumentFragment ArvDomDocumentFragment;
-typedef struct _ArvDomCharacterData ArvDomCharacterData;
-typedef struct _ArvDomText ArvDomText;
+typedef struct _ArvDomNode ArvDomNode;
+typedef struct _ArvDomNodeList ArvDomNodeList;
+typedef struct _ArvDomNamedNodeMap ArvDomNamedNodeMap;
+typedef struct _ArvDomElement ArvDomElement;
+typedef struct _ArvDomDocument ArvDomDocument;
+typedef struct _ArvDomDocumentFragment ArvDomDocumentFragment;
+typedef struct _ArvDomCharacterData ArvDomCharacterData;
+typedef struct _ArvDomText ArvDomText;
-typedef struct _ArvGc ArvGc;
+typedef struct _ArvGc ArvGc;
-typedef struct _ArvGcNode ArvGcNode;
-typedef struct _ArvGcCategory ArvGcCategory;
-typedef struct _ArvGcBoolean ArvGcBoolean;
-typedef struct _ArvGcEnumeration ArvGcEnumeration;
-typedef struct _ArvGcEnumEntry ArvGcEnumEntry;
-typedef struct _ArvGcIntegerNode ArvGcIntegerNode;
-typedef struct _ArvGcFloatNode ArvGcFloatNode;
-typedef struct _ArvGcRegister ArvGcRegister;
-typedef struct _ArvGcCommand ArvGcCommand;
-typedef struct _ArvGcSwissKnife ArvGcSwissKnife;
-typedef struct _ArvGcConverter ArvGcConverter;
-typedef struct _ArvGcPort ArvGcPort;
+typedef struct _ArvGcNode ArvGcNode;
+typedef struct _ArvGcRegisterDescriptionNode ArvGcRegisterDescriptionNode;
+typedef struct _ArvGcCategory ArvGcCategory;
+typedef struct _ArvGcBoolean ArvGcBoolean;
+typedef struct _ArvGcEnumeration ArvGcEnumeration;
+typedef struct _ArvGcEnumEntry ArvGcEnumEntry;
+typedef struct _ArvGcIntegerNode ArvGcIntegerNode;
+typedef struct _ArvGcFloatNode ArvGcFloatNode;
+typedef struct _ArvGcRegister ArvGcRegister;
+typedef struct _ArvGcCommand ArvGcCommand;
+typedef struct _ArvGcSwissKnife ArvGcSwissKnife;
+typedef struct _ArvGcConverter ArvGcConverter;
+typedef struct _ArvGcPort ArvGcPort;
typedef struct _ArvGcInteger ArvGcInteger;
typedef struct _ArvGcFloat ArvGcFloat;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]