gboolean arv_gc_boolean_get_value (ArvGcBoolean *gc_boolean, GError **error) { gboolean value; gint64 on_value; GError *local_error = NULL; g_return_val_if_fail (ARV_IS_GC_BOOLEAN (gc_boolean), FALSE); g_return_val_if_fail (error == NULL || *error == NULL, FALSE); if (gc_boolean->value == NULL) return FALSE; value = arv_gc_property_node_get_int64 (gc_boolean->value, &local_error); if (local_error != NULL) { g_propagate_error (error, local_error); return FALSE; } on_value = arv_gc_boolean_get_on_value (gc_boolean, &local_error); if (local_error != NULL) { g_propagate_error (error, local_error); return FALSE; } return value == on_value; }
static gint64 _get_msb (ArvGcRegisterNode *gc_register_node, GError **error) { if (gc_register_node->msb == NULL) return 31; return arv_gc_property_node_get_int64 (gc_register_node->msb, error); }
static gint64 _get_length (ArvGcRegisterNode *gc_register_node, GError **error) { if (gc_register_node->length == NULL) return 4; return arv_gc_property_node_get_int64 (gc_register_node->length, error); }
static gint64 _get_msb (ArvGcStructEntryNode *gc_struct_entry_node, GError **error) { if (gc_struct_entry_node->msb == NULL) return 31; return arv_gc_property_node_get_int64 (gc_struct_entry_node->msb, error); }
static gint64 arv_gc_boolean_get_off_value (ArvGcBoolean *gc_boolean) { if (gc_boolean->off_value != NULL) return arv_gc_property_node_get_int64 (gc_boolean->off_value); return 0; }
static ArvGcCachable _get_msb (ArvGcStructEntryNode *gc_struct_entry_node) { if (gc_struct_entry_node->msb == NULL) return 31; return arv_gc_property_node_get_int64 (gc_struct_entry_node->msb); }
gint64 arv_gc_enumeration_get_int_value (ArvGcEnumeration *enumeration) { g_return_val_if_fail (ARV_IS_GC_ENUMERATION (enumeration), 0); if (enumeration->value != NULL) return arv_gc_property_node_get_int64 (enumeration->value); return 0; }
gboolean arv_gc_boolean_get_value (ArvGcBoolean *gc_boolean) { g_return_val_if_fail (ARV_IS_GC_BOOLEAN (gc_boolean), FALSE); if (gc_boolean->value != NULL) return arv_gc_property_node_get_int64 (gc_boolean->value) == arv_gc_boolean_get_on_value (gc_boolean); return FALSE; }
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 gint64 arv_gc_boolean_get_off_value (ArvGcBoolean *gc_boolean, GError **error) { gint64 off_value; GError *local_error = NULL; if (gc_boolean->off_value == NULL) return 0; off_value = arv_gc_property_node_get_int64 (gc_boolean->off_value, &local_error); if (local_error != NULL) { g_propagate_error (error, local_error); return 0; } return off_value; }
gboolean arv_gc_feature_node_is_locked (ArvGcFeatureNode *gc_feature_node, GError **error) { gboolean value; GError *local_error = NULL; g_return_val_if_fail (ARV_IS_GC_FEATURE_NODE (gc_feature_node), FALSE); if (gc_feature_node->priv->is_locked == NULL) return FALSE; value = arv_gc_property_node_get_int64 (gc_feature_node->priv->is_locked, &local_error) != 0; if (local_error != NULL) { g_propagate_error (error, local_error); return FALSE; } return value; }
gint64 arv_gc_enumeration_get_int_value (ArvGcEnumeration *enumeration, GError **error) { GError *local_error = NULL; gint64 value; g_return_val_if_fail (ARV_IS_GC_ENUMERATION (enumeration), 0); g_return_val_if_fail (error == NULL || *error == NULL, 0); if (enumeration->value == NULL) return 0; value = arv_gc_property_node_get_int64 (enumeration->value, &local_error); if (local_error != NULL) { g_propagate_error (error, local_error); return 0; } return value; }
gint64 arv_gc_index_node_get_index (ArvGcIndexNode *index_node, gint64 default_offset, GError **error) { gint64 offset; gint64 node_value; GError *local_error = NULL; g_return_val_if_fail (ARV_IS_GC_INDEX_NODE (index_node), 0); g_return_val_if_fail (error == NULL || *error == NULL, 0); if (index_node->offset == NULL) offset = default_offset; else { if (index_node->is_p_offset) { ArvGcNode *node; ArvGc *genicam; genicam = arv_gc_node_get_genicam (ARV_GC_NODE (index_node)); node = arv_gc_get_node (genicam, index_node->offset); offset = arv_gc_integer_get_value (ARV_GC_INTEGER (node), &local_error); if (local_error != NULL) { g_propagate_error (error, local_error); return 0; } } else offset = g_ascii_strtoll (index_node->offset, NULL, 0); } node_value = arv_gc_property_node_get_int64 (ARV_GC_PROPERTY_NODE (index_node), &local_error); if (local_error != NULL) { g_propagate_error (error, local_error); return 0; } return offset * node_value; }