forked from enlightenment/efl
63 lines
2.3 KiB
Plaintext
63 lines
2.3 KiB
Plaintext
import eina_types;
|
|
|
|
abstract Efl.Loop_Consumer extends Efl.Object
|
|
{
|
|
[[An @Efl.Loop_Consumer is a class which requires one of the parents to provide
|
|
an @Efl.Loop interface when performing @Efl.Object.provider_find. It will enforce this by
|
|
only allowing parents which provide such an interface or $NULL.
|
|
|
|
@since 1.22
|
|
]]
|
|
c_prefix: efl_loop;
|
|
methods {
|
|
@property loop {
|
|
[[Handle of the loop this object belongs to.]]
|
|
get {
|
|
}
|
|
values {
|
|
loop: Efl.Loop; [[Efl loop.]]
|
|
}
|
|
}
|
|
future_resolved @const {
|
|
[[Creates a new future that is already resolved to a value.
|
|
|
|
This function creates a new future with an already known value,
|
|
that will be resolved and dispatched by the loop scheduler as
|
|
usual.
|
|
|
|
This is a helper that behaves the same as eina_future_resolved.]]
|
|
params {
|
|
result: any_value; [[The value to be delivered.
|
|
|
|
Note that the value contents must survive this function scope, that is, do
|
|
not use stack allocated blobs, arrays, structures or types that keep
|
|
references to memory you give. Values will be automatically cleaned up using
|
|
\@ref eina_value_flush() once they are unused (no more future or futures returned a new value)]]
|
|
}
|
|
return: future<any_value>; [[The future or $NULL on error.]]
|
|
}
|
|
future_rejected @const {
|
|
[[Creates a new future that is already rejected to a specified error using the @.loop.get.
|
|
|
|
This function creates a new future with an already known error,
|
|
that will be resolved and dispatched by the loop scheduler as
|
|
usual.
|
|
|
|
This is a helper that behaves the same as \@ref eina_future_rejected.]]
|
|
params {
|
|
error: Eina.Error; [[An Eina_Error value]]
|
|
}
|
|
return: future<Eina.Error>; [[The future or $NULL on error.]]
|
|
}
|
|
promise_new @const {
|
|
[[Create a new promise with the scheduler coming from the loop provided by this object.
|
|
|
|
Note: You should not use eina_promise_data_set as this function rely on controlling the promise data.]]
|
|
return: Eina.Promise @move @by_ref; [[The new promise.]]
|
|
}
|
|
}
|
|
implements {
|
|
Efl.Object.parent { set; }
|
|
}
|
|
}
|