minor bugfix
[lttv.git] / ltt / branches / poly / doc / developer / lttvwindow_events_delivery.txt
index fd29ab561b9395f1751e9cc8f1ac507d920d1784..6d5ee52cbb3c086e2babb3e2968c74244557ecd2 100644 (file)
@@ -140,20 +140,9 @@ Architecture
 Added to the lttvwindow API :
 
 
-- lttvwindow_events_request
-( MainWindow          *main_win,
-  LttTime              start_time,
-  LttvTracesetPosition start_position,
-  LttTime              end_time,
-  guint                num_events,
-  LttvTracesetPosition end_position,
-  LttvHooksById        before_traceset,
-  LttvHooksById        before_trace,
-  LttvHooksById        before_tracefile,
-  LttvHooksById        middle,
-  LttvHooksById        after_tracefile,
-  LttvHooksById        after_trace,
-  LttvHooksById        after_traceset)
+void lttvwindow_events_request
+( MainWindow                  *main_win,
+  EventsRequest                events_request);
 
 
 Internal functions :
@@ -181,18 +170,18 @@ It adds the EventsRequest struct to the array of time requests pending and
 registers a pending request for the next g_idle if none is registered.
 
 typedef struct _EventsRequest {
-  LttTime              start_time,
-  LttvTracesetPosition start_position,
-  LttTime              end_time,
-  guint                num_events,
-  LttvTracesetPosition end_position,
-  LttvHooksById        before_traceset,
-  LttvHooksById        before_trace,
-  LttvHooksById        before_tracefile,
-  LttvHooksById        middle,
-  LttvHooksById        after_tracefile,
-  LttvHooksById        after_trace,
-  LttvHooksById        after_traceset)
+  LttTime                     start_time,       /* Unset : { 0, 0 }       */
+  LttvTracesetContextPosition start_position,   /* Unset : num_traces = 0 */
+  LttTime                     end_time,         /* Unset : { 0, 0 }       */
+  guint                       num_events,       /* Unset : G_MAXUINT      */
+  LttvTracesetContextPosition end_position,     /* Unset : num_traces = 0 */
+  LttvHooksById              *before_traceset,  /* Unset : NULL           */
+  LttvHooksById              *before_trace,     /* Unset : NULL           */
+  LttvHooksById              *before_tracefile, /* Unset : NULL           */
+  LttvHooksById              *middle,           /* Unset : NULL           */
+  LttvHooksById              *after_tracefile,  /* Unset : NULL           */
+  LttvHooksById              *after_trace,      /* Unset : NULL           */
+  LttvHooksById              *after_traceset    /* Unset : NULL           */
 } EventsRequest;
 
 
@@ -238,7 +227,7 @@ While list_in !empty and list_out !empty
       (1.3.2 middle hooks added)
   2. Else, list_in is not empty, we continue a read
     2.1 For each req of list_out
-    - if req.start time == current time
+    - if req.start time == current context time
       - Add to list_in, remove from list_out
       - Call begin
     - if req.start position == current position
@@ -265,7 +254,7 @@ While list_in !empty and list_out !empty
           - if req.num == 0
             - Call end for req
             - remove req from list_in
-          - if req.end time == current time
+          - if current context time > req.end time
             - Call end for req
             - remove req from list_in
           - if req.end pos == current pos
This page took 0.023751 seconds and 4 git commands to generate.