enum Efl.Task_Priority { [[ ]] normal, background, low, high, ultra } enum Efl.Task_Flags { [[ ]] none = 0, use_stdin = 1, use_stdout = 2, no_exit_code_error = 4, } abstract Efl.Task extends Efl.Object { [[ ]] methods { @property priority { [[ The priority of this task. ]] get { } set { } values { priority: Efl.Task_Priority; [[ ]] } } @property exit_code { [[ The final exit code of this task. ]] get { } values { code: int; [[ ]] } } @property flags { set { } get { } values { flags: Efl.Task_Flags; [[ ]] } } run @pure_virtual { [[ Actually run the task ]] return: future @owned; [[ A future triggered when task exits and is passed int exit code ]] } end @pure_virtual { [[ Request the task end (may send a signal or interrupt signal resulting in a terminate event being tiggered in the target task loop) ]] } } events { } implements { Efl.Object.destructor; Efl.Object.parent { set; } } }