49bf71b5 |
1 | |
2 | #include <lttv/lttvfilter.h> |
3 | #include <stdio.h> |
a5dcde2f |
4 | #include <ltt/trace.h> |
49bf71b5 |
5 | |
6 | struct _LttvTracesetSelector { |
7 | char * traceset_name; |
8 | GPtrArray *traces; |
9 | }; |
10 | |
11 | |
12 | struct _LttvTraceSelector { |
13 | char * trace_name; |
14 | GPtrArray * tracefiles; |
15 | gboolean selected; |
16 | }; |
17 | |
18 | struct _LttvTracefileSelector { |
19 | char * tracefile_name; |
20 | gboolean selected; |
21 | }; |
22 | |
23 | |
24 | LttvTracesetSelector *lttv_traceset_selector_new(char * name) |
25 | { |
26 | LttvTracesetSelector *s; |
27 | |
28 | s = g_new(LttvTracesetSelector, 1); |
29 | if(name) |
30 | s->traceset_name = g_strdup(name); |
31 | else |
32 | s->traceset_name = NULL; |
33 | s->traces = g_ptr_array_new(); |
34 | return s; |
35 | } |
36 | |
37 | LttvTraceSelector *lttv_trace_selector_new(LttTrace *t) |
38 | { |
39 | LttvTraceSelector * trace; |
40 | |
41 | trace = g_new(LttvTraceSelector, 1); |
42 | trace->trace_name = g_strdup(ltt_trace_name(t)); |
43 | trace->tracefiles = g_ptr_array_new(); |
44 | trace->selected = TRUE; |
45 | return trace; |
46 | } |
47 | |
48 | LttvTracefileSelector *lttv_tracefile_selector_new(LttTracefile *t) |
49 | { |
50 | LttvTracefileSelector * tracefile; |
51 | |
52 | tracefile = g_new(LttvTracefileSelector, 1); |
53 | tracefile->tracefile_name = g_strdup(ltt_tracefile_name(t)); |
54 | tracefile->selected = TRUE; |
55 | return tracefile; |
56 | } |
57 | |
58 | |
59 | void lttv_traceset_selector_destroy(LttvTracesetSelector *s) |
60 | { |
61 | int i; |
62 | LttvTraceSelector * t; |
63 | |
64 | for(i=0;i<s->traces->len;i++){ |
65 | t = (LttvTraceSelector*)s->traces->pdata[i]; |
66 | lttv_trace_selector_destroy(t); |
67 | } |
68 | g_ptr_array_free(s->traces, TRUE); |
69 | if(s->traceset_name) g_free(s->traceset_name); |
70 | g_free(s); |
71 | } |
72 | |
73 | void lttv_trace_selector_destroy(LttvTraceSelector *s) |
74 | { |
75 | int i; |
76 | LttvTracefileSelector * t; |
77 | |
78 | for(i=0;i<s->tracefiles->len;i++){ |
79 | t = (LttvTracefileSelector*)s->tracefiles->pdata[i]; |
80 | lttv_tracefile_selector_destroy(t); |
81 | } |
82 | if(s->trace_name) g_free(s->trace_name); |
83 | g_free(s); |
84 | } |
85 | |
86 | void lttv_tracefile_selector_destroy(LttvTracefileSelector *t) |
87 | { |
88 | if(t->tracefile_name) g_free(t->tracefile_name); |
89 | g_free(t); |
90 | } |
91 | |
92 | void lttv_traceset_selector_add(LttvTracesetSelector *s, LttvTraceSelector *t) |
93 | { |
94 | g_ptr_array_add(s->traces, t); |
95 | } |
96 | |
97 | void lttv_trace_selector_add(LttvTraceSelector *s, LttvTracefileSelector *t) |
98 | { |
99 | g_ptr_array_add(s->tracefiles, t); |
100 | } |
101 | |
102 | |
103 | unsigned lttv_traceset_selector_number(LttvTracesetSelector *s) |
104 | { |
105 | return s->traces->len; |
106 | } |
107 | |
108 | unsigned lttv_trace_selector_number(LttvTraceSelector *s) |
109 | { |
110 | return s->tracefiles->len; |
111 | } |
112 | |
113 | LttvTraceSelector *lttv_traceset_selector_get(LttvTracesetSelector *s, unsigned i) |
114 | { |
115 | g_assert(s->traces->len > i); |
116 | return ((LttvTraceSelector *)s->traces->pdata[i]); |
117 | } |
118 | |
119 | LttvTracefileSelector *lttv_trace_selector_get(LttvTraceSelector *s, unsigned i) |
120 | { |
121 | g_assert(s->tracefiles->len > i); |
122 | return ((LttvTracefileSelector *)s->tracefiles->pdata[i]); |
123 | } |
124 | |
125 | void lttv_traceset_selector_remove(LttvTracesetSelector *s, unsigned i) |
126 | { |
127 | g_assert(s->traces->len > i); |
128 | g_ptr_array_remove_index(s->traces, i); |
129 | } |
130 | |
131 | void lttv_trace_selector_remove(LttvTraceSelector *s, unsigned i) |
132 | { |
133 | g_assert(s->tracefiles->len > i); |
134 | g_ptr_array_remove_index(s->tracefiles, i); |
135 | } |
136 | |
137 | |
138 | void lttv_trace_selector_set_selected(LttvTraceSelector *s, gboolean g) |
139 | { |
140 | s->selected = g; |
141 | } |
142 | |
143 | void lttv_tracefile_selector_set_selected(LttvTracefileSelector *s, gboolean g) |
144 | { |
145 | s->selected = g; |
146 | } |
147 | |
148 | gboolean lttv_trace_selector_get_selected(LttvTraceSelector *s) |
149 | { |
150 | return s->selected; |
151 | } |
152 | |
153 | gboolean lttv_tracefile_selector_get_selected(LttvTracefileSelector *s) |
154 | { |
155 | return s->selected; |
156 | } |
157 | |
158 | char * lttv_trace_selector_get_name(LttvTraceSelector *s) |
159 | { |
160 | return s->trace_name; |
161 | } |
162 | |
163 | char * lttv_tracefile_selector_get_name(LttvTracefileSelector *s) |
164 | { |
165 | return s->tracefile_name; |
166 | } |