summaryrefslogtreecommitdiff
path: root/src/bin/eolian_cxx/type_lookup_table.cc (follow)
AgeCommit message (Collapse)Author
2016-06-06eolian-cxx: Rewrite to accomodate new features of the C++ bindingFelipe Magno de Almeida
2016-05-23eolian-cxx: Fix generation of complex types in C++ bindingFelipe Magno de Almeida
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-23c++: Reorganized C++ binding generationFelipe Magno de Almeida
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.
2015-06-24eolian_cxx: Use C++ wrappers instead of native types as parametersVitor Sousa
Summary: Using C++ wrapper types in the signature of methods of the generated classes. Now, when the type is an Eo type defined in Eolian, eolian_cxx will detect it and use the equivalent C++ wrapper. Types defined in Eolian no longer need to be specified in the lookup table, so removed them from there. Disable wrapping of non-const char*. The current wrapper (unique_ptr) is not suited for some required operations like ownership acquisition from C code. Fix constructing properties that only have the "set" method. Fix translation of non-const parameters. Modified Makefiles to allow proper inclusion of evas_cxx headers required by some tests and examples. Move one auxiliary function to another reader to make it more accessible. @feature Reviewers: felipealmeida, q66, cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2752
2015-04-14eolian_cxx: Add protected methods and events to C++ wrappers and fixesVitor Sousa
Using eina::string_view in eolian generated interfaces (instead of std::string) to allow lightweight passing of both C strings and C++ std::string. Also, No longer using eina::optional in generated headers for types that already implements the concept of null state (like Eo wrappers and eina_accessor). Also fix allocating callback objects require by class methods (i.e. static) in static vectors so the memory will be freed when the programs exit. Added a new test case for testing callbacks on class methods. Moved method definitions and supplementary code from generated C++ wrappers to auxiliary header file (.eo.impl.hh) generated together with the main ".eo.hh" file. Updated Makefiles to list such files in the compilation and cleanup processes. Updated .gitignore to include these new generated files. Made general adjustments on the documentation of generated C++ wrappers Added "PREDEFINED" preprocessor macro definition in the Doxyfile.in in order to make some adjustments for better documentation in the C++ generated headers. Excluding generation of documentation for classes in the "eo_cxx" namespace (the namespace for "abstract" eolian C++ wrappers). Now generating the documentation for the events too. Hiding some auxiliary code from being documented. Some aesthetic adjustments for generated white space. Generate documentation for the main constructor of C++ wrappers and added auxiliary grammars to list parameters names.
2015-01-05cxx: General C++ Eo wrapper generation improvementVitor Sousa
Using a new architecture in the generated files that simplify multiple inheritance and allows the use of interface types as parameters. No longer using a hand-crafted C++ header for eo_base.eo. This file was added to the generation process. Updated all files that are dependent in the hand-crafted eo_base C++ header. Now there is a class that contains the essentials functions of the former eo::base wrapper and that is used to create (through inheritance) the "concrete" classes for all Eo generated wrappers. No longer binding any function or property that are protected, private or legacy for now. eolian_type_instance is now a struct with general information for the whole type. Added the new header file namespace_generator.hh to hold namespace generation grammars. Separated declaration and definition of Eo wrappers methods. Referring for most objects by its full name (starting at the global namespace ::) in the generated files. Created additional helper grammars to avoid code replication. Removed a TODO comment referring to a doubt about inheritance of constructor methods. Added a TODO comment regarding memory allocation for callbacks in static member functions.
2015-01-05eolian-cxx: Fixed C++ conversion for listsFelipe Magno de Almeida
Signed-off-by: Vitor Sousa <vitorsousasilva@gmail.com>
2015-01-05added new types in lookup tableLarry Jr
Signed-off-by: Vitor Sousa <vitorsousasilva@gmail.com>
2014-10-08eolian-cxx: Fixed pointer dereferencing for Eolian types and constant ↵Felipe Magno de Almeida
propagation for C++ eina list containers With the addition of pointer types, the eolian C++ generator now has to dereference to get the base type which might be a complex type.
2014-09-30eolian-cxx: Add Eina_Bool* to type conversion table.Savio Sena
2014-07-18eo-cxx: Added a few complex types to lookup tableFelipe Magno de Almeida
2014-07-18eolian-cxx: Fixed complex-types.Savio Sena
2014-07-18eolian-cxx: Initial version of complex types / callbacks / events ↵Savio Sena
implementation.