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