Natools

Diff
Login

Differences From Artifact [e86553a260]:

To Artifact [ef3067335b]:


198
199
200
201
202
203
204
205
206
207
208













209
210
211
212
213
214
215
198
199
200
201
202
203
204




205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224







-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+







            Previous : Callback_Refs.Reference;
         begin
            Map.Insert (Actual_Time, Callback, Position, Inserted);

            if not Inserted then
               Previous := Entry_Maps.Element (Position);

               if Previous.Update.Data.all in Event_List then
                  Append
                    (Event_List (Previous.Update.Data.all),
                     Callback);
               if Previous.Query.Data.all in Event_List then
                  if Callback.Query.Data.all in Event_List then
                     for I of Event_List (Callback.Query.Data.all).List loop
                        Append (Event_List (Previous.Update.Data.all), I);
                     end loop;
                  else
                     Append
                       (Event_List (Previous.Update.Data.all),
                        Callback);
                  end if;
               elsif Callback.Query.Data.all in Event_List then
                  Append (Event_List (Callback.Update.Data.all), Previous);
                  Map.Replace_Element (Position, Callback);
               else
                  Map.Replace_Element
                    (Position,
                     Create_Event_List (Previous, Callback));
               end if;
            end if;
         end;