lib: add unsigned and signed integer value API
[babeltrace.git] / include / babeltrace / value-internal.h
index 81b2845fbf65bcdadae3195787267c61fa5dc9c2..0e50e2de0fb4c3c1566fd5bf053507e2d9496e09 100644 (file)
@@ -2,8 +2,7 @@
 #define BABELTRACE_VALUES_INTERNAL_H
 
 /*
- * Copyright (c) 2015-2017 EfficiOS Inc. and Linux Foundation
- * Copyright (c) 2015-2017 Philippe Proulx <pproulx@efficios.com>
+ * Copyright (c) 2015-2018 Philippe Proulx <pproulx@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
  * 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.023186 seconds and 4 git commands to generate.