test data sent from hook file, square insert implemented
[lttv.git] / ltt / branches / poly / lttv / modules / guiControlFlow / Process_List.h
index b4924ce2733b194e15c3acfd22347080025a801c..1daabdd65593f20daa4e3942730180a52cac95d5 100644 (file)
@@ -1,12 +1,62 @@
 #ifndef _PROCESS_LIST_H
 #define _PROCESS_LIST_H
 
+#include <gtk/gtk.h>
+#include <lttv/state.h>
+#include <ltt/ltt.h>
+
+/* The process list
+ *
+ * Tasks :
+ * Create a process list
+ * contains the data for the process list
+ * tells the height of the process list widget
+ * provides methods to add/remove process from the list
+ *     note : the sync with drawing is left to the caller.
+ * provides helper function to convert a process unique identifier to
+ *     pixels (in height).
+ *
+ * //FIXME : connect the scrolled window adjustment with the list.
+ */
+
+typedef struct _ProcessInfo {
+       
+       guint pid;
+       LttTime birth;
+
+} ProcessInfo;
+
+
+
+struct _ProcessList {
+       
+       GtkWidget *Process_List_VC;
+       GtkListStore *Store_M;
+
+       /* A hash table by PID to speed up process position find in the list */
+       GHashTable *Process_Hash;
+       
+       guint Number_Of_Process;
+
+};
+
+
 typedef struct _ProcessList ProcessList;
 
-ProcessList *ProcessList(void);
+ProcessList *ProcessList_construct(void);
 void ProcessList_destroy(ProcessList *Process_List);
 GtkWidget *ProcessList_getWidget(ProcessList *Process_List);
 
-int ProcessList_add(Process *myproc, ProcessList *Process_List, guint *height);
-int ProcessList_remove(Process *myproc, ProcessList *Process_List);
+// out : success (0) and height
+int ProcessList_add(ProcessList *Process_List, guint pid, LttTime *birth,
+               guint *height);
+// out : success (0) and height
+int ProcessList_remove(ProcessList *Process_List, guint pid, LttTime *birth);
+
+guint ProcessList_get_pixels(ProcessList *Process_List);
+
+// Returns 0 on success
+gint ProcessList_get_process_pixels(ProcessList *Process_List,
+                               guint pid, LttTime *birth,
+                               guint *x, guint *height);
 #endif // _PROCESS_LIST_H
This page took 0.023266 seconds and 4 git commands to generate.