X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Flttvwindow%2Flttvwindow%2Flttvwindowtraces.h;h=20ea0c43f599279495224963cc8e655c6f0ae7d8;hb=51705146eabfc882972ca6bc815dc78addcee896;hp=2a1c335b577b2a6a7dc8fa983f229eb93695a9d2;hpb=a1a2b6492b9e18506e9429b71a90fcfff9da7f99;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindowtraces.h b/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindowtraces.h index 2a1c335b..20ea0c43 100644 --- a/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindowtraces.h +++ b/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindowtraces.h @@ -31,7 +31,25 @@ extern LttvTraceInfo LTTV_TRACES, LTTV_REQUESTS_QUEUE, LTTV_REQUESTS_CURRENT, LTTV_NOTIFY_QUEUE, - LTTV_NOTIFY_CURRENT; + LTTV_NOTIFY_CURRENT, + LTTV_COMPUTATION_TRACESET, + LTTV_COMPUTATION_TRACESET_CONTEXT, + LTTV_BEFORE_CHUNK_TRACESET, + LTTV_BEFORE_CHUNK_TRACE, + LTTV_BEFORE_CHUNK_TRACEFILE, + LTTV_AFTER_CHUNK_TRACESET, + LTTV_AFTER_CHUNK_TRACE, + LTTV_AFTER_CHUNK_TRACEFILE, + LTTV_BEFORE_REQUEST, + LTTV_AFTER_REQUEST, + LTTV_EVENT_HOOK, + LTTV_EVENT_HOOK_BY_ID, + LTTV_HOOK_ADDER, + LTTV_HOOK_REMOVER, + LTTV_IN_PROGRESS, + LTTV_READY; + + /* Get a trace by its path name. * @@ -137,4 +155,80 @@ void lttvwindowtraces_background_notify_current void lttvwindowtraces_background_notify_remove(gpointer owner); +/** + * Tells if the information computed by a module for a trace is ready. + * + * Must be checked before a background processing request. + * + * @param module_name A GQuark : the name of the module which computes the + * information. + * @param trace The trace for which the information is verified. + */ + +gboolean lttvwindowtraces_get_ready(LttvAttributeName module_name, + LttvTrace *trace); + +/** + * Tells if the information computed by a module for a trace is being processed. + * + * Must be checked before a background processing request. + * + * If it is effectively processed, the typical thing to do is to call + * lttvwindowtraces_background_notify_current to be notified when the current + * processing will be over. + * + * @param module_name A GQuark : the name of the module which computes the + * information. + * @param trace The trace for which the information is verified. + */ + +gboolean lttvwindowtraces_get_in_progress(LttvAttributeName module_name, + LttvTrace *trace); + +/** + * Register the background computation hooks for a specific module. It adds the + * computation hooks to the global attrubutes, under "computation/module name" + * + * @param module_name A GQuark : the name of the module which computes the + * information. + */ +void lttvwindowtraces_register_computation_hooks(LttvAttributeName module_name, + LttvHooks *before_chunk_traceset, + LttvHooks *before_chunk_trace, + LttvHooks *before_chunk_tracefile, + LttvHooks *after_chunk_traceset, + LttvHooks *after_chunk_trace, + LttvHooks *after_chunk_tracefile, + LttvHooks *before_request, + LttvHooks *after_request, + LttvHooks *event_hook, + LttvHooksById *event_hook_by_id, + LttvHooks *hook_adder, + LttvHooks *hook_remover); +/** + * Unregister the background computation hooks for a specific module. + * + * It also removes all the requests than can be currently processed by the + * background computation algorithm for all the traces (list_in and list_out). + * + * @param module_name A GQuark : the name of the module which computes the + * information. + */ + +void lttvwindowtraces_unregister_computation_hooks + (LttvAttributeName module_name); + + +/** + * It removes all the requests than can be currently processed by the + * background computation algorithm for all the traces (list_in and list_out). + * + * Leaves the flag to in_progress or none.. depending if current or queue + * + * @param module_name A GQuark : the name of the module which computes the + * information. + */ +void lttvwindowtraces_unregister_requests(LttvAttributeName module_name); + + #endif //LTTVWINDOWTRACES_H