static
void destroy_variant_field(struct bt_field *field);
+BT_EXPORT
struct bt_field_class *bt_field_borrow_class(struct bt_field *field)
{
BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field);
return field->class;
}
+BT_EXPORT
const struct bt_field_class *bt_field_borrow_class_const(
const struct bt_field *field)
{
return field->class;
}
+BT_EXPORT
enum bt_field_class_type bt_field_get_class_type(const struct bt_field *field)
{
BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field);
return field->class->type;
}
-BT_HIDDEN
struct bt_field *bt_field_create(struct bt_field_class *fc)
{
struct bt_field *field = NULL;
return (void *) array_field;
}
+BT_EXPORT
bt_bool bt_field_bool_get_value(const struct bt_field *field)
{
const struct bt_field_bool *bool_field = (const void *) field;
return (bt_bool) bool_field->value;
}
+BT_EXPORT
void bt_field_bool_set_value(struct bt_field *field, bt_bool value)
{
struct bt_field_bool *bool_field = (void *) field;
bt_field_set_single(field, true);
}
+BT_EXPORT
uint64_t bt_field_bit_array_get_value_as_integer(const struct bt_field *field)
{
const struct bt_field_bit_array *ba_field = (const void *) field;
return ba_field->value_as_int;
}
+BT_EXPORT
void bt_field_bit_array_set_value_as_integer(struct bt_field *field,
uint64_t value)
{
bt_field_set_single(field, true);
}
+BT_EXPORT
int64_t bt_field_integer_signed_get_value(const struct bt_field *field)
{
const struct bt_field_integer *int_field = (const void *) field;
return int_field->value.i;
}
+BT_EXPORT
void bt_field_integer_signed_set_value(struct bt_field *field, int64_t value)
{
struct bt_field_integer *int_field = (void *) field;
bt_field_set_single(field, true);
}
+BT_EXPORT
uint64_t bt_field_integer_unsigned_get_value(const struct bt_field *field)
{
const struct bt_field_integer *int_field = (const void *) field;
return int_field->value.u;
}
+BT_EXPORT
void bt_field_integer_unsigned_set_value(struct bt_field *field, uint64_t value)
{
struct bt_field_integer *int_field = (void *) field;
bt_field_set_single(field, true);
}
+BT_EXPORT
float bt_field_real_single_precision_get_value(const struct bt_field *field)
{
const struct bt_field_real *real_field = (const void *) field;
return (float) real_field->value;
}
+BT_EXPORT
double bt_field_real_double_precision_get_value(const struct bt_field *field)
{
const struct bt_field_real *real_field = (const void *) field;
return real_field->value;
}
+BT_EXPORT
void bt_field_real_single_precision_set_value(struct bt_field *field,
float value)
{
bt_field_set_single(field, true);
}
+BT_EXPORT
void bt_field_real_double_precision_set_value(struct bt_field *field,
double value)
{
bt_field_set_single(field, true);
}
+BT_EXPORT
enum bt_field_enumeration_get_mapping_labels_status
bt_field_enumeration_unsigned_get_mapping_labels(
const struct bt_field *field,
field->class, int_field->value.u, label_array, count);
}
+BT_EXPORT
enum bt_field_enumeration_get_mapping_labels_status
bt_field_enumeration_signed_get_mapping_labels(
const struct bt_field *field,
field->class, int_field->value.i, label_array, count);
}
+BT_EXPORT
const char *bt_field_string_get_value(const struct bt_field *field)
{
const struct bt_field_string *string_field = (const void *) field;
return (const char *) string_field->buf->data;
}
+BT_EXPORT
uint64_t bt_field_string_get_length(const struct bt_field *field)
{
const struct bt_field_string *string_field = (const void *) field;
bt_field_set_single(field, true);
}
+BT_EXPORT
enum bt_field_string_set_value_status bt_field_string_set_value(
struct bt_field *field, const char *value)
{
return BT_FUNC_STATUS_OK;
}
+BT_EXPORT
enum bt_field_string_append_status bt_field_string_append_with_length(
struct bt_field *field, const char *value, uint64_t length)
{
return append_to_string_field_with_length(field, value, length);
}
+BT_EXPORT
enum bt_field_string_append_status bt_field_string_append(
struct bt_field *field, const char *value)
{
return append_to_string_field_with_length(field, value, length);
}
+BT_EXPORT
void bt_field_string_clear(struct bt_field *field)
{
BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field);
clear_string_field(field);
}
+BT_EXPORT
uint64_t bt_field_array_get_length(const struct bt_field *field)
{
const struct bt_field_array *array_field = (const void *) field;
return array_field->length;
}
+BT_EXPORT
enum bt_field_array_dynamic_set_length_status bt_field_array_dynamic_set_length(
struct bt_field *field, uint64_t length)
{
static inline
struct bt_field *borrow_array_field_element_field_by_index(
- struct bt_field *field, uint64_t index)
+ struct bt_field *field, uint64_t index, const char *api_func)
{
struct bt_field_array *array_field = (void *) field;
- BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field);
- BT_ASSERT_PRE_DEV_FIELD_IS_ARRAY("field", field, "Field");
- BT_ASSERT_PRE_DEV_VALID_INDEX(index, array_field->length);
+ BT_ASSERT_PRE_DEV_FIELD_NON_NULL_FROM_FUNC(api_func, field);
+ BT_ASSERT_PRE_DEV_FIELD_IS_ARRAY_FROM_FUNC(api_func, "field", field,
+ "Field");
+ BT_ASSERT_PRE_DEV_VALID_INDEX_FROM_FUNC(api_func, index,
+ array_field->length);
return array_field->fields->pdata[index];
}
+BT_EXPORT
struct bt_field *bt_field_array_borrow_element_field_by_index(
struct bt_field *field, uint64_t index)
{
- return borrow_array_field_element_field_by_index(field, index);
+ return borrow_array_field_element_field_by_index(field, index,
+ __func__);
}
+BT_EXPORT
const struct bt_field *
bt_field_array_borrow_element_field_by_index_const(
const struct bt_field *field, uint64_t index)
{
- return borrow_array_field_element_field_by_index((void *) field, index);
+ return borrow_array_field_element_field_by_index((void *) field, index,
+ __func__);
}
static inline
struct bt_field *borrow_structure_field_member_field_by_index(
- struct bt_field *field, uint64_t index)
+ struct bt_field *field, uint64_t index, const char *api_func)
{
struct bt_field_structure *struct_field = (void *) field;
- BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field);
- BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE("field", field,
- "structure-field", BT_FIELD_CLASS_TYPE_STRUCTURE, "Field");
- BT_ASSERT_PRE_DEV_VALID_INDEX(index, struct_field->fields->len);
+ BT_ASSERT_PRE_DEV_FIELD_NON_NULL_FROM_FUNC(api_func, field);
+ BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE_FROM_FUNC(api_func, "field",
+ field, "structure-field", BT_FIELD_CLASS_TYPE_STRUCTURE,
+ "Field");
+ BT_ASSERT_PRE_DEV_VALID_INDEX_FROM_FUNC(api_func, index,
+ struct_field->fields->len);
return struct_field->fields->pdata[index];
}
+BT_EXPORT
struct bt_field *bt_field_structure_borrow_member_field_by_index(
struct bt_field *field, uint64_t index)
{
return borrow_structure_field_member_field_by_index(field,
- index);
+ index, __func__);
}
+BT_EXPORT
const struct bt_field *
bt_field_structure_borrow_member_field_by_index_const(
const struct bt_field *field, uint64_t index)
{
return borrow_structure_field_member_field_by_index(
- (void *) field, index);
+ (void *) field, index, __func__);
}
static inline
struct bt_field *borrow_structure_field_member_field_by_name(
- struct bt_field *field, const char *name)
+ struct bt_field *field, const char *name, const char *api_func)
{
struct bt_field *ret_field = NULL;
struct bt_field_class_structure *struct_fc;
gpointer orig_key;
gpointer index;
- BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field);
- BT_ASSERT_PRE_DEV_NON_NULL("member-name", name, "Member name");
- BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE("field", field,
- "structure-field", BT_FIELD_CLASS_TYPE_STRUCTURE, "Field");
+ BT_ASSERT_PRE_DEV_FIELD_NON_NULL_FROM_FUNC(api_func, field);
+ BT_ASSERT_PRE_DEV_NON_NULL_FROM_FUNC(api_func, "member-name", name,
+ "Member name");
+ BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE_FROM_FUNC(api_func, "field",
+ field, "structure-field", BT_FIELD_CLASS_TYPE_STRUCTURE,
+ "Field");
struct_fc = (void *) field->class;
if (!g_hash_table_lookup_extended(struct_fc->common.name_to_index, name,
return ret_field;
}
+BT_EXPORT
struct bt_field *bt_field_structure_borrow_member_field_by_name(
struct bt_field *field, const char *name)
{
- return borrow_structure_field_member_field_by_name(field, name);
+ return borrow_structure_field_member_field_by_name(field, name,
+ __func__);
}
+BT_EXPORT
const struct bt_field *bt_field_structure_borrow_member_field_by_name_const(
const struct bt_field *field, const char *name)
{
return borrow_structure_field_member_field_by_name(
- (void *) field, name);
+ (void *) field, name, __func__);
}
+BT_EXPORT
void bt_field_option_set_has_field(struct bt_field *field, bt_bool has_field)
{
struct bt_field_option *opt_field = (void *) field;
}
}
+BT_EXPORT
struct bt_field *bt_field_option_borrow_field(struct bt_field *field)
{
struct bt_field_option *opt_field = (void *) field;
return opt_field->selected_field;
}
+BT_EXPORT
const struct bt_field *bt_field_option_borrow_field_const(
const struct bt_field *field)
{
return var_field->selected_field;
}
+BT_EXPORT
struct bt_field *bt_field_variant_borrow_selected_option_field(
struct bt_field *field)
{
return borrow_variant_field_selected_option_field(field);
}
+BT_EXPORT
const struct bt_field *bt_field_variant_borrow_selected_option_field_const(
const struct bt_field *field)
{
return container_fc->named_fcs->pdata[var_field->selected_index];
}
+BT_EXPORT
const struct bt_field_class_variant_option *
bt_field_variant_borrow_selected_option_class_const(
const struct bt_field *field)
return borrow_variant_field_selected_class_option(field);
}
+BT_EXPORT
const struct bt_field_class_variant_with_selector_field_integer_unsigned_option *
bt_field_variant_with_selector_field_integer_unsigned_borrow_selected_option_class_const(
const struct bt_field *field)
return (const void *) borrow_variant_field_selected_class_option(field);
}
+BT_EXPORT
const struct bt_field_class_variant_with_selector_field_integer_signed_option *
bt_field_variant_with_selector_field_integer_signed_borrow_selected_option_class_const(
const struct bt_field *field)
return (const void *) borrow_variant_field_selected_class_option(field);
}
+BT_EXPORT
enum bt_field_variant_select_option_by_index_status
bt_field_variant_select_option_by_index(
struct bt_field *field, uint64_t index)
return BT_FUNC_STATUS_OK;
}
+BT_EXPORT
uint64_t bt_field_variant_get_selected_option_index(
const struct bt_field *field)
{
g_free(field);
}
-BT_HIDDEN
void bt_field_destroy(struct bt_field *field)
{
BT_ASSERT(field);
set_single_field_is_frozen(field, is_frozen);
}
-BT_HIDDEN
void _bt_field_set_is_frozen(const struct bt_field *field,
bool is_frozen)
{