2 #include <lttv/lttvfilter.h>
5 struct _LttvTracesetSelector
{
11 struct _LttvTraceSelector
{
13 GPtrArray
* tracefiles
;
17 struct _LttvTracefileSelector
{
18 char * tracefile_name
;
23 LttvTracesetSelector
*lttv_traceset_selector_new(char * name
)
25 LttvTracesetSelector
*s
;
27 s
= g_new(LttvTracesetSelector
, 1);
29 s
->traceset_name
= g_strdup(name
);
31 s
->traceset_name
= NULL
;
32 s
->traces
= g_ptr_array_new();
36 LttvTraceSelector
*lttv_trace_selector_new(LttTrace
*t
)
38 LttvTraceSelector
* trace
;
40 trace
= g_new(LttvTraceSelector
, 1);
41 trace
->trace_name
= g_strdup(ltt_trace_name(t
));
42 trace
->tracefiles
= g_ptr_array_new();
43 trace
->selected
= TRUE
;
47 LttvTracefileSelector
*lttv_tracefile_selector_new(LttTracefile
*t
)
49 LttvTracefileSelector
* tracefile
;
51 tracefile
= g_new(LttvTracefileSelector
, 1);
52 tracefile
->tracefile_name
= g_strdup(ltt_tracefile_name(t
));
53 tracefile
->selected
= TRUE
;
58 void lttv_traceset_selector_destroy(LttvTracesetSelector
*s
)
61 LttvTraceSelector
* t
;
63 for(i
=0;i
<s
->traces
->len
;i
++){
64 t
= (LttvTraceSelector
*)s
->traces
->pdata
[i
];
65 lttv_trace_selector_destroy(t
);
67 g_ptr_array_free(s
->traces
, TRUE
);
68 if(s
->traceset_name
) g_free(s
->traceset_name
);
72 void lttv_trace_selector_destroy(LttvTraceSelector
*s
)
75 LttvTracefileSelector
* t
;
77 for(i
=0;i
<s
->tracefiles
->len
;i
++){
78 t
= (LttvTracefileSelector
*)s
->tracefiles
->pdata
[i
];
79 lttv_tracefile_selector_destroy(t
);
81 if(s
->trace_name
) g_free(s
->trace_name
);
85 void lttv_tracefile_selector_destroy(LttvTracefileSelector
*t
)
87 if(t
->tracefile_name
) g_free(t
->tracefile_name
);
91 void lttv_traceset_selector_add(LttvTracesetSelector
*s
, LttvTraceSelector
*t
)
93 g_ptr_array_add(s
->traces
, t
);
96 void lttv_trace_selector_add(LttvTraceSelector
*s
, LttvTracefileSelector
*t
)
98 g_ptr_array_add(s
->tracefiles
, t
);
102 unsigned lttv_traceset_selector_number(LttvTracesetSelector
*s
)
104 return s
->traces
->len
;
107 unsigned lttv_trace_selector_number(LttvTraceSelector
*s
)
109 return s
->tracefiles
->len
;
112 LttvTraceSelector
*lttv_traceset_selector_get(LttvTracesetSelector
*s
, unsigned i
)
114 g_assert(s
->traces
->len
> i
);
115 return ((LttvTraceSelector
*)s
->traces
->pdata
[i
]);
118 LttvTracefileSelector
*lttv_trace_selector_get(LttvTraceSelector
*s
, unsigned i
)
120 g_assert(s
->tracefiles
->len
> i
);
121 return ((LttvTracefileSelector
*)s
->tracefiles
->pdata
[i
]);
124 void lttv_traceset_selector_remove(LttvTracesetSelector
*s
, unsigned i
)
126 g_assert(s
->traces
->len
> i
);
127 g_ptr_array_remove_index(s
->traces
, i
);
130 void lttv_trace_selector_remove(LttvTraceSelector
*s
, unsigned i
)
132 g_assert(s
->tracefiles
->len
> i
);
133 g_ptr_array_remove_index(s
->tracefiles
, i
);
137 void lttv_trace_selector_set_selected(LttvTraceSelector
*s
, gboolean g
)
142 void lttv_tracefile_selector_set_selected(LttvTracefileSelector
*s
, gboolean g
)
147 gboolean
lttv_trace_selector_get_selected(LttvTraceSelector
*s
)
152 gboolean
lttv_tracefile_selector_get_selected(LttvTracefileSelector
*s
)
157 char * lttv_trace_selector_get_name(LttvTraceSelector
*s
)
159 return s
->trace_name
;
162 char * lttv_tracefile_selector_get_name(LttvTracefileSelector
*s
)
164 return s
->tracefile_name
;
This page took 0.032542 seconds and 4 git commands to generate.