Initial port of the detailed event view
[lttv.git] / lttv / lttv / event.c
1
2
3
4 #include <lttv/event.h>
5 #include <lttv/time.h>
6 #include <babeltrace/ctf/events.h>
7
8 LttTime lttv_event_get_timestamp(LttvEvent *event)
9 {
10 return ltt_time_from_uint64(bt_ctf_get_timestamp_raw(event->bt_event));
11 }
12
13 //TODO ybrosseau find a way to return an error code
14 unsigned long lttv_event_get_long_unsigned(LttvEvent *event, const char* field)
15 {
16 struct definition *scope;
17 unsigned long timestamp;
18 unsigned long data;
19 struct bt_ctf_event *ctf_event = event->bt_event;
20
21 timestamp = bt_ctf_get_timestamp(ctf_event);
22 if (timestamp == -1ULL) {
23 return 0;
24 }
25 //scope = bt_ctf_get_top_level_scope(ctf_event, BT_STREAM_PACKET_CONTEXT);
26 scope = bt_ctf_get_top_level_scope(ctf_event, BT_EVENT_FIELDS);
27 if (bt_ctf_field_get_error()) {
28 return 0;
29 }
30 data = bt_ctf_get_uint64(bt_ctf_get_field(ctf_event, scope, field));
31 if (bt_ctf_field_get_error()) {
32 return 0;
33 } else {
34 return data;
35 }
36 }
37
38
39 char* lttv_event_get_string(LttvEvent *event, const char* field)
40 {
41 struct definition *scope;
42 unsigned long timestamp;
43 char* data;
44 struct bt_ctf_event *ctf_event = event->bt_event;
45
46 timestamp = bt_ctf_get_timestamp(ctf_event);
47 if (timestamp == -1ULL) {
48 return 0;
49 }
50 //scope = bt_ctf_get_top_level_scope(ctf_event, BT_STREAM_PACKET_CONTEXT);
51 scope = bt_ctf_get_top_level_scope(ctf_event, BT_EVENT_FIELDS);
52 if (bt_ctf_field_get_error()) {
53 return 0;
54 }
55 data = bt_ctf_get_char_array(bt_ctf_get_field(ctf_event, scope, field));
56 if (bt_ctf_field_get_error()) {
57 return 0;
58 } else {
59 return data;
60 }
61 }
62 long lttv_event_get_long(LttvEvent *event, const char* field)
63 {
64 struct definition *scope;
65 unsigned long timestamp;
66 long data;
67 struct bt_ctf_event *ctf_event = event->bt_event;
68
69 timestamp = bt_ctf_get_timestamp(ctf_event);
70 if (timestamp == -1ULL) {
71 return 0;
72 }
73 scope = bt_ctf_get_top_level_scope(ctf_event, BT_EVENT_FIELDS);
74 if (bt_ctf_field_get_error()) {
75 return 0;
76 }
77 data = bt_ctf_get_int64(bt_ctf_get_field(ctf_event, scope, field));
78 if (bt_ctf_field_get_error()) {
79 return 0;
80 } else {
81 return data;
82 }
83 }
84 /*
85 unsigned int lttv_event_get_int_unsigned(LttvEvent *event, const char* field)
86 {
87 struct definition *scope;
88 unsigned long timestamp;
89 char* data;
90 struct bt_ctf_event *ctf_event = event->bt_event;
91
92 timestamp = bt_ctf_get_timestamp(ctf_event);
93 if (timestamp == -1ULL) {
94 return 0;
95 }
96 scope = bt_ctf_get_top_level_scope(ctf_event, BT_STREAM_PACKET_CONTEXT);
97 if (bt_ctf_field_get_error()) {
98 return 0;
99 }
100 data = bt_ctf_get_char_array(bt_ctf_get_field(ctf_event, scope, field));
101 if (bt_ctf_field_get_error()) {
102 return 0;
103 } else {
104 return data;
105 }
106 }
107 int lttv_event_get_int(LttvEvent *event, const char* field)
108 {
109 struct definition *scope;
110 unsigned long timestamp;
111 char* data;
112 struct bt_ctf_event *ctf_event = event->bt_event;
113
114 timestamp = bt_ctf_get_timestamp(ctf_event);
115 if (timestamp == -1ULL) {
116 return 0;
117 }
118 scope = bt_ctf_get_top_level_scope(ctf_event, BT_STREAM_PACKET_CONTEXT);
119 if (bt_ctf_field_get_error()) {
120 return 0;
121 }
122 data = bt_ctf_get_char_array(bt_ctf_get_field(ctf_event, scope, field));
123 if (bt_ctf_field_get_error()) {
124 return 0;
125 } else {
126 return data;
127 }
128 }
129 */
This page took 0.030721 seconds and 4 git commands to generate.