This is a specialized Efl.Task which abstracts an operating system process. This class provides a way to start a task by running an executable file (specified using the Efl.Core.Command_Line interface) and further customize its execution flags (Efl.Exe.exe_flags) and environment variables (Efl.Exe.env). It also allows communicating with the process through signals (Efl.Exe.signal).
truewill notify Efl.Io.Reader.read can be called without blocking or failing.
Eina_Bool efl_io_reader_can_read_get(const Eo *obj); void efl_io_reader_can_read_set(Eo *obj, Eina_Bool can_read);
truewill notify Efl.Io.Writer.write can be called without blocking or failing.
Eina_Bool efl_io_writer_can_write_get(const Eo *obj); void efl_io_writer_can_write_set(Eo *obj, Eina_Bool can_write);
Closes the Input/Output object.
Eina_Error efl_io_closer_close(Eo *obj);
Eina_Bool efl_io_closer_closed_get(const Eo *obj);
Implement this method to provide optional initialization code for your object.
Efl_Object *efl_constructor(Eo *obj);
Implement this method to provide deinitialization code for your object if you need it.
void efl_destructor(Eo *obj);
Request the task end (may send a signal or interrupt signal resulting in a terminate event being triggered in the target task loop).
void efl_task_end(Eo *obj);
env (get, set)
NULLthen the process created by this object is going to inherit the environment of this process.
Efl_Core_Env *efl_exe_env_get(const Eo *obj); void efl_exe_env_set(Eo *obj, Efl_Core_Env *env);
truewill notify end of stream.
Eina_Bool efl_io_reader_eos_get(const Eo *obj); void efl_io_reader_eos_set(Eo *obj, Eina_Bool is_eos);
exe_flags (get, set)
Customize the process' behavior.
Efl_Exe_Flags efl_exe_flags_get(const Eo *obj); void efl_exe_flags_set(Eo *obj, Efl_Exe_Flags flags);
int efl_exe_exit_signal_get(const Eo *obj);
The priority of this task.
Efl_Task_Priority efl_task_priority_get(const Eo *obj); void efl_task_priority_set(Eo *obj, Efl_Task_Priority priority);
Reads data into a pre-allocated buffer.
Eina_Error efl_io_reader_read(Eo *obj, Eina_Rw_Slice rw_slice);
Actually run the task.
Eina_Bool efl_task_run(Eo *obj);
Send a signal to this process.
void efl_exe_signal(Eo *obj, Efl_Exe_Signal sig);
Writes data from a pre-populated buffer.
Eina_Error efl_io_writer_write(Eo *obj, Eina_Slice slice, Eina_Slice *remaining);
|command_access||Get the accessor which enables access to each argument that got passed to this object.|
|close_on_exec (get, set)||If true will automatically close resources on exec() calls.|
|close_on_invalidate (get, set)||If true will automatically close() on object invalidate.|
|future_rejected||Creates a new future that is already rejected to a specified error using the Efl.Loop_Consumer.loop.get.|
|future_resolved||Creates a new future that is already resolved to a value.|
|promise_new||Create a new promise with the scheduler coming from the loop provided by this object.|
|allow_parent_unref (get, set)||Allow an object to be deleted by unref even if it has a parent.|
|children_iterator_new||Get an iterator on all children.|
|comment (get, set)||A human readable comment for the object.|
|composite_attach||Make an object a composite object of another.|
|composite_detach||Detach a composite object from another object.|
|composite_part_is||Check if an object is part of a composite object.|
|debug_name_override||Build a read-only name for this object used for debugging.|
|event_callback_forwarder_del||Remove an event callback forwarder for a specified event and object.|
|event_callback_forwarder_priority_add|| Add an event callback forwarder that will make this object emit an event whenever another object (
|event_callback_stop||Stop the current callback call.|
|event_freeze||Freeze events of this object.|
| ||event_global_freeze||Globally freeze events for ALL EFL OBJECTS.|
| ||event_global_freeze_count (get)|
| ||event_global_thaw||Globally thaw events for ALL EFL OBJECTS.|
|event_thaw||Thaw events of object.|
|finalize||Implement this method to finish the initialization of your object after all (if any) user-provided configuration methods have been executed.|
|invalidate||Implement this method to perform special actions when your object loses its parent, if you need to.|
|name (get, set)||The name of the object.|
|name_find||Find a child object with the given name and return it.|
|provider_find||Searches upwards in the object tree for a provider which knows the given class/interface.|
|provider_register||Will register a manager of a specific class to be answered by Efl.Object.provider_find.|
|provider_unregister||Will unregister a manager of a specific class that was previously registered and answered by Efl.Object.provider_find.|
|flags (get, set)||Flags to further customize task's behavior.|
|parent (get, set)||The parent of an object.|
|closed||Notifies closed, when property is marked as true|
|can_read,changed||Notifies can_read property changed.|
|eos||Notifies end of stream, when property is marked as true.|
|can_write,changed||Notifies can_write property changed.|
|del||Object is being deleted. See Efl.Object.destructor.|
|destruct||Object has been fully destroyed. It can not be used beyond this point. This event should only serve to clean up any reference you keep to the object.|
|invalidate||Object is being invalidated and losing its parent. See Efl.Object.invalidate.|
|noref||Object has lost its last reference, only parent relationship is keeping it alive. Advanced usage.|
|ownership,shared||Object has acquired a second reference. It has multiple owners now. Triggered whenever increasing the refcount from one to two, it will not trigger by further increasing the refcount beyond two.|
|ownership,unique||Object has lost a reference and only one is left. It has just one owner now. Triggered whenever the refcount goes from two to one.|
|exit||Called when the task exits. You can pick up any information you need at this point such as exit_code etc.|