Xavi Artigas
23c303f87b
Efl.Loop_* (from Efl.Loop.*)
...
Ref https://phab.enlightenment.org/T6847
Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
2018-04-24 09:04:03 -07:00
Daniel Kolesa
fcae7cab27
eolian gen: enable constness generation on property getter impls
...
This changes a lot of things all across the EFL. Previously,
methods tagged @const had both their external prototype and
internal impl generated with const on object, while property
getters only had const on the external API. This is now changed
and it all has const everywhere.
Ref T6859.
2018-04-17 20:31:55 +02:00
Carsten Haitzler
2fb5cc3ad0
efl_add_ref - fis to use efl_add properly with a parent.
...
fixes bc18b7e7ad
and
168849e8a0
2018-03-29 13:30:55 +09:00
Cedric BAIL
4c4177ac20
efl: use efl_add_ref to create objects which have no parent
...
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:56 -07:00
Carsten Haitzler
1c74aaa7e9
Revert "cxx: Fix manual code after efl_app change."
...
This reverts commit 135154303b
.
Revert "efl: move signal events from efl.loop to efl.app"
This reverts commit 3dbca39f98
.
Revert "efl: add test suite for efl_app"
This reverts commit 3e94be5d73
.
Revert "efl: create Efl.App class, the parent of Efl.Loop"
This reverts commit 28fe00b94e
.
Go back to before efl.app because I think this should be done with
superclassing here not a parent object. reasons?
1. multiple loops per single thread make no sense. so if multilpe loop
objects they wont be contained in a single app object and then deleted
like this.
2. the app object is not really sharable in this design so it cant be
accessed from other threads
3. it makes it harder to get the main loop or app object (well 2 func
calls one calling the other and more typing. it is longer to type and
more work where it is not necessary, and again it can't work from
other threads unless we go duplicating efl.app per thread and then
what is the point of splittyign out the signal events from efl.loop
then?)
etc.
2018-03-03 13:40:33 +09:00
Al Poole
34a25f0318
eio_file: fix some indentation.
...
Make this easier to read.
2018-02-27 17:33:47 +00:00
Mike Blumenkrantz
e22a0ab4c7
eio: move some typedefs into base eio header
...
eio eo api uses these. FIXME?
2018-02-26 14:46:35 -05:00
Mike Blumenkrantz
28fe00b94e
efl: create Efl.App class, the parent of Efl.Loop
2018-02-26 14:02:51 -05:00
Mike Blumenkrantz
5025569f77
eio: sentry.del -> sentry.remove
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz
adc2be188c
eolian: convert all of cedric's tabs to spaces in .eo files
2018-02-12 12:59:05 -05:00
Mike Blumenkrantz
d55fc77cfa
eio: remove broken pid-based monitor reset copied from ecore-file
...
this has no technical basis for existing and should be handled by
individual monitor backends
@fix
2018-02-07 12:12:22 -05:00
Mike Blumenkrantz
26d73cbae1
eio: make inotify monitors fork-safe
...
@fix
2018-02-02 16:59:44 -05:00
Vincent Torri
8f5029fbbc
Eio: disable the symlink code on Windows
2018-01-30 16:52:24 +09:00
Vincent Torri
f5b01ac5ce
all: Simplify definition of EAPI
...
This will help in the transition from Autotools to Meson. This has been
tested on Windows for which EFL_XXX_BUILD were first introduced.
2018-01-18 18:04:03 +09:00
Daniel Kolesa
dd11d19653
efl: make efl build again
...
After a function pointer validation branch got enabled, it turned
out that people have been writing obviously incorrect eo files
all along.
So while I have no idea if this is logically fully correct, at
least EFL builds again now...
cc @thiepha
2018-01-12 19:31:45 +01:00
Cedric Bail
23624acc16
eio: remove unecessary include.
2018-01-11 21:30:39 -08:00
Cedric BAIL
526415d903
eo: make efl_provider_find a @const function.
2018-01-04 11:45:10 -08:00
Cedric BAIL
fd0bcc201b
eio: switch code to simpler pattern with efl_loop_promise_new.
2018-01-03 12:16:25 -08:00
Carsten Haitzler
9bedda14b3
efl loop - rename ecore_main_loop_get to efl_main_loop_get
...
ecore_main_loop_get() is really a new "eo api" but it's using our old
ecore_* namespace, so move to the new efl namespace.
2018-01-02 16:13:54 +09:00
Andy Williams
d234458dfc
Fix and simpligy windows behaviour.
...
Author: Vincent Torri
2017-12-31 16:08:31 +00:00
Jean-Philippe Andre
ff24ac2d6d
efl: Reset ecore event types on init
...
This fixes cycles of init/shutdown/init where ecore event types would
become invalid, since they are now stored in a dynamic array rather than
a statically stored array.
The risk here is that if a module of EFL tends to init/shutdown in a
"normal" scenario then the event type array will grow in a leaking
manner. This could be fixed by resetting those event ID's only when the
loop actually exits (EFL_EVENT_DEL on the main loop). I'm not using
EFL_EVENT_DEL in this patch as this would add too many event callbacks
to the main loop object, which may result in slightly slower event calls
to it, affecting the overall performance.
2017-12-19 11:14:37 +09:00
Cedric BAIL
fa0ba4c0c9
eio: remove uneeded function.
2017-12-15 09:45:48 -08:00
Cedric Bail
d5c9c0b784
eio: migrate Efl.Io.Manager.xattr_ls to use Eina_Future.
2017-12-14 16:42:44 -08:00
Cedric BAIL
df032058fd
ecore: rename Efl.Loop_User to Efl.Loop.Consumer.
2017-12-13 14:54:57 -08:00
Vincent Torri
771bb6e6a7
Evil: use static buffer to store error messages
...
Reviewers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5394
2017-12-11 16:04:02 +09:00
Stefan Schmidt
5f288dfde0
docs: add the last docs for efl_io_manager eo class
2017-12-08 17:09:46 +01:00
Andy Williams
d5dbcdabd1
eo: Rename efl_ref_get to efl_ref_count
2017-11-08 09:30:42 +00:00
Daniel Kolesa
263c3ac2ae
eio: properly mark array contents as ptr
2017-11-02 13:53:14 +01:00
Cedric Bail
c549f2c993
eio: do not copy memory for nothing.
2017-09-28 18:31:34 -07:00
Cedric Bail
961c860d65
eio: use TIMESTAMP when meaningful.
2017-09-28 18:31:34 -07:00
Cedric Bail
0fb9af0506
eio: migrate efl.io.manager.ls to use Eina_Future.
2017-09-28 18:31:34 -07:00
Cedric BAIL
245ea06a65
eio: convert Efl.Io.Manager.stat() to return Eina_Future.
2017-09-27 16:32:58 -07:00
Jean-Philippe Andre
f3c9d25c1f
elm: Properly unregister providers on shutdown
...
This should fix some errors in make check with CK_FORK=no
Test:
<efl/build>/src$ CK_FORK=no ./tests/elementary/elm_suite elm_config
@fix
2017-09-26 17:58:07 +09:00
Vincent Torri
0cdd501246
EFL For WIN32: Replace HAVE_EVIL define with _WIN32
2017-09-22 05:06:10 -05:00
Daniel Kolesa
a8b8b7efde
eo files: first batch of @owned conversions
2017-09-15 16:44:26 +02:00
Cedric Bail
cba58203a3
eio: move efl.io.manager.xattr.get to use the new Eina_Future.
2017-09-14 10:11:29 -07:00
Cedric BAIL
6a4bc78eaf
eio: don't flush value after giving ownership.
2017-09-14 09:36:33 -07:00
Cedric Bail
b9ef9af74a
eio: migrate efl.io.manager.open to use Eina_Future.
2017-09-13 15:53:00 -07:00
Cedric BAIL
de106a2973
eio: move efl.io.manager.close to use the new future.
2017-09-12 14:08:40 -07:00
Cedric BAIL
2e4d357a26
eio: simplify promise use.
2017-09-12 10:22:21 -07:00
Cedric BAIL
e33d0d9996
eio: first convertion to new future/promise.
2017-09-11 16:10:46 -07:00
Felipe Magno de Almeida
2544456819
eio: Fix eio model children count in initialization of children model
2017-09-07 12:36:48 +09:00
Vincent Torri
45bcc87e76
eio: fix correct stat structure on Windows 32 bits
...
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-14 10:17:24 -07:00
Al Poole
169a08c03a
efreetd: BSD optimizations.
...
Summary: Related to ticket T5475.
Reviewers: raster, cedric
Subscribers: jpeg, cedric, raster
Differential Revision: https://phab.enlightenment.org/D4865
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-10 12:26:08 -07:00
Al Poole
7ee68cb4e2
eio: improve Kevent (FreeBSD et. al)
...
Summary: Adds initial support for file/directory creation and deletion detection.
Reviewers: raster, cedric
Reviewed By: cedric
Subscribers: raster, jpeg
Differential Revision: https://phab.enlightenment.org/D4811
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-28 10:17:17 -07:00
Carsten Haitzler
24b77d8ed9
eio monitor - remove unused vars and fix warning
2017-04-21 16:39:06 +09:00
Cedric BAIL
9bd80d542c
eio: use new API eina_file_close_on_exec.
2017-04-18 16:56:40 -07:00
Cedric BAIL
aef1ee96e8
eio: avoid crash during shutdown due to Ecore_Event queue.
2017-03-09 16:17:58 -08:00
Felipe Magno de Almeida
a1f2db255b
cxx: Modify how to generate C++ headers and allow cyclic dependencies
...
Allow cyclic dependencies in generated C++ headers by changing order
of includes and creating forward declarations.
2017-01-18 22:47:04 -02:00
Daniel Kolesa
192ea2c9ad
eio, edje: use new property impl syntax
2016-12-27 17:47:00 +01:00
Ivan Furs
3df48e281e
eio: Correct deletion backend
...
Summary:
This patch fixes the bug Fileselector.
When backend is deleted need to remove event handler from the list.
This commit adds ecore_main_win32_handler_del for correct clean
handlers for cases when monitor backend was created by
eio_monitor_backend_add(Windows method) or eio_monitor_fallback_add. To
remove them needed to use eio_monitor_backend_del(Windows method) or
eio_monitor_fallback_del. To identify the method which should free
backend was added flag monitor->fallback instead of using static
_eio_monitor_win32_native. This solves conflicts if 2 monitors was
created and the second monitor changed the _eio_monitor_win32_native
variable value. When 1 monitor removed it will be deleted correctly .
@fix
Reviewers: NikaWhite
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4518
2016-12-27 16:20:59 +02:00
Jee-Yong Um
f1ab136abc
doxygen: remove reference warnings.
...
Reviewers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4503
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-12-20 16:39:30 -08:00
Ivan Furs
1c0b3668e1
Eio_monitor: support native monitor for Win32 (T4978)
...
Test Plan:
eio_monitor_backend_add() and eio_monitor_fallback_add use different structures
**eio_monitor_backend_add() **
struct _Eio_Monitor_Backend
{
Eio_Monitor *parent;
Eio_Monitor_Win32_Watcher *watcher_file;
Eio_Monitor_Win32_Watcher *watcher_dir;
Eio_Monitor_Win32_Watcher *watcher_parent;
};
**eio_monitor_fallback_add()**
struct _Eio_Monitor_Backend
{
Eio_Monitor *parent;
Eina_Stat self;
Eina_Hash *children;
Ecore_Timer *timer;
Ecore_Idler *idler;
Ecore_Thread *work;
int version;
Eina_Bool delete_me : 1;
Eina_Bool initialised : 1;
Eina_Bool destroyed : 1;
};
therefore, an error occurs
**void eio_monitor_backend_del**(Eio_Monitor *monitor)
{
if (!_eio_monitor_win32_native) <------_eio_monitor_win32_native is EINA_TRUE
{
eio_monitor_fallback_del(monitor); <------ignored------
return; <------ignored------
}
_eio_monitor_win32_watcher_free(monitor->backend->watcher_parent);
_eio_monitor_win32_watcher_free(monitor->backend->watcher_dir);
_eio_monitor_win32_watcher_free(monitor->backend->watcher_file);
free(monitor->backend);
monitor->backend = NULL;
}
Reviewers: raster, vtorri, an.kroitor, jpeg, reutskiy.v.v, FurryMyad, cedric
Reviewed By: cedric
Subscribers: vtorri, artem.popov, cedric, jpeg
Tags: #windows, #efl
Differential Revision: https://phab.enlightenment.org/D4492
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-12-16 15:27:14 -08:00
Cedric BAIL
9393560178
eio: check error case for eina_value_get.
...
CID 1356609
2016-12-16 14:10:58 -08:00
Carsten Haitzler
2de9f552b9
eio - have a smaller mempool as i can see 270k of stuff hanging about
...
eio seems to consume memory even when not in active use. this saves
most of 270k even when no longer needed. the mempool just keeps stuff
around pretty much forever. also the memory size limit doesn't work at
asll if yous set it to something other than -1. it just locks eio up.
@optimize
2016-12-03 18:01:53 +09:00
Jee-Yong Um
e037f30be4
efl.io.manager: fix eo types and indent
...
Reviewers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4413
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-28 11:35:27 -08:00
Stefan Schmidt
124effc524
docs: eio: finish up missing eo file docs in eio
2016-11-11 09:15:24 +01:00
Stefan Schmidt
a670418431
docs: efl_io: add missing docs for efl_io_manager
2016-11-07 15:53:35 +01:00
Daniel Kolesa
a8f240e10d
ecore_audio, eio eo: remove pointers
2016-11-04 17:14:30 +01:00
Stefan Schmidt
4a66bd14b7
docs: document all missing type defines in our eo files
...
With this commit we reach 100% alias doc coverage for our eo files.
2016-11-03 11:57:40 +01:00
Vitor Sousa
9f2270804b
eio model: remove useless efreet_mime_type_get call
2016-10-28 21:21:57 -02:00
Stefan Schmidt
0fd32899ec
docs: eio: document missing structs
2016-10-27 18:22:42 +02:00
Cedric Bail
fb8d139ad0
eio: fetch mime type asynchronously.
2016-10-25 16:54:55 -07:00
Jean-Philippe Andre
7f6f282210
Efl.Loop.User: Use prefix to rename efl_loop_user_loop_get
...
efl_loop_user_loop_get is idiotic. efl_loop_get should be good enough.
2016-10-06 12:24:59 +09:00
Jean-Philippe Andre
4e811bed17
eio_model: Provide main loop even without parent
...
An eio model (and I believe most other models as well, in fact)
require a Efl.Loop.User as parent in order for efl future/promises
to work. This adds a fallback code directly inside eio model. The
alternative was to parent and efl_del all models in fileselector.
See T4686
2016-10-06 09:43:19 +09:00
Al Poole
72125bd8c3
eio - put in fix by disabling some fallback code
...
as per https://phab.enlightenment.org/T4619
fixes 4619
@fix
2016-10-04 15:05:58 +09:00
Felipe Magno de Almeida
1a2014a122
efl: Update Efl.Model to use new Efl_Promise and Efl_Future
...
Replaced all Eina_Promise_Owner and Eina_Promise with Efl_Promise and
Efl_Future.
2016-09-29 13:12:27 -03:00
Vitor Sousa
87fec80413
eio model: use empty mime type when efreet is unable to determine it
...
FIX T4502
@fix
2016-09-23 13:21:55 -03:00
Cedric BAIL
59a77b3315
eio: properly track destruction of all Eet eio request.
...
@fix T4550
2016-09-12 16:19:10 -07:00
Cedric BAIL
bd362b13d6
efl: add documentation and last cleanup of the API.
2016-09-08 15:16:43 -07:00
Cedric BAIL
0c067fb62f
eio: implement efl_io_manager_xattr_ls
2016-09-08 15:16:43 -07:00
Cedric BAIL
c6e145da2d
eio: add an internal function for getting xattr in bulk.
2016-09-08 15:16:43 -07:00
Cedric BAIL
5579d2f5cd
eio: make xattr list packed for better performance.
2016-09-08 15:16:43 -07:00
Cedric BAIL
d7fbd6f13e
eio: fix allocation in eio_dir to reuse common safer infra.
2016-09-08 15:16:43 -07:00
Cedric Bail
52c63190d5
eio: rework efl_io_manager to use efl_future.
2016-09-08 15:16:23 -07:00
Cedric Bail
11fe9b8cd9
eio: add internal function able to build array instead of triggering a callback per files.
2016-09-08 14:58:06 -07:00
Cedric Bail
d26a0a2f70
eio: track length of resulting operation to be reported by futures.
2016-09-08 14:58:06 -07:00
Al Poole
a19f730137
eio: fix kevent monitor to not SIGBUS.
2016-09-07 16:41:59 -07:00
Tom Hacohen
9c779dca90
Rename efl_self to efl_added
...
It has been discussed on the ML (thread: "[RFC] rename efl_self") and
IRC, and has been decided we should rename it to this in order to avoid
confusion with the already established meaning of self which is very
similar to what we were using it for, but didn't have complete overlap.
Kudos to Marcel Hollerbach for initiating the discussion and
fighting for it until he convinced a significant mass. :)
This commit breaks API, and depending on compiler potentially ABI.
@feature
2016-09-05 16:59:56 +01:00
Vitor Sousa
f02ff462e7
efl callbacks: update some events calls to no longer trigger legacy callbacks
2016-08-30 13:59:59 -03:00
Vitor Sousa
8356b16a49
Efl Object: remove legacy callback calls from event_callback_call
...
Efl.Object.event_callback_call no longer calls legacy smart callbacks;
calling only event callbacks registered with the given event description
pointer.
Create the method Efl.Object.event_callback_legacy_call to inherit the old
behavior from Efl.Object.event_callback_call, calling both Efl.Object events
and legacy smart callbacks.
Update all other files accordingly in order to still supply legacy
callbacks while they are necessary.
2016-08-26 15:45:07 -03:00
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