static void arv_gc_index_node_finalize (GObject *object) { ArvGcIndexNode *index_node = ARV_GC_INDEX_NODE (object); g_free (index_node->offset); parent_class->finalize (object); }
static guint64 _get_address (ArvGcRegisterNode *gc_register_node, GError **error) { ArvGc *genicam; GError *local_error = NULL; GSList *iter; guint64 value = 0; genicam = arv_gc_node_get_genicam (ARV_GC_NODE (gc_register_node)); g_return_val_if_fail (ARV_IS_GC (genicam), 0); for (iter = gc_register_node->addresses; iter != NULL; iter = iter->next) { value += arv_gc_property_node_get_int64 (iter->data, &local_error); if (local_error != NULL) { g_propagate_error (error, local_error); return 0; } } for (iter = gc_register_node->swiss_knives; iter != NULL; iter = iter->next) { value += arv_gc_integer_get_value (iter->data, &local_error); if (local_error != NULL) { g_propagate_error (error, local_error); return 0; } } if (gc_register_node->index != NULL) { gint64 length; length = _get_length (gc_register_node, &local_error); if (local_error != NULL) { g_propagate_error (error, local_error); return 0; } value += arv_gc_index_node_get_index (ARV_GC_INDEX_NODE (gc_register_node->index), length, &local_error); if (local_error != NULL) { g_propagate_error (error, local_error); return 0; } } return value; }
static void arv_gc_index_node_set_attribute (ArvDomElement *self, const char *name, const char *value) { ArvGcIndexNode *index_node = ARV_GC_INDEX_NODE (self); if (strcmp (name, "Offset") == 0) { g_free (index_node->offset); index_node->offset = g_strdup (value); index_node->is_p_offset = FALSE; } else if (strcmp (name, "pOffset") == 0) { g_free (index_node->offset); index_node->offset = g_strdup (value); index_node->is_p_offset = TRUE; } }