aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/ecore (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-02-06ecore: make sure we always manipulate a valid timer.Cedric BAIL1-0/+7
2017-02-06efl: add composite model for boolean propertiesFelipe Magno de Almeida4-0/+691
Add Efl.Model.Composite.Boolean, a model for wrapping another Efl.Model and adding boolean properties to its children. Children of the given composite model will have the boolean properties specified in Efl.Model.Composite.Boolean with the specified default value. A call to Efl.Model.Property_set can change the property value for a child. Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-06efl: add efl_model and efl_ui_view classesLarry Jr8-0/+863
Efl.Model.Container and Efl.Model.Item to efl/interfaces are used to create Efl.Model objects with predefined property values. This is useful to any situation where we want an Efl.Model with explicit defined property values. Efl.Ui.View and Efl.Ui.Factory are used to connect Efl.Models with Widgets, Elm.Layout and Efl.Ui.Image has changed to use news interfaces Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-06ecore: handle initialization of timer correctly.Cedric BAIL1-11/+10
2017-02-04 ecore thread: Fix waiting.Chidambar Zinnoury1-3/+6
Waiting would sometimes return as if the thread finished correctly while it is still running. This is because we’re waiting for the waiter data to be null… but this is always the case if the user-passed data is null! @fix
2017-02-03ecore: poller could actually be related to the main loop timing.Cedric BAIL1-4/+4
Reduce call to ecore_time_get which is a syscall to gettimeofday.
2017-02-03ifdef RUN_IN_TREE logic.Gustavo Sverzut Barbieri1-0/+2
This logic is only needed for autotools, cmake will replicate the installation file structure and thus eina_prefix works out of box.
2017-02-02ecore: avoid calling ecore_time_get everytime we create a timer.Cedric BAIL1-4/+31
This is particularly useful for ecore_timer_loop_add which are not supposed to trigger any syscall. It does add a new requirement on the EFL_LOOP_TIME_CLASS to always have an interval defined during construction.
2017-01-25cmake: add ecore.Gustavo Sverzut Barbieri1-0/+96
no tests or modules (which depend on eldbus).
2017-01-17eina: Introduce Eina_Slstr for short-lived stringsJean-Philippe Andre1-0/+7
Built on top of the new 'postponed' free queue, the short-lived strings API allows users to return new strings without caring about freeing them. EFL main loop will do this automatically for them you at a later point in time (at the end of an iteration). The APIs provided will either duplicate (copy) or more generally steal an existing string (char *, stringshare, tmpstr, strbuf), taking ownership of it and controling its lifetime. Those strings can then be safely returned by an API. From a user point of view, those strings must be considered like simple const char *, ie. no need to free() them and their validity is limited to the local scope. There is no function to remove such a string from the freeq. The short lived strings API is not thread-safe: do not send a short-lived object from one thread to another. @feature
2017-01-11eolian: enforce specification of both get and set in prop implsDaniel Kolesa4-10/+10
Now you can't use the same syntax as you would for a method to implement a property as whole, instead you need to specify the getter and/or setter explicitly. This is to allow parent classes to expand their properties without altering behavior of the child classes.
2017-01-06eina: rename EINA_{FLT,DBL}_CMP to EINA_{FLT,DBL}_EQ.Cedric BAIL5-9/+9
2016-12-28ecore_thread: reset waiter and worker when we have failedMarcel Hollerbach1-1/+9
otherwise the func_end and func_cancel can get into a endless recursion.
2016-12-27ecore_thread: null out the struct before returning itMarcel Hollerbach1-0/+4
it can contain old callback values which are not overwritten in every case. This just ensures that in both cases, empty trasher or none empty trasher, are returning the same state of the struct.
2016-12-27ecore: use new property impl syntaxDaniel Kolesa15-24/+21
2016-12-27ecore_main: don't wait on marked to delete handlers on WindowsAndrii Kroitor1-0/+6
This could lead to greedy wait with 100% CPU consumption because on wait error we never reach actual handlers deletion.
2016-12-22ecore_exe: do not try to send 0 bytesAndrii Kroitor2-1/+3
Summary: This action is meaningless when communicating with child process. Reviewers: barbieri Reviewed By: barbieri Subscribers: jpeg, vtorri, cedric, raster Differential Revision: https://phab.enlightenment.org/D4510
2016-12-22ecore_exe_win32: fix typo in input poll threadAndrii Kroitor1-4/+4
2016-12-22ecore_exe: fix send on WindowsAndrii Kroitor1-1/+1
Check for bytes written only if more than 0 bytes were sent. I don't know why some efl code is trying to send 0 bytes, but that works on Linux and therefore should be fixed on Windows.
2016-12-22ecore: fix wait for stdin on WindowsAndrii Kroitor1-3/+36
We can't directly wait on stdin handle because it is signaled imediatly even if there is no new data on input stream.
2016-12-22ecore_exe is broken on WindowsAndrii Kroitor2-352/+339
Summary: T4938 diff from @raster Aaaargh! There is no other way to get code from diff on phab.. Reviewers: vtorri Subscribers: vtorri, i.furs, cedric, jpeg, raster Differential Revision: https://phab.enlightenment.org/D4448
2016-12-21ecore: we need to process future and promise before the internal start loop.Cedric BAIL1-0/+10
2016-12-20efl_io_buffered_stream: eos-mark and flush sender on close.Gustavo Sverzut Barbieri1-1/+7
By marking EOS on the outgoing queue we allow the sender to flush pending data if that's possible. This also fixes a typo in the condition for eos_mark, it operates on outgoing, not incoming queue.
2016-12-20efl_io_reader/writer: silent errors when operating on unset-objects.Gustavo Sverzut Barbieri2-3/+3
if we're operating on unset objects, fd are now -1 and would complain, relax that.
2016-12-20efl_io_buffered_stream: if there is a copier, check if it's done.Gustavo Sverzut Barbieri1-2/+2
Before we're exiting if there was nothing pending, but in some cases this was too aggressive as the copier's source may be alive (ie: not-EOS), however nothing was read to its internal buffer, thus no pending. Since the copier will track its source's EOS, just check if it's done.
2016-12-20efl_io_copier: fix typo in efl_io_copier_flush().Gustavo Sverzut Barbieri1-1/+1
We should check if destination 'can write', not source.
2016-12-20do not emit events from efl_io_closer_close() on destructor.Gustavo Sverzut Barbieri2-2/+10
On destructor we're not supposed to emit events, I even thought that would be implicit, but it's not. If we do, for example an event handler that would 'efl_del()' on "EFL_IO_CLOSER_EVENT_CLOSED" would trigger too-many unrefs.
2016-12-20efl_io_reader/writer: always set 'can_*' to FALSE on errors.Gustavo Sverzut Barbieri2-2/+4
If user tries to read or write and that fails then set 'can_read' or 'can_write' to false, regardless of the error code.
2016-12-20efl_io_copier: avoid extra copy, todo--.Gustavo Sverzut Barbieri1-43/+14
Avoid the intermediate buffer and use the new eina_binbuf_expand() + eina_binbuf_use(), reading directly to the binbuf.
2016-12-20efl_io_copier: remove TODO leftovers.Gustavo Sverzut Barbieri1-3/+0
Copier is based on Efl.Io.Reader.can_read,changed and Efl.Io.Writer.can_write,changed, these events do not keep being posted until it's actually read/written, instead they trigger only once when the property change -- unlike Efl.Loop_Fd read/write events.
2016-12-19ecore: remove float comparison warning from Ecore_Animator code.Cedric BAIL1-5/+7
2016-12-19ecore: remove float comparison warning from Ecore_Poller code.Cedric BAIL1-1/+1
2016-12-19ecore: remove floating point comparison warning from Ecore_Thread code.Cedric BAIL1-1/+3
2016-12-19ecore: remove floating point comparison warning from Ecore main loop code.Cedric BAIL1-1/+1
2016-12-19ecore: remove float comparison warning from Ecore_Pipe.Cedric BAIL1-17/+17
2016-12-19more eo simplified to use Eina_Slice instead of pointer to.Gustavo Sverzut Barbieri4-16/+17
Working directly with Eina_Slice is easier than a pointer to it, requires no validation of the pointers and is cheap since it's just putting together size_t + void*. However we can't hint the user of 'const(Eina.Slice)' properties as Eolian is incorrectly generating getters as: const Eina_Slice class_property_get(...) which is makes compilers complain about ignored qualifiers: ../src/lib/ecore/efl_io_copier.eo.h:329:7: warning: 'const' type qualifier on return type has no effect [-Wignored-qualifiers] Leave some TODO so @q66 can fix those.
2016-12-19Efl.Io.{Queue,Buffer,Buffered_Stream}: slice_get is now a property.Gustavo Sverzut Barbieri2-22/+18
Previously we couldn't return a slice, instead required the user to pass a slice and we'd fill it since Eolian couldn't generate fallbacks for structures. Since @q66 fixed eolian, we can now return the structure itself as initially wanted, ditching some TODO from the code.
2016-12-19efl_io_file: initialize all fd to -1.Gustavo Sverzut Barbieri1-0/+5
Since 0 is a valid fd, we should initialize these to -1.
2016-12-16ecore: add helper to automatically connect a future result to a promise.Cedric BAIL2-1/+48
This helper is to be used likely with next and an external request.
2016-12-16ecore: delay promise fulfillment to next loop iteration.Cedric BAIL3-5/+56
2016-12-16ecore: remove useless information from header.Cedric BAIL1-2/+2
2016-12-16ecore: refactor promise propagation code.Cedric BAIL1-40/+26
2016-12-14eolian: unary expr eval for floats and add a signed number maskDaniel Kolesa1-1/+1
This adds a new mask for all signed numbers (sint + float) and fixes unary expr evaluation for floats, as well as fixes eval error messages.
2016-12-13evas: Make evas object loop usersJean-Philippe Andre1-3/+8
This makes efl_loop_get() work on evas objects, returning the main loop as expected. Also make the loop a property of the Loop_User class (shouldn't it be called Efl.Loop.User instead?)
2016-12-12Efl_Future: class name (string) using "." for namespace.Gustavo Sverzut Barbieri1-1/+1
Following recent eolian change, the string must have "." to split namespace, not "_".
2016-12-12yoda-style inactivity timeout.Gustavo Sverzut Barbieri4-23/+23
s/inactivity_timeout/timeout_inactivity/g so it matches the EFL names with scope first, like timeout_connect, etc.
2016-12-09efl_io_closer_fd: fix warning on windows.Gustavo Sverzut Barbieri1-0/+2
2016-12-09efl_io_copier: callbacks may close the copier.Gustavo Sverzut Barbieri1-1/+14
direct or indirect events may trigger the user to close the buffer.
2016-12-09efl_io_buffered_stream: del inner_io if we're the parent.Gustavo Sverzut Barbieri1-1/+4
This is a nice convenience if inner_io was reparented to the wrapper.
2016-12-09Fix typo in doxygen about ecore_idler_addJihoon Kim1-1/+1