| 1 | #ifndef LTTV_H |
| 2 | #define LTTV_H |
| 3 | |
| 4 | #include "attribute.h" |
| 5 | |
| 6 | /* Initial draft by Michel Dagenais May 2003 |
| 7 | * Reworked by Mathieu Desnoyers, May 2003 |
| 8 | */ |
| 9 | |
| 10 | |
| 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 | |
| 18 | |
| 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 |