X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttv%2Flttv%2Ftraceset.c;h=45d63143c7a92adf22a410e6b192db5166842ce0;hb=90e19f82bca635a1ba52b8a50b64e484bd19c14f;hp=181bdd53430de5739316262bc618ebc1e29a2d40;hpb=6d3ad1b2722e69f425f4d822f893c599c112cbc2;p=lttv.git diff --git a/lttv/lttv/traceset.c b/lttv/lttv/traceset.c index 181bdd53..45d63143 100644 --- a/lttv/lttv/traceset.c +++ b/lttv/lttv/traceset.c @@ -31,184 +31,183 @@ */ struct _LttvTraceset { - char * filename; - GPtrArray *traces; - LttvAttribute *a; + char * filename; + GPtrArray *traces; + LttvAttribute *a; }; struct _LttvTrace { - LttTrace *t; - LttvAttribute *a; - guint ref_count; + LttTrace *t; + LttvAttribute *a; + guint ref_count; }; LttvTraceset *lttv_traceset_new() { - LttvTraceset *s; + LttvTraceset *s; - s = g_new(LttvTraceset, 1); - s->filename = NULL; - s->traces = g_ptr_array_new(); - s->a = g_object_new(LTTV_ATTRIBUTE_TYPE, NULL); - return s; + s = g_new(LttvTraceset, 1); + s->filename = NULL; + s->traces = g_ptr_array_new(); + s->a = g_object_new(LTTV_ATTRIBUTE_TYPE, NULL); + return s; } char * lttv_traceset_name(LttvTraceset * s) { - return s->filename; + return s->filename; } LttvTrace *lttv_trace_new(LttTrace *t) { - LttvTrace *new_trace; + LttvTrace *new_trace; - new_trace = g_new(LttvTrace, 1); - new_trace->a = g_object_new(LTTV_ATTRIBUTE_TYPE, NULL); - new_trace->t = t; - new_trace->ref_count = 0; - return new_trace; + new_trace = g_new(LttvTrace, 1); + new_trace->a = g_object_new(LTTV_ATTRIBUTE_TYPE, NULL); + new_trace->t = t; + new_trace->ref_count = 0; + return new_trace; } LttvTraceset *lttv_traceset_copy(LttvTraceset *s_orig) { - guint i; - LttvTraceset *s; - LttvTrace * trace; + guint i; + LttvTraceset *s; + LttvTrace * trace; - s = g_new(LttvTraceset, 1); - s->filename = NULL; - s->traces = g_ptr_array_new(); - for(i=0;itraces->len;i++) - { - trace = g_ptr_array_index(s_orig->traces, i); - trace->ref_count++; + s = g_new(LttvTraceset, 1); + s->filename = NULL; + s->traces = g_ptr_array_new(); + for(i=0;itraces->len;i++) + { + trace = g_ptr_array_index(s_orig->traces, i); + trace->ref_count++; - g_ptr_array_add(s->traces, - trace); - } - s->a = LTTV_ATTRIBUTE(lttv_iattribute_deep_copy(LTTV_IATTRIBUTE(s_orig->a))); - return s; + g_ptr_array_add(s->traces, trace); + } + s->a = LTTV_ATTRIBUTE(lttv_iattribute_deep_copy(LTTV_IATTRIBUTE(s_orig->a))); + return s; } LttvTraceset *lttv_traceset_load(const gchar *filename) { - LttvTraceset *s = g_new(LttvTraceset,1); - FILE *tf; - - s->filename = g_strdup(filename); - tf = fopen(filename,"r"); + LttvTraceset *s = g_new(LttvTraceset,1); + FILE *tf; - g_critical("NOT IMPLEMENTED : load traceset data from a XML file"); - - fclose(tf); - return s; + s->filename = g_strdup(filename); + tf = fopen(filename,"r"); + + g_critical("NOT IMPLEMENTED : load traceset data from a XML file"); + + fclose(tf); + return s; } gint lttv_traceset_save(LttvTraceset *s) { - FILE *tf; + FILE *tf; - tf = fopen(s->filename, "w"); - - g_critical("NOT IMPLEMENTED : save traceset data in a XML file"); + tf = fopen(s->filename, "w"); - fclose(tf); - return 0; + g_critical("NOT IMPLEMENTED : save traceset data in a XML file"); + + fclose(tf); + return 0; } void lttv_traceset_destroy(LttvTraceset *s) { - guint i; + guint i; - for(i=0;itraces->len;i++) { - LttvTrace *trace = g_ptr_array_index(s->traces, i); - lttv_trace_unref(trace); - if(lttv_trace_get_ref_number(trace) == 0) - lttv_trace_destroy(trace); - } - g_ptr_array_free(s->traces, TRUE); - g_object_unref(s->a); - g_free(s); + for(i=0;itraces->len;i++) { + LttvTrace *trace = g_ptr_array_index(s->traces, i); + lttv_trace_unref(trace); + if(lttv_trace_get_ref_number(trace) == 0) + lttv_trace_destroy(trace); + } + g_ptr_array_free(s->traces, TRUE); + g_object_unref(s->a); + g_free(s); } void lttv_trace_destroy(LttvTrace *t) { - g_object_unref(t->a); - g_free(t); + g_object_unref(t->a); + g_free(t); } void lttv_traceset_add(LttvTraceset *s, LttvTrace *t) { - t->ref_count++; - g_ptr_array_add(s->traces, t); + t->ref_count++; + g_ptr_array_add(s->traces, t); } unsigned lttv_traceset_number(LttvTraceset *s) { - return s->traces->len; + return s->traces->len; } LttvTrace *lttv_traceset_get(LttvTraceset *s, unsigned i) { - g_assert(s->traces->len > i); - return ((LttvTrace *)s->traces->pdata[i]); + g_assert(s->traces->len > i); + return ((LttvTrace *)s->traces->pdata[i]); } void lttv_traceset_remove(LttvTraceset *s, unsigned i) { - LttvTrace * t; - g_assert(s->traces->len > i); - t = (LttvTrace *)s->traces->pdata[i]; - t->ref_count--; - g_ptr_array_remove_index(s->traces, i); + LttvTrace * t; + g_assert(s->traces->len > i); + t = (LttvTrace *)s->traces->pdata[i]; + t->ref_count--; + g_ptr_array_remove_index(s->traces, i); } /* A set of attributes is attached to each trace set, trace and tracefile - to store user defined data as needed. */ + to store user defined data as needed. */ LttvAttribute *lttv_traceset_attribute(LttvTraceset *s) { - return s->a; + return s->a; } LttvAttribute *lttv_trace_attribute(LttvTrace *t) { - return t->a; + return t->a; } LttTrace *lttv_trace(LttvTrace *t) { - return t->t; + return t->t; } guint lttv_trace_get_ref_number(LttvTrace * t) { - return t->ref_count; + return t->ref_count; } guint lttv_trace_ref(LttvTrace * t) { - t->ref_count++; - - return t->ref_count; + t->ref_count++; + + return t->ref_count; } guint lttv_trace_unref(LttvTrace * t) { - if(likely(t->ref_count > 0)) - t->ref_count--; + if(likely(t->ref_count > 0)) + t->ref_count--; - return t->ref_count; + return t->ref_count; }