X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fvalue-internal.h;h=0e50e2de0fb4c3c1566fd5bf053507e2d9496e09;hb=fdd3a2da18afef5ca32ba181a8b6ebbff173df02;hp=81b2845fbf65bcdadae3195787267c61fa5dc9c2;hpb=c6bd8523ba4a37b61a1591c03e23614112b155ba;p=babeltrace.git diff --git a/include/babeltrace/value-internal.h b/include/babeltrace/value-internal.h index 81b2845f..0e50e2de 100644 --- a/include/babeltrace/value-internal.h +++ b/include/babeltrace/value-internal.h @@ -2,8 +2,7 @@ #define BABELTRACE_VALUES_INTERNAL_H /* - * Copyright (c) 2015-2017 EfficiOS Inc. and Linux Foundation - * Copyright (c) 2015-2017 Philippe Proulx + * Copyright (c) 2015-2018 Philippe Proulx * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -24,8 +23,50 @@ * SOFTWARE. */ +#include #include #include +#include +#include + +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);