summaryrefslogtreecommitdiff
path: root/src/lib/eldbus (follow)
AgeCommit message (Collapse)Author
3 dayseldbus: only free the data when the future is resolved or rejected.Cedric BAIL
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org> Differential Revision: https://phab.enlightenment.org/D10684
2019-10-07eldbus: properly cleanup local variable during destruction.Cedric BAIL
Summary: Depends on D10288 Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt, jsuya Reviewed By: zmike Subscribers: ProhtMeyhet, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10289
2019-10-07eldbus: connection are destroyed on invalidate, there is no point for any ↵Cedric BAIL
object to not cleanup on invalidate. Summary: This solve a bug when there is a change in order of destruction and you would expect the model to still work. Depends on D10287 Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt, jsuya Reviewed By: bu5hm4n Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10288
2019-10-07eldbus: Eldbus_Proxy require to handle self desctruction as refcounting ↵Cedric BAIL
doesn't fully protect. Summary: If the connection is destroyed before the proxy, the proxy will clear itself and self destroy. Before that it will trigger the free callback to handle proper cleanup. Refcounting it doesn't protect it from this self destruction scenario. So it is mandatory to always have a free callback set on a proxy to handle its death properly. Depends on D10286 Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt, jsuya Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10287
2019-10-07eldbus: properly call parent finalize during creation of Eldbus.Model_Method.Cedric BAIL
Summary: @fix Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt, jsuya Reviewed By: bu5hm4n Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10286
2019-09-06eldbus_proxy: Prevent dangling pointer.JunsuChoi
2019-08-29eolian: drop @crefDaniel Kolesa
In the end this was just a failed experiment that didn't turn out to be practical. For now, revert back to ptr(const(T)) until a proper replacement for pointer syntax is added.
2019-08-11eldbus - fix null node last on introspection parseCarsten Haitzler (Rasterman)
this fixes CID 1402721
2019-07-26eolian: ban void_ptr in stable APIsDaniel Kolesa
This required some refactoring in eldbus and tests but otherwise seems good to go.
2019-07-10efl: use eina_streq for all property operation in model to avoid crash on ↵Cedric BAIL
NULL property name. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9266
2019-06-15optimize - avoid eina_inlist_last where not neededCarsten Haitzler (Rasterman)
really minor places.
2019-05-29eldbus: don't print warnings for user-canceled callsMike Blumenkrantz
Summary: these are intentionally canceled and not something to be concerned with @fix Depends on D8974 Reviewers: devilhorns Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8976
2019-03-19eldbus: Fix resource leakChristopher Michael
Summary: Coverity reports that we leak 'data' here (which can happen if we error on 'eina_value_dup(value)'). Iniitalize 'data' to NULL, and add a 'free' call to cleanup 'data' before we return a rejected future. Fixes Coverity CID1399097 @fix Depends on D8350 Reviewers: raster, cedric, zmike, bu5hm4n, stefan_schmidt Reviewed By: cedric Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8352
2019-03-15eldbus: Fix dereference after null checkChristopher Michael
Summary: Coverity reports we are passing NULL variable 'properties' to eina_array_pop here which dereferences it. Wrap the 'end' block in an if which checks for valid 'properties' variable Fixes Coverity CID1399422 @fix Depends on D8350 Reviewers: raster, cedric, zmike, bu5hm4n, stefan_schmidt Reviewed By: cedric Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8351
2019-03-14build: add a option to disable eo file installationMarcel Hollerbach
Summary: this is done because .eo files are not stable, and in order to stop people depending on it, its better for now to disable the installation of them for now. ref T7676 Reviewers: stefan_schmidt, cedric, zmike, devilhorns Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7676 Differential Revision: https://phab.enlightenment.org/D7897
2019-03-11eolian: enable checking of beta/stable contexts in all classesDaniel Kolesa
Summary: This enables all the checks unconditionally, without ignoring classes that don't have an Efl namespace. This required a lot of beta marking to make it build. It most likely doesn't mark types correctly, as that is not fully enabled yet. Reviewers: zmike, cedric, segfaultxavi, bu5hm4n Reviewed By: segfaultxavi Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8266
2019-03-08efl: for consistency and effiency move Efl.Model event to send stringshare ↵Cedric BAIL
like Property_Bind event. Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7946
2019-03-08headers: ensure Efl.h is always included behind BETA define guardsMike Blumenkrantz
Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D8244
2019-01-31efl_model : rename all efl_model based classes.SangHyeon Jade Lee
Summary: As the result of discussion in T7458, we need to rename all efl_model based classes with efl_XXX_Model sequence. I've run few vote for this, see V42, V43 few classes are totally renamed as our consideration of misnaming. | Efl.Model_Loop | Efl.Loop_Model | | Efl.Model_Item | Efl.Generic_Model | | Efl.Model_Container | Efl.Container_Model | | Efl.Model_Container_Item | Efl.Container_Model_Item | | Efl.Model_Composite | Efl.Composite_Model | | Efl.Model_Composite_Boolean | Efl.Boolean_Model | | Efl.Model_Composite_Boolean_Chlidren | Efl.Boolean_Model_Item | | Efl.Model_Composite_Selection | Efl.Select_Model | | Efl.Model_Composite_Selection_Chlidren | Efl.Select_Model_Item | | Efl.Model_View | Efl.View_Model | | Eio.Model | Efl.Io.Model | | Efl.Ui.Model_State | Efl.Ui.State_Model | | Efl.Ui.Model_Size | Efl.Ui.Size_Model | | Efl.Ui.Model_Exact | Efl.Ui.Exact_Model | | Efl.Ui.Model_Average | Efl.Ui.Average_Model | | Efl.Ui.Model_Homogeneous | Efl.Ui.Homogeneous_Model | I worried about Efl.Io.Model changes, cause it is widely used, but as I tested, there is no issue found yet. Eldbus.Model also may can changed Efl.Dbus.Model, but I cannot found any class who using Efl.Dbus namespace, so I left it future work. Test Plan: Run the Make Test, it works well except Efl test about selection. there are class inheritance problem exist in select_model, I reported it and will fix it in another patch. Reviewers: cedric, felipealmeida, woohyun, Hermet Reviewed By: cedric Subscribers: lauromoura Tags: #efl, #do_not_merge Differential Revision: https://phab.enlightenment.org/D7533
2019-01-18efl: convert all classes to the new eolian syntaxMarcel Hollerbach
ref T7459 Reviewed-by: Daniel Kolesa <daniel@octaforge.org> Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Differential Revision: https://phab.enlightenment.org/D7684
2019-01-16ecore: remove data parameters of Efl.Loop_Consumer.promise_new to reduce the ↵Cedric BAIL
risk of inadvertently using the wrong data. If you need data, use a efl_future_then as done in every case here to get the same feature. Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D7577
2018-12-26Revert "Revert "ecore: make efl_loop_promise_new a function of ↵Carsten Haitzler (Rasterman)
Efl.Loop_Consumer."" This reverts commit 42e886d8d61d551bb544b777e6d254ce4dd3fcf1.
2018-12-26Revert "ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer."Marcel Hollerbach
This reverts commit 9b5155c9f135f9ef450a817979f5884352b2d4c0. For now lets revert this, this breaks copy and paste, further more it has the potential to break a lot more things, as eio_model tends to use efl_loop_promise new, and then eina_promise_data_set, which is explicitly forbidden. This fixes crashing terminology instances.
2018-12-20ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer.Cedric BAIL
I am not sure this is the right way to do it as binding would have to likely to bind it manually. Reviewed-by: Lauro Neto <Lauro Moura <lauromoura@expertisesolutions.com.br>> Differential Revision: https://phab.enlightenment.org/D7492
2018-12-20cmake: remove!Marcel Hollerbach
This build was never complete and also was not maintained probebly. It is also dropped in favour of meson which is cool, merged, works & is fast. Differential Revision: https://phab.enlightenment.org/D7010
2018-12-04eldbus model - remove unused vars warnCarsten Haitzler (Rasterman)
2018-12-04eldbus model - fix signed compare warnCarsten Haitzler (Rasterman)
2018-12-03meson: use eolian_gen with -SMarcel Hollerbach
this ensures that eolian does not parse installed .eo files Differential Revision: https://phab.enlightenment.org/D7405
2018-11-30eldbus: simplify code by using helper that create future directly.Cedric BAIL
The new helper help replace call to eina_future_resolved and eina_future_rejected with a scheduler lookup to just one function call. Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7340
2018-11-30eldbus: simplify code by using proper helper.Cedric BAIL
efl_loop_promise_new is a helper function that does automatically figure out an available scheduler and create a promise from it. Basically replacing the call to eina_promise_new(efl_loop_future_scheduler_get(o), ...). Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7335
2018-11-29eldbus: add bracketsYeongjong Lee
Summary: assignment expression is always true. Test Plan: make Reviewers: cedric, devilhorns Reviewed By: devilhorns Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7357
2018-11-23eo: rename efl_future_Eina_FutureXXX_then in efl_future_then as this has ↵Cedric BAIL
been available for some time. Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7327
2018-11-23eldbus: switch Eldbus.Model to inherit from Efl.Model_Loop.Cedric BAIL
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7326
2018-11-23efl: make Efl.Model.properties_get return an Iterator<string>.Cedric BAIL
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7289
2018-11-09eldbus- fix warning by casting through voidCarsten Haitzler (Rasterman)
so eldbus does silly things like use a cb ptr with a different type of cb - very explicitly. so it casts but warnigns don't like it and assume it maybe a bug, so use void *'s so have some silence for this bit of evil.
2018-10-24meson: add eolian custom dependencies supportDaniel Kolesa
This uses the meson/ninja depfile functionality + eolian to make sure proper dependencies between generated files and .eo files are managed, to ensure consistent re-generation of all generated files that are affected upon .eo file modification. For custom rules with multiple outputs, Ninja currently does not support depfiles. Therefore, split those into two custom rules so that the depfiles functionality can be enabled. While this is ugly and slows down the process a little by having to invoke Eolian twice instead of once, it has to be done and it's still better than what we had in Autotools anyway. Differential revision: D7187 Fixes T6700.
2018-10-10eldbus: remove unreachable code.Hosang Kim
Coverity doesn't like this unreachable code. Differential Revision: https://phab.enlightenment.org/D7120
2018-10-02here comes mesonMarcel Hollerbach
a new shiny buildtool that currently completes in the total of ~ 4 min.. 1 min. conf time 2:30 min. build time Where autotools takes: 1:50 min. conf time 3:40 min. build time. meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read. Further informations can be gathered from the README.meson Right now, bindings & windows support are missing. It is highly recommented to use meson 0.48 due to optimizations in meson that reduced the time the meson call would need. Co-authored-by: Mike Blumenkrantz <zmike@samsung.com> Differential Revision: https://phab.enlightenment.org/D7012 Depends on D7011
2018-05-24eldbus: manage death of children during invalidate.Cedric Bail
Differential Revision: https://phab.enlightenment.org/D6091
2018-05-19efl: Add missing event typesXavi Artigas
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-13eolian: second batch of unused import removalsDaniel Kolesa
This fixes all remaining occurences introduced by false negatives in 6bcd70f01d527cb05c16bfde0bf85ce79bef465e. The rest was already fixed in 6be3809c04fad847e353edecf5b6eef3c8766df4.
2018-05-13eolian: first batch of unused import removalsDaniel Kolesa
Initial results of our static analysis showed a bunch of unused imports or imports used only for documentation references. In the first case, remove entirely, in the second case, change to 'parse' in order to keep references working. The static analysis is not perfect and yields false negatives for certain cases, so there will be a second batch later.
2018-05-01efl: update Efl.Model to properly propagate ↵Cedric BAIL
EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED.
2018-05-01eldbus: make sure we do not destroy our log domain until we shutoff eina.Cedric BAIL
2018-04-30ecore: move efl_model_list_value_get to be an internal function.Cedric BAIL
2018-04-30eldbus: migrate and refactor eldbus.model to new efl.model API.Cedric Bail
2018-04-30eldbus: refactor model code.Cedric Bail
2018-04-17eolian gen: enable constness generation on property getter implsDaniel Kolesa
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-05eldbus: call ecore_init in eldbus_initMike Blumenkrantz
eldbus requires ecore and cannot run without it @fix Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com>
2018-03-19eldbus: ensure the lifetime of the eldbus object path is monitored for proxiesCedric BAIL
the object is instantly destroyed when connection is lost Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>