Commit Graph

307 Commits

Author SHA1 Message Date
Felipe Magno de Almeida b09c1f8093 eolian-cxx: Added stringshare 2016-06-21 16:35:09 -03:00
Felipe Magno de Almeida 9be8f029af eolian-cxx: Remove Eina_Bool from event function wrapper 2016-06-20 19:35:50 -03:00
Felipe Magno de Almeida b97a156ac4 eolian-cxx: Work with @inout parameter of void type 2016-06-16 21:48:07 -03:00
Felipe Magno de Almeida 7e0692b5f3 eolian-cxx: Remove warning about unused parameter 2016-06-15 17:49:56 -03:00
Felipe Magno de Almeida 512fb7f39b eina-cxx: Add overload for std::nullptr_t to stringview 2016-06-15 15:50:04 -03:00
Felipe Magno de Almeida 8906998ef2 eolian-cxx: Add support for ref parameters and correct ownership handling 2016-06-14 22:44:02 -03:00
Felipe Magno de Almeida e5884c95fa eolian-cxx: Fix C++ compilation for lacking .eo files being generated 2016-06-13 01:17:18 -03:00
Daniel Kolesa 33c147f6d4 eolian: remove the unnecessary subtypes API
Inner type can now be retrieved as a base type of the type.
If the type has two inner types or more, there is a new API that allows you to
get the second inner type by calling it on the first one (same would apply to
getting third via second etc.).

This API is simpler to use and doesn't require an iterator.
2016-06-10 14:28:19 +01:00
Daniel Kolesa 375179b47f eolian: support @protected for accessors (get/set)
Previously it was only possible to set it for the whole property.

@feature
2016-06-09 16:55:24 +01:00
Felipe Magno de Almeida 343b88a735 eolian-cxx: Fix some C++ quirks that makes clang warn about 2016-06-08 12:55:19 -03:00
Daniel Kolesa b87c4f6de8 eolian: refine the ref system to suit more cases
Now references are first class (but still restricted to one level). Unlike
pointers they only mark the type instead of introducing a whole new type.
2016-06-08 15:49:09 +01:00
Daniel Kolesa 7cf7cba88e eolian: remove the c_type_named_get APIs
These have inconsistent behavior and are generally unnecessary, so I'm
removing them. Use the c_type_get funcs instead.
2016-06-06 15:50:15 +01:00
Daniel Kolesa 9752c44a48 eolian: add a new references system to help replace pointers
It's now possible to mark struct fields and function params as "references",
which causes them to become pointers in C (in bindings, they become whatever
is necessary). They're not a part of the type and are much more restricted
than pointers, allowing bindings to be easier. This system will be gradually
utilized and expanded as required.

@feature
2016-06-06 15:28:10 +01:00
Felipe Magno de Almeida b2a07ca150 eo-cxx: Remove commented headers 2016-06-06 04:09:23 -03:00
Felipe Magno de Almeida 2a3d7860db eolian-cxx: Rewrite to accomodate new features of the C++ binding 2016-06-06 02:54:36 -03:00
Felipe Magno de Almeida 4d1b3191d9 eina-cxx: Add placeholder for futures in C++ binding 2016-06-06 02:50:36 -03:00
Felipe Magno de Almeida 710f97580a eina-cxx: Fix wrongful operator++ for iterator and docs 2016-06-06 02:50:13 -03:00
Felipe Magno de Almeida 7e1ce2d33d eina-cxx: Add c_str() to string_view 2016-06-06 02:49:47 -03:00
Felipe Magno de Almeida fec589cbdc eina-cxx: Restrict templated constructor 2016-06-06 02:49:28 -03:00
Felipe Magno de Almeida a1f2d03ecb eina-cxx: Add optional specialization for pointer types 2016-06-06 02:49:00 -03:00
Felipe Magno de Almeida 396fd5e3e1 eina-cxx: Added crange_array template typedef 2016-05-26 16:46:23 -03:00
Felipe Magno de Almeida 6e23780bb1 eolian-cxx: Fix generation of complex types in C++ binding
Fixed generation of complex types in C++ binding, with tests. This
problem came after the removal of the pointer types for top-level
complex types.
2016-05-23 17:34:50 -03:00
Felipe Magno de Almeida e3c8b280c6 c++: Reorganized C++ binding generation
Moved all generation to a single Makefile_Cxx.am file instead of
throughout the whole project. And fixed C++ generation on Elementary
after elm merge.
2016-05-23 15:05:50 -03:00
Felipe Magno de Almeida 5d5c04fd66 js fixes 2016-05-18 17:52:47 +02:00
Cedric Bail 75a53ece10 eo: for consistency use object like all our API. 2016-05-18 08:18:04 -07:00
Tom Hacohen 1f4af666e8 Eo cxx: remove leftover usage of eo_del(). 2016-05-18 09:55:30 +01:00
Carsten Haitzler 43661180f7 efl - key/data/value/obj attach to eo objects - make these properties
the key data now is a property so they come out in bindings really
nicely like:

  obj.key_data["blah"] = x;

  x = obj.key_data["blah"];

