2016-08-13 00:50:29 -07:00
|
|
|
import eina_types;
|
|
|
|
|
2019-09-10 10:31:13 -07:00
|
|
|
interface Efl.Io.Closer {
|
2016-08-13 00:50:29 -07:00
|
|
|
[[Generic interface for objects that can close themselves.
|
|
|
|
|
|
|
|
This interface allows external objects to transparently close an
|
|
|
|
input or output stream, cleaning up its resources.
|
|
|
|
|
|
|
|
Calls to @.close() may or may not block, that's not up to this
|
|
|
|
interface to specify.
|
2019-03-22 08:25:22 -07:00
|
|
|
|
|
|
|
@since 1.22
|
2016-08-13 00:50:29 -07:00
|
|
|
]]
|
|
|
|
|
|
|
|
methods {
|
2019-01-17 10:59:56 -08:00
|
|
|
close {
|
2016-08-13 00:50:29 -07:00
|
|
|
[[Closes the Input/Output object.
|
|
|
|
|
|
|
|
This operation will be executed immediately and may or
|
|
|
|
may not block the caller thread for some time. The
|
|
|
|
details of blocking behavior is to be defined by the
|
|
|
|
implementation and may be subject to other parameters
|
|
|
|
such as non-blocking flags, maximum timeout or even
|
|
|
|
retry attempts.
|
|
|
|
|
|
|
|
You can understand this method as close(2) libc function.
|
|
|
|
]]
|
|
|
|
return: Eina.Error; [[0 on succeed, a mapping of errno otherwise]]
|
|
|
|
}
|
|
|
|
|
|
|
|
@property closed {
|
|
|
|
[[If true will notify object was closed.]]
|
2019-01-17 10:59:56 -08:00
|
|
|
get { }
|
2016-08-13 00:50:29 -07:00
|
|
|
values {
|
2016-11-01 06:13:42 -07:00
|
|
|
is_closed: bool; [[$true if closed, $false otherwise]]
|
2016-08-13 00:50:29 -07:00
|
|
|
}
|
|
|
|
}
|
2016-09-12 08:23:29 -07:00
|
|
|
|
|
|
|
@property close_on_exec {
|
|
|
|
[[If true will automatically close resources on exec() calls.
|
|
|
|
|
|
|
|
When using file descriptors this should set FD_CLOEXEC
|
|
|
|
so they are not inherited by the processes (children or
|
|
|
|
self) doing exec().
|
|
|
|
]]
|
2019-01-17 10:59:56 -08:00
|
|
|
get { }
|
|
|
|
set {
|
2016-11-01 06:13:42 -07:00
|
|
|
[[If $true, will close on exec() call.]]
|
2016-09-12 08:23:29 -07:00
|
|
|
return: bool; [[$true if could set, $false if not supported or failed.]]
|
|
|
|
}
|
|
|
|
values {
|
2016-11-01 06:13:42 -07:00
|
|
|
close_on_exec: bool; [[$true if close on exec(), $false otherwise]]
|
2016-09-12 08:23:29 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-04-17 16:17:29 -07:00
|
|
|
@property close_on_invalidate {
|
|
|
|
[[If true will automatically close() on object invalidate.
|
2016-09-12 08:23:29 -07:00
|
|
|
|
2018-04-17 16:17:29 -07:00
|
|
|
If the object was disconnected from its parent (including the main loop) without close,
|
|
|
|
this property will state whenever it should be closed or not.
|
2016-09-12 08:23:29 -07:00
|
|
|
]]
|
2019-01-17 10:59:56 -08:00
|
|
|
get { }
|
|
|
|
set { }
|
2016-09-12 08:23:29 -07:00
|
|
|
values {
|
2018-04-17 16:17:29 -07:00
|
|
|
close_on_invalidate: bool; [[$true if close on invalidate, $false otherwise]]
|
2016-09-12 08:23:29 -07:00
|
|
|
}
|
|
|
|
}
|
2016-08-13 00:50:29 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
events {
|
efl: Add missing event types
Summary:
All events must have a type now, otherwise bindings don't know how to handle
the event_info field.
Most of the missing event types were actually "void" (no event_info present).
Some struct definitions had to be moved to eo instead of h files, so they
are available to bindings. Some have not, and are marked with FIXME.
Some namespaces have been fixed (like Efl_Event_Cb -> Efl.Event_Cb).
In general, there are hundreds of changed files, but mostly to add a type which
was not present before, so there's no harm done.
Also, A lot of FIXMEs have been added which should be, like, fixed.
For example, some events can send different types of event_info, which is
very inconvenient (and error prone).
Test Plan: make with c# bindings works, make check and make examples work too.
Reviewers: cedric, q66, lauromoura
Subscribers: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6169
2018-05-11 08:20:40 -07:00
|
|
|
closed: void; [[Notifies closed, when property is marked as true]]
|
2016-08-13 00:50:29 -07:00
|
|
|
}
|
|
|
|
}
|