lib: add unsigned and signed integer value API
[babeltrace.git] / include / babeltrace / value-internal.h
index b4368f56f6aa4bf084caa5a0de61bd83b7c101f3..0e50e2de0fb4c3c1566fd5bf053507e2d9496e09 100644 (file)
  * SOFTWARE.
  */
 
+#include <babeltrace/object-internal.h>
 #include <babeltrace/value.h>
 #include <babeltrace/value-const.h>
+#include <babeltrace/types.h>
+#include <glib.h>
+
+struct bt_value {
+       struct bt_object base;
+       enum bt_value_type type;
+       bt_bool frozen;
+};
+
+struct bt_value_bool {
+       struct bt_value base;
+       bt_bool value;
+};
+
+struct bt_value_integer {
+       struct bt_value base;
+       union {
+               uint64_t i;
+               int64_t u;
+       } value;
+};
+
+struct bt_value_real {
+       struct bt_value base;
+       double value;
+};
+
+struct bt_value_string {
+       struct bt_value base;
+       GString *gstr;
+};
+
+struct bt_value_array {
+       struct bt_value base;
+       GPtrArray *garray;
+};
+
+struct bt_value_map {
+       struct bt_value base;
+       GHashTable *ght;
+};
 
 BT_HIDDEN
 enum bt_value_status _bt_value_freeze(const struct bt_value *object);
This page took 0.024273 seconds and 4 git commands to generate.