Hello. On 14/04/15 11:04, Felipe Magno de Almeida wrote: > Em 14/04/2015 05:46, "Stefan Schmidt" <ste...@datenfreihafen.org> escreveu: >> Hello. > Hello, > >> On 14/04/15 06:08, Vitor Sousa wrote: >>> felipealmeida pushed a commit to branch master. >>> >>> http://git.enlightenment.org/core/efl.git/commit/?id=d53038989886a85b75c81a395269f6f349d7d78f >>> >>> commit d53038989886a85b75c81a395269f6f349d7d78f >>> Author: Vitor Sousa <vitorsousasi...@gmail.com> >>> Date: Mon Jan 12 12:00:59 2015 -0200 >>> >>> eolian_cxx: Add protected methods and events to C++ wrappers and fixes >>> >>> 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. >>> --- >>> .gitignore | 1 + >>> doc/Doxyfile.in | 6 +- >>> src/Makefile_Ecore_Audio_Cxx.am | 7 ++ >>> src/Makefile_Ecore_Cxx.am | 6 ++ >>> src/Makefile_Edje_Cxx.am | 2 + >>> src/Makefile_Efl_Cxx.am | 6 ++ >>> src/Makefile_Eo_Cxx.am | 4 +- >>> src/Makefile_Eolian_Cxx.am | 10 +- >>> src/Makefile_Eolian_Cxx_Helper.am | 3 + >>> src/Makefile_Evas_Cxx.am | 37 ++++++- >>> src/bin/eolian_cxx/convert.cc | 3 + >>> src/bin/eolian_cxx/eolian_cxx.cc | 48 ++++++++-- >>> src/bin/eolian_cxx/eolian_wrappers.hh | 21 +++- >>> src/bin/eolian_cxx/type_lookup_table.cc | 34 +++---- >>> src/bindings/eo_cxx/eo_concrete.hh | 6 ++ >>> src/bindings/eo_cxx/eo_cxx_interop.hh | 52 ++++++++++ >>> src/examples/eolian_cxx/Makefile.am | 7 +- >>> src/lib/eolian_cxx/eo_generate.hh | 7 +- >>> src/lib/eolian_cxx/eo_types.hh | 31 +++++- >>> src/lib/eolian_cxx/grammar/comment.hh | 8 +- >>> .../grammar/eo_class_constructors_generator.hh | 61 +++++++++++- >>> .../grammar/eo_class_events_generator.hh | 11 ++- >>> .../grammar/eo_class_functions_generator.hh | 18 ++-- >>> src/lib/eolian_cxx/grammar/eo_class_generator.hh | 33 +++++-- >>> .../grammar/eo_class_scope_guard_generator.hh | 61 ++++++++++++ >>> src/lib/eolian_cxx/grammar/eo_header_generator.hh | 30 ++++-- >>> .../grammar/inheritance_base_generator.hh | 73 +++++++++++--- >>> src/lib/eolian_cxx/grammar/parameters_generator.hh | 106 >>> +++++++++++++++------ >>> src/lib/eolian_cxx/grammar/type_generator.hh | 26 ++++- >>> src/tests/eolian_cxx/callback.c | 6 ++ >>> src/tests/eolian_cxx/callback.eo | 6 ++ >>> src/tests/eolian_cxx/eolian_cxx_test_callback.cc | 13 +++ >>> 32 files changed, 620 insertions(+), 123 deletions(-) >>> >> You two realize that we are in code freeze for 1.14 right now? We are >> actually in beta phase already which I would to bring down to fixes or >> even critical fixes. >> >> When I look at this set of 10 patches some of them could count as fixes >> and one might even ignore the benchmarking ones. >> >> In my book at least eolian_cxx should be handled like the rest of core >> since we have it enabled by default. Which means no big feature code >> dumps after the freeze. >> >> Would be good to hear from you why you pushed this this set at this >> point in time. > I should have asked to merge this patches as exceptional. However, > they were required because it fixes compilation errors with > features that Eolian has started using that were not implemented in > eolian_cxx, which caused compilation errors with a few eo files > that were not being compiled by oversight. (e.g, ecore_exe). > > Also, most API changes on the generator were needed so the > generated code would actually be useful and correct in some > cases, like for example the > use of eina::string_view for @inout parameters. Whereas > it used std::string before, which can't at all be used as a > @inout parameter because it uses its own buffer and the > use of named parameters instead of signatures because it > failed on constructors with the same signature (like in > ecore_timer). So, it wasn't really features. > > So, even though the patches are quite big (and involve changing > generator, examples, tests and Makefiles, which made them bigger), > they are really important _fixes_ to the C++ API _and_ to EFL's > eolians file's compilation to C++ code.
ok, we clarified this also on IRC. All good. raster also quoted that Felipe announced it on IRC while I was sleeping. > Though, that doesn't excuse haven't asked to merge first. I'm > really sorry for that. I would say either explain it in the commit message or send a quick mail to e-devel (async to avoid the /me sleeping race conditions). regards Stefan Schmidt ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel