mega modif by Mathieu Desnoyers. Independant main windows, multiple tracesets, contro...
[lttv.git] / ltt / branches / poly / lttv / traceset.c
index 85e33225bb95e252b2b85e6cfc6cc4f499e87b5b..aee03471209c972293d191cad1fbc01a96d8206e 100644 (file)
@@ -1,5 +1,6 @@
 
 #include <lttv/traceset.h>
+#include <stdio.h>
 
 /* A trace is a sequence of events gathered in the same tracing session. The
    events may be stored in several tracefiles in the same directory. 
@@ -8,6 +9,7 @@
 */
 
 struct _LttvTraceset {
+  char * filename;
   GPtrArray *traces;
   GPtrArray *attributes;
   LttvAttribute *a;
@@ -19,13 +21,65 @@ LttvTraceset *lttv_traceset_new()
   LttvTraceset *s;
 
   s = g_new(LttvTraceset, 1);
+  s->filename = NULL;
   s->traces = g_ptr_array_new();
   s->attributes = g_ptr_array_new();
   s->a = g_object_new(LTTV_ATTRIBUTE_TYPE, NULL);
   return s;
 }
 
+LttvTraceset *lttv_traceset_copy(LttvTraceset *s_orig) 
+{
+  int i;
+  LttvTraceset *s;
+
+  s = g_new(LttvTraceset, 1);
+  s->filename = NULL;
+  s->traces = g_ptr_array_new();
+  for(i=0;i<s_orig->traces->len;i++)
+  {
+    g_ptr_array_add(
+        s->traces,
+       ltt_trace_copy(g_ptr_array_index(s_orig->traces, i)));
+  }
+  s->attributes = g_ptr_array_new();
+  for(i=0;i<s_orig->attributes->len;i++)
+  {
+    g_ptr_array_add(
+        s->attributes,
+        lttv_iattribute_deep_copy(g_ptr_array_index(s_orig->attributes, i)));
+  }
+  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");
+
+  g_critical("NOT IMPLEMENTED : load traceset data from a XML file");
+  
+  fclose(tf);
+  return s;
+}
+
+gint lttv_traceset_save(LttvTraceset *s)
+{
+  FILE *tf;
+
+  tf = fopen(s->filename, "w");
+  
+  g_critical("NOT IMPLEMENTED : save traceset data in a XML file");
+
+  fclose(tf);
+  return 0;
+}
 void lttv_traceset_destroy(LttvTraceset *s) 
 {
   int i, nb;
@@ -39,7 +93,6 @@ void lttv_traceset_destroy(LttvTraceset *s)
   g_free(s);
 }
 
-
 void lttv_traceset_add(LttvTraceset *s, LttTrace *t) 
 {
   g_ptr_array_add(s->traces, t);
This page took 0.022832 seconds and 4 git commands to generate.