summaryrefslogtreecommitdiff
path: root/src/bindings (follow)
AgeCommit message (Collapse)Author
2015-09-30eolian-cxx: Fix inheritance from C++ classes after Eo ABI breakageFelipe Magno de Almeida
Fixed removal of op field from Eo_Op_Description and removed unnecessary use of internal Eo API to implement the Eo API function for theh constructor of the inherited class.
2015-09-28Eo: Drop doc field from ops and events.Tom Hacohen
This hasn't been used for a while. Since we are going to break Eo a bit anyway it's a good opportunity to drop this. This may cause a slight performance issues with legacy events, such as smart callbacks. This shouldn't really be a problem as we've migrated away from them. If it does, we need to migrate the remaining parts. Only relevant for callbacks that are added before the classes are created, which shouldn't be possible except for smart, only for old evas callbacks.
2015-08-11bindings/eina_cxx: add eina_cxx group as link to main page to find API docsStefan Schmidt
2015-07-08eolian: improve function_full_c_name_get APIDaniel Kolesa
It's now generalized to work properly with legacy functions as well as correctly append suffixes. Thus, it can be easily used with the documentation generator and in other places. @feature
2015-07-07eolian: add API: eolian_declaration_get_by_nameDaniel Kolesa
Sorry for last minute new API, but this one is necessary to implement proper verification of references in docs, which I would like to have in 1.15. It allows you to retrieve any kind of declaration by full namespace, so that you can check for an existence of an Eolian decl, rather than checking every type individually. @feature
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-06-17eolian: remove the outdated and ugly database printer (needs rework)Daniel Kolesa
2015-06-10elua: unexpose "old" documentation api from eolian bindingsDaniel Kolesa
2015-06-10elua: bind recent eolian APIs to eolian lua apiDaniel Kolesa
2015-05-29eo_cxx: remove unused parameterDaniel Kolesa
2015-05-28Eo base: Remove the free_func parameter from key_data_set.Tom Hacohen
This was not really useful and against the Eolian guidelines. While I promised I won't break things until the 27th, I was ill (still am), so I'm giving myself a 1 day pass. :P
2015-05-28elua: make eo bindings work with the new generated formatDaniel Kolesa
2015-05-22eolian: merge eo_file_parse and eot_file_parseDaniel Kolesa
2015-05-22eina_cxx, eldbus_cxx: Fix perfect forwarding of argumentsVitor Sousa
Summary: Changed some std::move clauses to std::forward<Type> in order to allow perfect forwarding. @fix Reviewers: felipealmeida, JackDanielZ, tasn, q66 Reviewed By: q66 Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2508
2015-05-20eolian: remove const_get/const_set supportDaniel Kolesa
This was made obsolete by per-accessor values. It was also hacky and i've wanted to remove it for a while.
2015-05-20eolian: allow keys/values in property get/setDaniel Kolesa
Sometimes it is necessary to specify a different set of values for a getter or a setter. This commit allows such specializations. This also renders @const_get and @const_set useless (soon to be removed). To function correctly, this required adjustment of several public APIs as well as deprecation of eolian_function_parameter_get_by_name. This function was not used in any generator and was pretty much useless in the first place, so it was removed. @fix
2015-05-20eolian: distinguish between get/set for property keys/values retrievalDaniel Kolesa
2015-05-13eolian: precompute all enum field values (faster runtime, constness)Daniel Kolesa
2015-05-13eolian: allow forced retrieval of enum field valuesDaniel Kolesa
2015-05-12eolian: buttsDaniel Kolesa
2015-04-14eina-cxx: Fix compilation error on clangFelipe Magno de Almeida
Clang implicitly deletes the default-constructor on range_ptrlist, which must be explicitly defined.
2015-04-14eolain_cxx: Fix C++ support for new Eolian featuresVitor Sousa
Added optional constructor methods for C++ Eolian wrappers. Changed the interface of wrappers' main constructors. If there are optional constructor methods they should be passed as variadic template argument at the end of the constructor. To support variadic template arguments, the optional "parent" parameter is now the first parameter and there is another constructor without the "parent" parameter. Checking for @optinal and @nullable attributes instead of @nonull. Now @nonull is the default, and eina::optional is only used when @optional or @nullable attribute is specified. The names of constructor methods no longer have the class name prefixed. Added unit tests for checking the binding of optional constructors. Added new .eo file to be used in the test. Changed the generated documentation of constructors. Changed the efl::eo::inherit accordingly, to address these new features. Now the constructor methods should be explicit called in the efl::eo::inherit constructor, which will receive them via variadic template arguments. Added another constructor to efl::eo::inherit for passing the parent object. Updated some tests and examples to follow the new interface. Removed some code that is no longer necessary. Also, fix Eolian C++ support for constructing properties. fix assertion when parsing constructing properties. Now if a property is a constructing property eolian_cxx will generate a constructor method that have the property name (without the "_set" suffix).
2015-04-14eina_cxx: Add methods to get an eina::accessor from an eina::ptr_arrayVitor Sousa
eina::ptr_array was missing the methods to get an eina::accessor from it. Added these methods.
2015-04-14eina_cxx: Fix compatibility between eina::optionals of convertible typesVitor Sousa
Now an eina::optional that wraps a specific type can be constructed or have content assigned to it using another eina::optional that wraps a different type, provided that the two wrapped types are convertible between each other. Added "disengage" member function to be able to disengage a R-value eina::optional of different contained type. It also adds for increased convenience. Fix constructing an engaged eina::optional from an disengaged one. Fix small assertion problem of trying to construct an eina::optional already flagged as engaged. Fix incorrect use of std::move. Changed it to std::forward. Added constexpr property for trivial constructors. Added auxiliary function "make_optional". Added unit test to check compatibility between eina::optionals of convertible types.
2015-04-14eo_cxx: Fix signal_connection disconnect crashVitor Sousa
Fixed crash when disconnecting event inside of its own event callback. Instead of deleting the callback object immediately during disconnection (which causes the callback to be freed), the deletion is now scheduled for later (using ecore_main_loop_thread_safe_call_async). Updated some Makefiles to proper include ecore now that it is used in all event wrappers. Added a unit test to verify crashes under these circumstances.
2015-04-14ecore_cxx: Fix perfect forward of callback argumentVitor Sousa
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-04-14eina_cxx: Add eina::string_view class (non owning reference to string)Vitor Sousa
Add an implementation of string_view to Eina C++. It is a non owning reference to a string that allows lightweight argument passing of both C++ std::string and C strings (const char*) on interfaces.
2015-04-03eo_cxx: fix after change in internal function naming of Eo.Cedric BAIL
2015-04-01elua: only check gettability in __index with no keysDaniel Kolesa
2015-04-01elua: clarify comments in eo.lua (explain how the property system works)Daniel Kolesa
2015-03-19elua: cast data, not cbs (data stores the cb id)Daniel Kolesa
2015-03-19Revert "elua: more reliable eoid->lua number conversion"Daniel Kolesa
This reverts commit 8bb13b626f3a5d284f50af493f3f7b5566e06586. Seems like this method is not so reliable after all :) Results in precision loss for Eo IDs, so revert to the old hacky way.
2015-03-06elua: unexpose callback add/del eventsDaniel Kolesa
2015-03-06elua: more reliable eoid->lua number conversionDaniel Kolesa
2015-03-06elua: remove irrelevant commentDaniel Kolesa
2015-03-06elua: a func-to-idx cache for eo callbacksDaniel Kolesa
2015-03-04elua: connect the del event on first callback connectDaniel Kolesa
2015-03-03elua: connect del callback by defaultDaniel Kolesa
2015-03-03elua: better callback resource handlingDaniel Kolesa
2015-03-03elua: implement callback disconnect + better error handlingDaniel Kolesa
2015-03-03elua: initial better callback system with indirectionDaniel Kolesa
2015-03-03elua: eo_class_addr_get -> eo_obj_addr_getDaniel Kolesa
2015-03-03elua: callback stubs for basic event handlingDaniel Kolesa
2015-03-03elua: callback updates in eo bindingsDaniel Kolesa
Priority is now supported. Some initial infra for disconnect has been added.
2015-03-03elua: unregister all classes on eo.lua shutdownDaniel Kolesa
2015-02-26elua: minor eo bindings optimizationDaniel Kolesa
2015-02-26elua: update eo bindings for lualian generated codeDaniel Kolesa
2015-02-25elua: guarantee multiple inheritance availability on any objectDaniel Kolesa
2015-02-25elua: better mixin behavior (+ fix bad lookup)Daniel Kolesa