Commit | Line | Data |
---|---|---|
16ca5ff0 | 1 | /* |
0235b0db | 2 | * SPDX-License-Identifier: MIT |
16ca5ff0 | 3 | * |
0235b0db | 4 | * Copyright 2018 Philippe Proulx <pproulx@efficios.com> |
16ca5ff0 PP |
5 | */ |
6 | ||
350ad6c1 | 7 | #define BT_LOG_TAG "CTF-WRITER/FIELD-WRAPPER" |
67d2ce02 | 8 | #include "logging.h" |
16ca5ff0 | 9 | |
16ca5ff0 PP |
10 | #include <glib.h> |
11 | ||
578e048b MJ |
12 | #include "fields.h" |
13 | #include "field-wrapper.h" | |
14 | #include "object.h" | |
15 | ||
16ca5ff0 PP |
16 | BT_HIDDEN |
17 | struct bt_ctf_field_wrapper *bt_ctf_field_wrapper_new(void *data) | |
18 | { | |
19 | struct bt_ctf_field_wrapper *field_wrapper = | |
20 | g_new0(struct bt_ctf_field_wrapper, 1); | |
21 | ||
22 | BT_LOGD_STR("Creating empty field wrapper object."); | |
23 | ||
24 | if (!field_wrapper) { | |
25 | BT_LOGE("Failed to allocate one field wrapper."); | |
26 | goto end; | |
27 | } | |
28 | ||
e1e02a22 | 29 | bt_ctf_object_init_unique(&field_wrapper->base); |
16ca5ff0 PP |
30 | BT_LOGD("Created empty field wrapper object: addr=%p", |
31 | field_wrapper); | |
32 | ||
33 | end: | |
34 | return field_wrapper; | |
35 | } | |
36 | ||
37 | BT_HIDDEN | |
38 | void bt_ctf_field_wrapper_destroy(struct bt_ctf_field_wrapper *field_wrapper) | |
39 | { | |
40 | BT_LOGD("Destroying field wrapper: addr=%p", field_wrapper); | |
98b15851 | 41 | BT_ASSERT_DBG(!field_wrapper->field); |
16ca5ff0 PP |
42 | BT_LOGD_STR("Putting stream class."); |
43 | g_free(field_wrapper); | |
44 | } | |
45 | ||
46 | BT_HIDDEN | |
47 | struct bt_ctf_field_wrapper *bt_ctf_field_wrapper_create( | |
e1e02a22 | 48 | struct bt_ctf_object_pool *pool, struct bt_ctf_field_type *ft) |
16ca5ff0 PP |
49 | { |
50 | struct bt_ctf_field_wrapper *field_wrapper = NULL; | |
51 | ||
98b15851 PP |
52 | BT_ASSERT_DBG(pool); |
53 | BT_ASSERT_DBG(ft); | |
e1e02a22 | 54 | field_wrapper = bt_ctf_object_pool_create_object(pool); |
16ca5ff0 | 55 | if (!field_wrapper) { |
67d2ce02 | 56 | BT_LOGE("Cannot allocate one field wrapper"); |
a2845228 | 57 | goto end; |
16ca5ff0 PP |
58 | } |
59 | ||
98b15851 | 60 | BT_ASSERT_DBG(field_wrapper->field); |
16ca5ff0 PP |
61 | |
62 | end: | |
63 | return field_wrapper; | |
64 | } |