Commit Graph

132 Commits

Author SHA1 Message Date
Tom Hacohen e65aae994e Eo: Finish the renaming of Eo to the EFL.
This renames all the rest of the API to the EFL namespace except for
Eo_Event that will follow soon.

Obviously breaks both API and ABI.
2016-08-15 15:07:42 +01:00
Tom Hacohen c662934be8 Change the EFL to follow the new Eo rename. 2016-08-11 17:04:43 +01:00
Stephen Houston 31f351ae4e Eio: Update my email address. 2016-08-05 20:33:27 -05:00
Cedric BAIL dd1d3f0d2d autotools: since it has been broken for some times and nobody noticed, let's remove per directory support. 2016-08-01 13:36:47 -07:00
Cedric Bail 57226d86ff eio: handle failure due to lack of access right. 2016-07-15 17:07:49 -07:00
Cedric Bail adff89dfc0 eio: make it possible to force fallback monitor for testing purpose. 2016-07-15 17:07:49 -07:00
Cedric Bail e93d6f90db eio: avoid access after death of eio handler due to inotify triggering IN_IGNORED event. 2016-07-15 17:07:49 -07:00
Cedric Bail bf369ba661 eio: cleanup thread pointer on thread finish. 2016-07-15 17:07:49 -07:00
Carsten Haitzler e3b6b74aa6 eio model - fix leak found by coverity
fix CID 1355012
2016-07-08 18:15:05 +09:00
Cedric BAIL b047bf7f64 eio: register one Efl_Io_Manager by default on the main loop at init time. 2016-06-22 13:19:13 -07:00
Cedric BAIL 10aadafcfd eio: rename eio_job to efl_io_manager.
There is still a lot of work to do in this API to make it efficient and
stable. Will try to get at it before 1.18 release.
2016-06-22 13:19:13 -07:00
Felipe Magno de Almeida 8e4f383d61 efl: Move promise parameter to return in data model
Summary:
Instead of:

efl_model_property_get("name", &promise);

now:

promise = efl_model_property_get("name");

Reviewers: stefan_schmidt, cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4038
2016-06-16 22:01:07 -03:00
Larry Jr 3f1466b77d eio: Fixed Eio_Model monitor life cycle 2016-06-14 20:57:00 -03:00
Felipe Magno de Almeida f6d20c839e eio: Removed wrong attribution to promise vtable from Eio 2016-06-11 10:40:27 -03:00
Larry Jr 191bc882d4 eio: fixed Eina_Value_Type in model property mtime 2016-06-10 19:33:30 -03:00
Lauro Moura 46843551c0 eina: Remove value type promises
All values in promises are now considered as by-pointer.
2016-06-09 22:38:54 -03:00
Jean-Philippe Andre ba85c4eff9 eio: Fix build for windows
dllimport vs dllexport problem due to invalid include order.
Thanks @vtorri for the report

See 1ba06bb642
2016-06-07 15:09:07 +09:00
Benjamin Jacobs 35bae18e43 eio: fix pointer comparison.
Fix a warning on dragonfly.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-06-06 12:05:43 -07:00
Cedric BAIL b1f62061b9 eio: remove eio_model that should already be part of Eio.h. 2016-06-06 11:01:16 -07:00
Larry Jr c9c178f2db eio: fix free eina_promises in error_callbacks 2016-06-06 03:30:42 -03:00
Larry Jr b57579a295 eio: treat Eina_Accessor NULL as success instead of failure in model
We treated as errors when Eina_Accessor was NULL, which meant
that we could never get an empty range os children. Treat it
as success and pass an empty Eina_Accessor
2016-06-05 22:53:55 -03:00
Larry Jr 1ba06bb642 eio: Add mime_type property in Eio_Model 2016-06-05 22:08:06 -03:00
Larry Jr c33caa86ab eio: Eio_Model parent_get return parent model 2016-06-05 22:08:06 -03:00
Larry Jr e14042eabe eio: Fix Eio_Model promise accessor 2016-06-05 22:08:06 -03:00
Felipe Magno de Almeida 8fec0d5139 eina: Remove unnecessary indirection to promises
Now when dealing with pointer types, we will not get pointer to
pointer semantics in callbacks and eina_promise_owner_value_set
for Eina_Promise.

It will work as expected:

Eina_Promise_Owner* promise = eina_promise_add();

void* p = malloc(sizeof(T));
eina_promise_owner_value_set(promise, p, &free);
2016-06-03 17:22:12 -03:00
Daniel Kolesa b1946ca5d6 eolian: utilize the new void_ptr builtin across eo files
This lets me narrow down the remaining cases of pointers across the EFL.
The void pointers will later need to be reevaluated on per-case basis and
replaced appropriately where possible/feasible.
2016-06-02 13:00:26 +01:00
Daniel Kolesa 6fc482aa9b eolian: utilize the new builtin string type across eo files 2016-05-31 16:05:43 +01:00
Hermet Park 01c7fd7cda eio: fix build break.
there were missing eo headers.
fix and make it work again.
2016-05-28 19:08:03 +09:00
Lauro Moura 7241b7375d eio: Adds Eo-based Eio API
The legacy Eio_File factory functions are replaced by an Eo object
called Eo_Job that return promises wrapping the async file operations.
With this commit, the legacy Eio callbacks are replaced by the following
Eo/Promises counterparts :

