Exemplo n.º 1
0
static gint64
arv_gc_struct_entry_node_get_integer_value (ArvGcInteger *gc_integer)
{
	ArvGcStructEntryNode *struct_entry = ARV_GC_STRUCT_ENTRY_NODE (gc_integer);
	ArvDomNode *struct_register;
	guint lsb;
	guint msb;

	struct_register = arv_dom_node_get_parent_node (ARV_DOM_NODE (gc_integer));
	if (!ARV_IS_GC_REGISTER_NODE (struct_register))
		return 0;

	lsb = _get_lsb (struct_entry);
	msb = _get_msb (struct_entry);

	return arv_gc_register_node_get_masked_integer_value (ARV_GC_REGISTER_NODE (struct_register), lsb, msb);
}
Exemplo n.º 2
0
static gint64
arv_gc_struct_entry_node_get_integer_value (ArvGcInteger *gc_integer, GError **error)
{
    ArvGcStructEntryNode *struct_entry = ARV_GC_STRUCT_ENTRY_NODE (gc_integer);
    ArvDomNode *struct_register;
    GError *local_error = NULL;
    gint64 value;
    guint lsb;
    guint msb;

    struct_register = arv_dom_node_get_parent_node (ARV_DOM_NODE (gc_integer));
    if (!ARV_IS_GC_REGISTER_NODE (struct_register))
        return 0;

    lsb = _get_lsb (struct_entry, &local_error);

    if (local_error != NULL) {
        g_propagate_error (error, local_error);
        return 0;
    }

    msb = _get_msb (struct_entry, &local_error);

    if (local_error != NULL) {
        g_propagate_error (error, local_error);
        return 0;
    }

    value = arv_gc_register_node_get_masked_integer_value (ARV_GC_REGISTER_NODE (struct_register), lsb, msb, &local_error);

    if (local_error != NULL) {
        g_propagate_error (error, local_error);
        return 0;
    }

    return value;
}