Detail event viewer selects event based on other viewer's selection: update_current_time
[lttv.git] / ltt / branches / poly / lttv / modules / guiControlFlow / Process_List.h
CommitLineData
f0d936c0 1#ifndef _PROCESS_LIST_H
2#define _PROCESS_LIST_H
3
fa2c4dbe 4#include <gtk/gtk.h>
5#include <lttv/state.h>
6#include <ltt/ltt.h>
7
8/* The process list
9 *
10 * Tasks :
11 * Create a process list
12 * contains the data for the process list
13 * tells the height of the process list widget
14 * provides methods to add/remove process from the list
15 * note : the sync with drawing is left to the caller.
16 * provides helper function to convert a process unique identifier to
17 * pixels (in height).
5f16133f 18 *
19 * //FIXME : connect the scrolled window adjustment with the list.
fa2c4dbe 20 */
21
5f16133f 22typedef struct _ProcessInfo {
23
24 guint pid;
25 LttTime birth;
26
27} ProcessInfo;
28
29
30
31struct _ProcessList {
32
33 GtkWidget *Process_List_VC;
34 GtkListStore *Store_M;
35
36 /* A hash table by PID to speed up process position find in the list */
37 GHashTable *Process_Hash;
38
39 guint Number_Of_Process;
f7afe191 40 gboolean Test_Process_Sent;
5f16133f 41
42};
43
44
f0d936c0 45typedef struct _ProcessList ProcessList;
46
4c69e0cc 47ProcessList *processlist_construct(void);
48void processlist_destroy(ProcessList *Process_List);
49GtkWidget *processlist_get_widget(ProcessList *Process_List);
f0d936c0 50
fa2c4dbe 51// out : success (0) and height
4c69e0cc 52int processlist_add(ProcessList *Process_List, guint pid, LttTime *birth,
fa2c4dbe 53 guint *height);
54// out : success (0) and height
4c69e0cc 55int processlist_remove(ProcessList *Process_List, guint pid, LttTime *birth);
fa2c4dbe 56
4c69e0cc 57guint processlist_get_height(ProcessList *Process_List);
fa2c4dbe 58
59// Returns 0 on success
4c69e0cc 60gint processlist_get_process_pixels(ProcessList *Process_List,
fa2c4dbe 61 guint pid, LttTime *birth,
f7afe191 62 guint *y, guint *height);
f0d936c0 63#endif // _PROCESS_LIST_H
This page took 0.024501 seconds and 4 git commands to generate.