4 #include <lttv/event.h>
6 #include <babeltrace/ctf/events.h>
8 LttTime
lttv_event_get_timestamp(LttvEvent
*event
)
10 return ltt_time_from_uint64(bt_ctf_get_timestamp(event
->bt_event
));
13 //TODO ybrosseau find a way to return an error code
14 unsigned long lttv_event_get_long_unsigned(LttvEvent
*event
, const char* field
)
16 const struct bt_definition
*scope
;
17 unsigned long timestamp
;
19 struct bt_ctf_event
*ctf_event
= event
->bt_event
;
21 timestamp
= bt_ctf_get_timestamp(ctf_event
);
22 if (timestamp
== -1ULL) {
23 printf("ERROR: lttv_event_get_long_unsigned - invalid event\n");
26 //scope = bt_ctf_get_top_level_scope(ctf_event, BT_STREAM_PACKET_CONTEXT);
27 scope
= bt_ctf_get_top_level_scope(ctf_event
, BT_EVENT_FIELDS
);
28 if (bt_ctf_field_get_error()) {
29 printf("ERROR: lttv_event_get_long_unsigned - cannot get field scope\n");
32 data
= bt_ctf_get_uint64(bt_ctf_get_field(ctf_event
, scope
, field
));
33 if (bt_ctf_field_get_error()) {
34 printf("ERROR: lttv_event_get_long_unsigned - cannot get field data %s \n", field
);
42 char* lttv_event_get_string(LttvEvent
*event
, const char* field
)
44 const struct bt_definition
*scope
;
45 unsigned long timestamp
;
47 struct bt_ctf_event
*ctf_event
= event
->bt_event
;
49 timestamp
= bt_ctf_get_timestamp(ctf_event
);
50 if (timestamp
== -1ULL) {
51 printf("ERROR: lttv_event_get_string - cannot read timestamps");
54 //scope = bt_ctf_get_top_level_scope(ctf_event, BT_STREAM_PACKET_CONTEXT);
55 scope
= bt_ctf_get_top_level_scope(ctf_event
, BT_EVENT_FIELDS
);
56 if (bt_ctf_field_get_error()) {
57 printf("ERROR: lttv_event_get_string - cannot get field scope");
60 data
= bt_ctf_get_char_array(bt_ctf_get_field(ctf_event
, scope
, field
));
61 if (bt_ctf_field_get_error()) {
62 // Try get_string if we fail on char_array
63 // TODO ybrosseau: properly detect right type
64 data
= bt_ctf_get_string(bt_ctf_get_field(ctf_event
, scope
, field
));
65 if (bt_ctf_field_get_error()) {
68 printf("ERROR: lttv_event_get_string - cannot get field data %s", field
);
79 long lttv_event_get_long(LttvEvent
*event
, const char* field
)
81 const struct bt_definition
*scope
;
82 unsigned long timestamp
;
84 struct bt_ctf_event
*ctf_event
= event
->bt_event
;
86 timestamp
= bt_ctf_get_timestamp(ctf_event
);
87 if (timestamp
== -1ULL) {
88 printf("ERROR: lttv_event_get_long - invalid event\n");
91 scope
= bt_ctf_get_top_level_scope(ctf_event
, BT_EVENT_FIELDS
);
92 if (bt_ctf_field_get_error()) {
93 printf("ERROR: lttv_event_get_long - cannot get field scope\n");
96 data
= bt_ctf_get_int64(bt_ctf_get_field(ctf_event
, scope
, field
));
97 if (bt_ctf_field_get_error()) {
98 printf("ERROR: lttv_event_get_long - cannot get field data %s \n", field
);
105 unsigned int lttv_event_get_int_unsigned(LttvEvent *event, const char* field)
107 struct bt_definition *scope;
108 unsigned long timestamp;
110 struct bt_ctf_event *ctf_event = event->bt_event;
112 timestamp = bt_ctf_get_timestamp(ctf_event);
113 if (timestamp == -1ULL) {
116 scope = bt_ctf_get_top_level_scope(ctf_event, BT_STREAM_PACKET_CONTEXT);
117 if (bt_ctf_field_get_error()) {
120 data = bt_ctf_get_char_array(bt_ctf_get_field(ctf_event, scope, field));
121 if (bt_ctf_field_get_error()) {
127 int lttv_event_get_int(LttvEvent *event, const char* field)
129 struct bt_definition *scope;
130 unsigned long timestamp;
132 struct bt_ctf_event *ctf_event = event->bt_event;
134 timestamp = bt_ctf_get_timestamp(ctf_event);
135 if (timestamp == -1ULL) {
138 scope = bt_ctf_get_top_level_scope(ctf_event, BT_STREAM_PACKET_CONTEXT);
139 if (bt_ctf_field_get_error()) {
142 data = bt_ctf_get_char_array(bt_ctf_get_field(ctf_event, scope, field));
143 if (bt_ctf_field_get_error()) {
This page took 0.062755 seconds and 4 git commands to generate.