Add Trigger manager for managing triggers created by things like 'when' statements

- Adds new trigger namespace
- Adds trigger::Manager class as a new IOSource for keeping track of triggers and integrating them into the loop. Previously the loop relied on the event manager Drain() method to process all triggers on every loop, but now that the loop actively waits for events to occur, triggers would not fire when they needed to. Adding them as part of the loop ensures they're checked.
This commit is contained in:
Tim Wojtulewicz 2019-11-26 12:47:33 -07:00
parent 92bde61b78
commit a159d075cf
11 changed files with 131 additions and 93 deletions

View file

@ -515,7 +515,7 @@ void Frame::CaptureClosure(Frame* c, id_list arg_outer_ids)
// if (c) closure = c->SelectiveClone(outer_ids);
}
void Frame::SetTrigger(Trigger* arg_trigger)
void Frame::SetTrigger(trigger::Trigger* arg_trigger)
{
ClearTrigger();