* Done_Cb -> Promise then success callback
* Error_Cb -> Promise then error callback
* Main_Cb -> Promise progress callback
* Filter_Cb -> Job object event (more below)

Events are used to deliver and get the filter data. To differentiate
between the named and direct versions, they come in "filter,direct" and
"filter,name" versions.

Monitors were wrapped inside a new class Eo_Sentry.

The user creates a sentry object and adds monitoring targets to it,
listening to events on it.

The sentry event info is composed of two strings. The source string
is the path being monitored, i.e. the one passed to eio_sentry_add, and
the trigger string is the path that actually triggered the event, e.g.
a new file created in a monitored directory.
2016-05-25 21:32:03 -03:00
Lauro Moura 0eacdc03da eio: Call correct function to cleanup Eio_File.
The Eio functions operating on Eina_Files were just freeing
the Eio_File pointer on completion instead of calling eio_file_free
to unregister the thread.
2016-05-25 21:32:03 -03:00
Tom Hacohen 96c4c88070 Efl: Remove "legacy_prefix: null;" as it's now the default. 2016-05-12 17:27:35 +01:00
Tom Hacohen 138d4e1353 Efl model: Remove the no longer needed .Base hack. 2016-05-10 11:36:35 +01:00
Larry Jr 0c76f82a31 Efl, Eio, Eldbus, Elementary: new model API use eina_promise
Efl - efl_model_base changed to use eina_promise
Eio - eio_model use efl_model_base with promise
Eldbus - elddbus models use promise now
Elementary - elm_view_list and elm_view_form use new models with promise

updated all related examples and tests
2016-04-29 13:21:24 -03:00
Stefan Schmidt 3e4a902270 docs: eio: add class description for eio model class 2016-04-20 12:46:41 +02:00
Cedric BAIL 968dcaae34 eio: make it possible to build the library alone. 2016-04-14 16:18:19 -07:00
Tom Hacohen 8706d03b43 Change the EFL according to the renaming of the eo_add() current object. 2016-03-15 15:25:54 +00:00
Tom Hacohen f24210caac Revert "Automatic migration to the new eo_add syntax."
This reverts commit 4f949a2757.
2016-03-11 12:29:03 +00:00
Tom Hacohen 4f949a2757 Automatic migration to the new eo_add syntax. 2016-03-09 16:09:14 +00:00
Tom Hacohen f21ade6123 Automatic migration to Eo4.
I just ran my script (email to follow) to migrate all of the EFL
automatically. This commit is *only* the automatic conversion, so it can
be easily reverted and re-run.
2016-03-03 09:58:08 +00:00
Tom Hacohen 4e285d6a32 Eio model: Fix Eolian warnings.
This includes either migrating types to eolian, fixing namespace or
importing extra types.
2016-02-16 14:05:50 +00:00
Vivek Ellur d64f50acfc eio_monitor: fix memory leak in eio monitor module
Summary:
Free the allocated memory in eio monitor win32 module.

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3160

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-09 10:00:32 +02:00
Vivek Ellur 491fdb94b0 eio_monitor: fix memory leak issue
Summary:
@fix

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3161

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-09 10:00:32 +02:00
Cedric BAIL a4c588b1e4 eio: make poll backend pass eio_test_monitor.c test suite.
Summary: The current poll backend code uses only filename when reporting changes, while eio tests (and presumably other backends) use absolute path. This makes poll backends behavior more consistent with other backends.

Test Plan: Ran eio test suite with poll backend.

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Projects: #efl

Differential Revision: https://phab.enlightenment.org/D3083

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-04 16:22:49 +02:00
Cedric BAIL 1bd5a60c75 eio: improve documentation.
This set of documentation update basically make it clearer that Eio
use Eina and do cross linking of function used by Eio to Eina. It
also copy some of the warning coming from Eina documentation into Eio.
2015-10-01 14:13:51 -07:00
Amitesh Singh 17a891e00d eio: fix typo in documentation 2015-09-28 21:57:35 +05:30
Cedric BAIL d00deaaef3 eio: add kevent backend.
Summary: Implement basic kqueue/kevent backend for eio. When it comes to tracking directory changes, this backend falls back to the polling one.

Test Plan: Ran Enlightenment for several days and some other EFL apps without any issue.

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Projects: #e_on_freebsd, #efl

Differential Revision: https://phab.enlightenment.org/D2983

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-09-22 00:13:38 +02:00
Guillaume Friloux 1cc4d91dd5 eio: unify deletion of eina_file_ls's iterator.
Due to a bug with eio_file_stat_ls(), a previous patch
(73a23401ef) was written.

This patch change the way we delete returned eina iterator
from eina_file_ls in _eio_file_eina_ls_heavy() from a separate
thread, into eio_async_end() from the main thread.

To clarify the code, and avoid a useless call to
eina_iterator_free(), this patch also moves the deletion
of the same eina iterator from _eio_file_heavy() into
eio_async_end() as well.
2015-09-03 10:19:12 +01:00
Cedric BAIL c11f40a3eb eio: limit race condition during shutdown. 2015-08-19 20:22:57 +02:00
Daniel Kolesa 18502b8429 efl: fix doc references across the tree to validate right 2015-07-08 15:13:26 +01:00
Daniel Kolesa 7d40ec0ad9 ector,ecore,eio,emotion: convert some docs 2015-06-10 14:35:11 +01:00