c5d77517 |
1 | #ifndef LTTV_H |
2 | #define LTTV_H |
3 | |
c71d80de |
4 | #include "attribute.h" |
5 | |
c5d77517 |
6 | /* Initial draft by Michel Dagenais May 2003 |
7 | * Reworked by Mathieu Desnoyers, May 2003 |
8 | */ |
9 | |
4accaa97 |
10 | |
c5d77517 |
11 | /* The modules in the visualizer communicate with the main module and |
12 | with each other through attributes. There is a global set of attributes as |
13 | well as attributes attached to each trace set, trace and tracefile. */ |
14 | |
15 | lttv_attributes *lttv_global_attributes(); |
16 | |
17 | |
4accaa97 |
18 | |
c5d77517 |
19 | /* Modules are allowed to define new command line options. |
20 | |
21 | Each option has a long name (--long_name), a short one character |
22 | name (-c), a descriptive text, the argument type, and a |
23 | pointer to where the argument value will be stored. For an option of |
24 | type LTTV_OPT_NONE, the argument is a boolean value set to true when the |
25 | option is present. */ |
26 | |
27 | /* Those are already in option.h, cause conflict */ |
28 | //typedef enum _lttv_option_type |
29 | //{LTTV_OPT_NONE, LTTV_OPT_STRING, LTTV_OPT_INT, LTTV_OPT_LONG } |
30 | //lttv_option_type; |
31 | |
32 | |
33 | //void lttv_option_add(char *long_name, char char_name, char *description, |
34 | // lttv_option_type t, void *p); |
35 | |
36 | |
37 | |
38 | /* A number of global attributes are initialized before modules are |
39 | loaded, for example hooks lists. More global attributes are defined |
40 | in individual mudules to store information or to communicate with other |
41 | modules (GUI windows, menus...). |
42 | |
43 | The hooks lists (lttv_hooks) are initialized in the main module and may be |
44 | used by other modules. Each corresponds to a specific location in the main |
45 | module processing loop. The attribute key and typical usage for each |
46 | is indicated. |
47 | |
48 | /hooks/options/before |
49 | Good place to define new command line options to be parsed. |
50 | |
51 | /hooks/options/after |
52 | Read the values set by the command line options. |
53 | |
54 | /hooks/trace_set/before |
55 | Before any analysis. |
56 | |
57 | /hooks/trace_set/after |
58 | After all traces were analyzed. |
59 | |
60 | /hooks/trace/before |
61 | Before each trace. |
62 | |
63 | /hooks/trace/after |
64 | After each trace. |
65 | |
66 | /hooks/tracefile/before |
67 | Before each tracefile. |
68 | |
69 | /hooks/tracefile/after |
70 | After each tracefile. |
71 | |
72 | /hooks/event |
73 | Called for each event |
74 | |
75 | /hooks/event_id |
76 | This attribute contains an lttv_hooks_by_id, where the hooks for each |
77 | id are to be called when an event of the associated type are found. |
78 | |
79 | */ |
80 | |
81 | #endif // LTTV_H |