GQuark mode, GQuark sub_mode, LttvAttribute **events_tree,
LttvAttribute **event_types_tree);
-static void
-init(LttvTracesetStats *self, LttvTraceset *ts)
+
+static void lttv_stats_init(LttvTracesetStats *self)
{
guint i, j, nb_trace, nb_tracefile;
*stats_tree,
*tracefiles_stats;
- LTTV_TRACESET_CONTEXT_CLASS(g_type_class_peek(LTTV_TRACESET_STATE_TYPE))->
- init((LttvTracesetContext *)self, ts);
+ LttvTraceset *ts = self->parent.parent.ts;
self->stats = lttv_attribute_find_subdir(
lttv_traceset_attribute(self->parent.parent.ts),
LTTV_STATS_USE_COUNT,
LTTV_UINT, &v);
- *(v.v_uint)++;
+ (*(v.v_uint))++;
if(*(v.v_uint) == 1) {
g_assert(lttv_attribute_get_number(self->stats) == 0);
}
lttv_attribute_find(tcs->parent.parent.t_a, LTTV_STATS_USE_COUNT,
LTTV_UINT, &v);
- *(v.v_uint)++;
+ (*(v.v_uint))++;
if(*(v.v_uint) == 1) {
g_assert(lttv_attribute_get_number(tcs->stats) == 0);
}
&tfcs->current_event_types_tree);
}
}
+
}
-static void
-fini(LttvTracesetStats *self)
+static void lttv_stats_fini(LttvTracesetStats *self)
{
guint i, j, nb_trace, nb_tracefile;
lttv_attribute_find(self->parent.parent.ts_a, LTTV_STATS_USE_COUNT,
LTTV_UINT, &v);
- *(v.v_uint)--;
+ (*(v.v_uint))--;
if(*(v.v_uint) == 0) {
lttv_attribute_remove_by_name(self->parent.parent.ts_a, LTTV_STATS);
lttv_attribute_find(tcs->parent.parent.t_a, LTTV_STATS_USE_COUNT,
LTTV_UINT, &v);
- *(v.v_uint)--;
+ (*(v.v_uint))--;
if(*(v.v_uint) == 0) {
lttv_attribute_remove_by_name(tcs->parent.parent.t_a,LTTV_STATS);
tfcs->current_event_types_tree = NULL;
}
}
+}
+
+
+void lttv_stats_reset(LttvTracesetStats *self)
+{
+ lttv_stats_fini(self);
+ lttv_stats_init(self);
+}
+
+
+
+static void
+init(LttvTracesetStats *self, LttvTraceset *ts)
+{
+ LTTV_TRACESET_CONTEXT_CLASS(g_type_class_peek(LTTV_TRACESET_STATE_TYPE))->
+ init((LttvTracesetContext *)self, ts);
+
+ lttv_stats_init(self);
+}
+
+
+static void
+fini(LttvTracesetStats *self)
+{
+ lttv_stats_fini(self);
+
LTTV_TRACESET_CONTEXT_CLASS(g_type_class_peek(LTTV_TRACESET_STATE_TYPE))->
fini((LttvTracesetContext *)self);
}