2018-05-23 02:46:44 -07:00
|
|
|
enum Efl.Task_Priority {
|
2018-02-20 22:44:11 -08:00
|
|
|
[[ ]]
|
|
|
|
normal,
|
|
|
|
background,
|
|
|
|
low,
|
|
|
|
high,
|
|
|
|
ultra
|
|
|
|
}
|
|
|
|
|
2018-05-23 02:46:44 -07:00
|
|
|
enum Efl.Task_Flags {
|
2018-03-06 01:31:48 -08:00
|
|
|
[[ ]]
|
2018-04-03 10:34:10 -07:00
|
|
|
none = 0,
|
|
|
|
use_stdin = 1,
|
|
|
|
use_stdout = 2,
|
|
|
|
no_exit_code_error = 4,
|
2018-03-06 01:31:48 -08:00
|
|
|
}
|
|
|
|
|
2019-01-25 00:57:54 -08:00
|
|
|
abstract Efl.Task extends Efl.Object
|
2018-02-20 22:44:11 -08:00
|
|
|
{
|
|
|
|
[[ ]]
|
|
|
|
methods {
|
|
|
|
@property priority {
|
|
|
|
[[ The priority of this task. ]]
|
|
|
|
get { }
|
|
|
|
set { }
|
|
|
|
values {
|
2018-05-23 02:46:44 -07:00
|
|
|
priority: Efl.Task_Priority; [[ ]]
|
2018-02-20 22:44:11 -08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
@property exit_code {
|
|
|
|
[[ The final exit code of this task. ]]
|
|
|
|
get { }
|
|
|
|
values {
|
|
|
|
code: int; [[ ]]
|
|
|
|
}
|
|
|
|
}
|
2018-03-06 01:31:48 -08:00
|
|
|
@property flags {
|
|
|
|
set { }
|
|
|
|
get { }
|
|
|
|
values {
|
2018-05-23 02:46:44 -07:00
|
|
|
flags: Efl.Task_Flags; [[ ]]
|
2018-03-06 01:31:48 -08:00
|
|
|
}
|
|
|
|
}
|
2019-01-10 03:51:18 -08:00
|
|
|
run @pure_virtual {
|
2018-02-20 22:44:11 -08:00
|
|
|
[[ Actually run the task ]]
|
2018-05-03 08:13:28 -07:00
|
|
|
return: future<void> @owned; [[ A future triggered when task exits and is passed int exit code ]]
|
2018-02-20 22:44:11 -08:00
|
|
|
}
|
2019-01-10 03:51:18 -08:00
|
|
|
end @pure_virtual {
|
2018-02-20 22:44:11 -08:00
|
|
|
[[ 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; }
|
|
|
|
}
|
|
|
|
}
|