LTTV_AFTER_REQUEST,
LTTV_EVENT_HOOK,
LTTV_EVENT_HOOK_BY_ID,
+ LTTV_HOOK_ADDER,
+ LTTV_HOOK_REMOVER,
LTTV_IN_PROGRESS,
- LTTV_READY;
+ LTTV_READY,
+ LTTV_LOCK;
/** Array containing instanced objects. */
g_init_trace = lttvwindowtraces_get_trace_by_name(abs_path);
if(g_init_trace == NULL) {
trace = ltt_trace_open(abs_path);
- if(trace == NULL) g_critical("cannot open trace %s", abs_path);
- g_init_trace = lttv_trace_new(trace);
- lttvwindowtraces_add_trace(g_init_trace);
+ if(trace == NULL) {
+ g_warning("cannot open trace %s", abs_path);
+ } else {
+ g_init_trace = lttv_trace_new(trace);
+ lttvwindowtraces_add_trace(g_init_trace);
+ }
}
}
LTTV_AFTER_REQUEST = g_quark_from_string("after_request");
LTTV_EVENT_HOOK = g_quark_from_string("event_hook");
LTTV_EVENT_HOOK_BY_ID = g_quark_from_string("event_hook_by_id");
+ LTTV_HOOK_ADDER = g_quark_from_string("hook_adder");
+ LTTV_HOOK_REMOVER = g_quark_from_string("hook_remover");
LTTV_IN_PROGRESS = g_quark_from_string("in_progress");
LTTV_READY = g_quark_from_string("ready");
+ LTTV_LOCK = g_quark_from_string("lock");
g_debug("GUI init()");
lttv_hooks_add(main_hooks, window_creation_hook, NULL, LTTV_PRIO_DEFAULT);
+ LttvHooks *hook_adder = lttv_hooks_new();
+ lttv_hooks_add(hook_adder, lttv_state_save_hook_add_event_hooks, NULL,
+ LTTV_PRIO_DEFAULT);
+ LttvHooks *hook_remover = lttv_hooks_new();
+ lttv_hooks_add(hook_remover, lttv_state_save_hook_remove_event_hooks,
+ NULL, LTTV_PRIO_DEFAULT);
+ /* Add state computation background hook adder to attributes */
+ lttvwindowtraces_register_computation_hooks(g_quark_from_string("state"),
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ hook_adder, hook_remover);
}
void
LttvTrace *trace;
GSList *iter = NULL;
+ lttvwindowtraces_unregister_requests(g_quark_from_string("state"));
+ lttvwindowtraces_unregister_computation_hooks(g_quark_from_string("state"));
+
lttv_option_remove("trace");
lttv_hooks_remove_data(main_hooks, window_creation_hook, NULL);