lib: add structure FC member and variant FC option objects
[babeltrace.git] / include / babeltrace / trace-ir / field-class-internal.h
index ea1e3a8ba182a54926651047c453bdcbdbecfe14..77268c5f2bad990f2465d0850caa29b087a0d1cd 100644 (file)
@@ -2,10 +2,9 @@
 #define BABELTRACE_TRACE_IR_FIELD_CLASSES_INTERNAL_H
 
 /*
+ * Copyright 2017-2018 Philippe Proulx <pproulx@efficios.com>
  * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
  *
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
  * in the Software without restriction, including without limitation the rights
@@ -164,8 +163,13 @@ struct bt_named_field_class {
 
        /* Owned by this */
        struct bt_field_class *fc;
+
+       bool frozen;
 };
 
+struct bt_field_class_structure_member;
+struct bt_field_class_variant_option;
+
 /*
  * This is the base field class for a container of named field classes.
  * Structure and variant field classes inherit this.
@@ -235,6 +239,15 @@ void _bt_field_class_freeze(const struct bt_field_class *field_class);
 # define bt_field_class_freeze(_fc)
 #endif
 
+BT_HIDDEN
+void _bt_named_field_class_freeze(const struct bt_named_field_class *named_fc);
+
+#ifdef BT_DEV_MODE
+# define bt_named_field_class_freeze           _bt_named_field_class_freeze
+#else
+# define bt_named_field_class_freeze(_named_fc)
+#endif
+
 /*
  * This function recursively marks `field_class` and its children as
  * being part of a trace. This is used to validate that all field classes
This page took 0.02507 seconds and 4 git commands to generate.