fc->type = type;
}
+static
+void destroy_bool_field_class(struct bt_object *obj)
+{
+ BT_ASSERT(obj);
+ BT_LIB_LOGD("Destroying boolean field class object: %!+F", obj);
+ g_free(obj);
+}
+
+struct bt_field_class *bt_field_class_bool_create(
+ bt_trace_class *trace_class)
+{
+ struct bt_field_class_bool *bool_fc = NULL;
+
+ BT_ASSERT_PRE_NON_NULL(trace_class, "Trace class");
+ BT_LOGD("Creating default boolean field class object.");
+ bool_fc = g_new0(struct bt_field_class_bool, 1);
+ if (!bool_fc) {
+ BT_LIB_LOGE_APPEND_CAUSE(
+ "Failed to allocate one boolean field class.");
+ goto error;
+ }
+
+ init_field_class((void *) bool_fc, BT_FIELD_CLASS_TYPE_BOOL,
+ destroy_bool_field_class);
+ BT_LIB_LOGD("Created boolean field class object: %!+F", bool_fc);
+ goto end;
+
+error:
+ BT_OBJECT_PUT_REF_AND_RESET(bool_fc);
+
+end:
+ return (void *) bool_fc;
+}
+
static
void init_integer_field_class(struct bt_field_class_integer *fc,
enum bt_field_class_type type,
BT_ASSERT(fc);
BT_ASSERT_PRE_NON_NULL(label, "Label");
- BT_ASSERT_PRE_NON_NULL(range_set, "Range set");
+ BT_ASSERT_PRE_NON_NULL(range_set, "Integer range set");
BT_ASSERT_PRE(!enumeration_field_class_has_mapping_with_label(
enum_fc, label),
"Duplicate mapping name in enumeration field class: "
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_NON_NULL(name, "Name");
BT_ASSERT_PRE_NON_NULL(option_fc, "Option field class");
- BT_ASSERT_PRE_NON_NULL(range_set, "Range set");
+ BT_ASSERT_PRE_NON_NULL(range_set, "Integer range set");
BT_ASSERT_PRE_FC_HAS_ID(fc, expected_type, "Field class");
BT_ASSERT_PRE(range_set->ranges->len > 0,
- "Range set is empty: addr=%p", range_set);
+ "Integer range set is empty: %!+R", range_set);
status = ranges_overlap(var_fc->common.common.named_fcs, range_set,
expected_type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_SELECTOR,
&has_overlap);
}
BT_ASSERT_PRE(!has_overlap,
- "Range set's ranges and existing ranges have an overlap: "
- "addr=%p", range_set);
+ "Integer range set's ranges and existing ranges have an overlap: "
+ "%!+R", range_set);
opt = create_variant_with_selector_option(name, option_fc, range_set);
if (!opt) {
/* create_variant_with_selector_option() logs errors */