Description
Command_Capacity
Command_Capacity : Positive := 64;
Event_Capacity
Event_Capacity : Positive := 256;
Events
with package Events is new Flyology_TUI.Application_Events (<>);
Execute
procedure Execute
(Command : Transitions.Command;
Message : out Events.Message;
Produced : out Boolean)
Execute runs on one command worker. Expected failures should be encoded in Message and returned with Produced set; an escaping exception stops the runner and is reported as Runner_Error.
Parameters
- Command
- Message
- Produced
Initialize
procedure Initialize
(Model : in out Model_Type;
Next : in out Transitions.Transition)
Parameters
- Model
- Next
Model_Type
type Model_Type is limited private;
Present
function Present
(Model : Model_Type) return Flyology_TUI.Views.View
Parameters
- Model
Return value
Run
procedure Run
(Model : in out Model_Type;
Backend : in out Flyology_TUI.Backends.Backend'Class)
Run owns Model on the calling task. Terminal input and command execution feed a bounded inbox, while Initialize, Update, Present, and Render are invoked serially. Run restores the backend if any operation fails.
Parameters
- Model
- Backend
Runner_Error
Runner_Error : exception;
Transitions
with package Transitions is new Flyology_TUI.Transitions (<>);
Update
procedure Update
(Model : in out Model_Type;
Event : Events.Event;
Next : in out Transitions.Transition)
Parameters
- Model
- Event
- Next