2 #include <lttv/lttvfilter.h>
6 struct _LttvTracesetSelector
{
12 struct _LttvTraceSelector
{
14 GPtrArray
* tracefiles
;
18 struct _LttvTracefileSelector
{
19 char * tracefile_name
;
24 LttvTracesetSelector
*lttv_traceset_selector_new(char * name
)
26 LttvTracesetSelector
*s
;
28 s
= g_new(LttvTracesetSelector
, 1);
30 s
->traceset_name
= g_strdup(name
);
32 s
->traceset_name
= NULL
;
33 s
->traces
= g_ptr_array_new();
37 LttvTraceSelector
*lttv_trace_selector_new(LttTrace
*t
)
39 LttvTraceSelector
* trace
;
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
;
48 LttvTracefileSelector
*lttv_tracefile_selector_new(LttTracefile
*t
)
50 LttvTracefileSelector
* tracefile
;
52 tracefile
= g_new(LttvTracefileSelector
, 1);
53 tracefile
->tracefile_name
= g_strdup(ltt_tracefile_name(t
));
54 tracefile
->selected
= TRUE
;
59 void lttv_traceset_selector_destroy(LttvTracesetSelector
*s
)
62 LttvTraceSelector
* t
;
64 for(i
=0;i
<s
->traces
->len
;i
++){
65 t
= (LttvTraceSelector
*)s
->traces
->pdata
[i
];
66 lttv_trace_selector_destroy(t
);
68 g_ptr_array_free(s
->traces
, TRUE
);
69 if(s
->traceset_name
) g_free(s
->traceset_name
);
73 void lttv_trace_selector_destroy(LttvTraceSelector
*s
)
76 LttvTracefileSelector
* t
;
78 for(i
=0;i
<s
->tracefiles
->len
;i
++){
79 t
= (LttvTracefileSelector
*)s
->tracefiles
->pdata
[i
];
80 lttv_tracefile_selector_destroy(t
);
82 if(s
->trace_name
) g_free(s
->trace_name
);
86 void lttv_tracefile_selector_destroy(LttvTracefileSelector
*t
)
88 if(t
->tracefile_name
) g_free(t
->tracefile_name
);
92 void lttv_traceset_selector_add(LttvTracesetSelector
*s
, LttvTraceSelector
*t
)
94 g_ptr_array_add(s
->traces
, t
);
97 void lttv_trace_selector_add(LttvTraceSelector
*s
, LttvTracefileSelector
*t
)
99 g_ptr_array_add(s
->tracefiles
, t
);
103 unsigned lttv_traceset_selector_number(LttvTracesetSelector
*s
)
105 return s
->traces
->len
;
108 unsigned lttv_trace_selector_number(LttvTraceSelector
*s
)
110 return s
->tracefiles
->len
;
113 LttvTraceSelector
*lttv_traceset_selector_get(LttvTracesetSelector
*s
, unsigned i
)
115 g_assert(s
->traces
->len
> i
);
116 return ((LttvTraceSelector
*)s
->traces
->pdata
[i
]);
119 LttvTracefileSelector
*lttv_trace_selector_get(LttvTraceSelector
*s
, unsigned i
)
121 g_assert(s
->tracefiles
->len
> i
);
122 return ((LttvTracefileSelector
*)s
->tracefiles
->pdata
[i
]);
125 void lttv_traceset_selector_remove(LttvTracesetSelector
*s
, unsigned i
)
127 g_assert(s
->traces
->len
> i
);
128 g_ptr_array_remove_index(s
->traces
, i
);
131 void lttv_trace_selector_remove(LttvTraceSelector
*s
, unsigned i
)
133 g_assert(s
->tracefiles
->len
> i
);
134 g_ptr_array_remove_index(s
->tracefiles
, i
);
138 void lttv_trace_selector_set_selected(LttvTraceSelector
*s
, gboolean g
)
143 void lttv_tracefile_selector_set_selected(LttvTracefileSelector
*s
, gboolean g
)
148 gboolean
lttv_trace_selector_get_selected(LttvTraceSelector
*s
)
153 gboolean
lttv_tracefile_selector_get_selected(LttvTracefileSelector
*s
)
158 char * lttv_trace_selector_get_name(LttvTraceSelector
*s
)
160 return s
->trace_name
;
163 char * lttv_tracefile_selector_get_name(LttvTracefileSelector
*s
)
165 return s
->tracefile_name
;
This page took 0.032615 seconds and 4 git commands to generate.