etc.
2016-05-18 02:02:45 +09:00
Felipe Magno de Almeida 535a069a23 eolian-cxx: Remove .Base requirement
Remove requirement that class can't have the same name as another
class's namespace.
2016-04-21 18:31:53 -03:00
Carsten Haitzler 5e09d1307b eo base - remove the duplicated key dels and just do eo_key_del() now
this rationalizes all the duplicated key dels (key_data, key_obj and
key_value).
2016-04-21 18:02:31 +09:00
Daniel Kolesa 525dcaa6ab eolian: fix invalid type_type mapping in lua bindings 2016-04-18 16:09:21 +01:00
Daniel Kolesa d8285ce651 eolian: fix object scope def in lua bindings 2016-04-18 13:50:28 +01:00
Tom Hacohen f14305024e Eo event: rename Eo_Event->event_info to Eo_Event->info.
The previous naming was redundant and too long.
2016-04-12 15:23:55 +01:00
Felipe Magno de Almeida 62841aee3c eolian: Make promise eolian generation use macros for hooks
Modify the way hooks are defined and used by promise generation in
Eolian in the Eo API.

Instead of passing macro names as parameters to EO_FUNC_BODY macros,
just re-define the actual hooks when it is needed.
2016-04-11 01:28:50 -03:00
Felipe Magno de Almeida 944e11559c eo: add before and after macro hooks for API generation functions
Add two parameters for macros that generate API functions in Eo so
that the generation can be customized with macros used by Eolian.

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-04-06 14:32:04 -07:00
Felipe Magno de Almeida 8c70b9cfd1 eo-cxx: Fix warning on weak symbols with inline functions
Removed the EOAPI which is not necessary as the function is already inlined
2016-04-05 15:42:21 -03:00
Daniel Kolesa 9b845e7135 eolian: add APIs to get all things of each type 2016-03-29 15:01:17 +01:00
Daniel Kolesa b1070f9478 eolian: fix typos in symbol names in lua bindings 2016-03-29 11:13:48 +01:00
Vitor Sousa 3e7f4c1dae eina_cxx: fix Coverity warning regarding uninitialized iterator member 2016-03-21 17:30:49 -03:00
Vitor Sousa afb6646393 efl js: Add clean up callbacks to deallocate memory used in v8::External
Add several garbage collector callbacks for cleaning allocated C and C++
data used inside v8:External objects.

Fix eo_unref of already freed object in eo_js_construct_from_eo.hh.

Ensure all structs are allocated with malloc.

Add test for garbage collection.
Had to created .sh script because shebang clause do not support multiple
arguments.
2016-03-18 17:47:09 -03:00
Vitor Sousa a6025b5d27 efl js: Finish Eina_Iterator binding 2016-03-18 17:47:09 -03:00
Lauro Moura 1422e62f30 efl js: Fix naming of manual binding functions.
Also removed references to the discarded manual binding "ecore_js_file".
2016-03-18 17:47:09 -03:00
Vitor Sousa c7550b2964 eina_cxx: Add missing methods to Eina C++ wrappers
Also fix release_native_handle type error on mutable ranges.
2016-03-18 17:47:09 -03:00
Vitor Sousa fd0cf8b764 eina_cxx: Add specialized eina::iterator for Eo* wrappers
Add specialization of eina::iterator for Eo* C++ wrappers.

Specialize ibegin/iend methods in eina::list and eina::array of
Eo* wrappers to use the new eina::iterator.

Add unit test.
2016-03-18 17:47:09 -03:00
Vitor Sousa a85348b70b efl js: Update Javascript binding to compile with new Eolian API
Reword test method names to check naming convention.
2016-03-18 17:46:38 -03:00
Stefan Schmidt e981bfc4e8 cxx: follow eoid to eo_self rename in cxx generator and bindings
Bringing efl back to a building state with cxx enabled.
2016-03-16 21:11:17 +01:00
Tom Hacohen 72c6236038 Revert "cxx: Migrate C++ binding to the new eo_add syntax"
This reverts commit 48f62ad686.
2016-03-11 12:29:03 +00:00
Vitor Sousa 7973126165 eo_cxx: correct constness of basic Eo C++ wrapper functions 2016-03-09 18:52:10 -03:00
Vitor Sousa 48f62ad686 cxx: Migrate C++ binding to the new eo_add syntax 2016-03-09 15:46:19 -03:00
Vitor Sousa f1a6ff2956 eo_cxx: Fix unused parameter warning when no constructor is required
Test Plan: compile elm

Reviewers: stefan_schmidt

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3778
2016-03-08 10:49:36 -03:00
Stefan Schmidt c634239b63 cxx bindings: get rid of Eo_Event2
This follows the change in EO and fixes some build breaks.
2016-03-07 14:18:56 +01:00