summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bin/edje/edje_player.c2
-rw-r--r--src/bin/edje/meson.build2
-rw-r--r--src/bin/efl_mono_msbuild_gen/main.cc15
-rw-r--r--src/bin/efreet/efreet_desktop_cache_create.c21
-rw-r--r--src/bin/elementary/meson.build2
-rw-r--r--src/bin/elementary/test.c6
-rw-r--r--src/bin/elementary/test_efl_anim_group_parallel.c8
-rw-r--r--src/bin/elementary/test_efl_anim_group_sequential.c8
-rw-r--r--src/bin/elementary/test_efl_anim_interpolator.c17
-rw-r--r--src/bin/elementary/test_efl_anim_rotate.c12
-rw-r--r--src/bin/elementary/test_efl_anim_scale.c12
-rw-r--r--src/bin/elementary/test_efl_anim_translate.c8
-rw-r--r--src/bin/elementary/test_events.c2
-rw-r--r--src/bin/elementary/test_label.c24
-rw-r--r--src/bin/elementary/test_ui_relative_container.c (renamed from src/bin/elementary/test_ui_relative_layout.c)50
-rw-r--r--src/bin/eolian/headers.c2
-rw-r--r--src/bin/eolian_cxx/eolian_cxx.cc15
-rw-r--r--src/bin/eolian_mono/eolian/mono/alias_definition.hh30
-rw-r--r--src/bin/eolian_mono/eolian/mono/async_function_definition.hh21
-rw-r--r--src/bin/eolian_mono/eolian/mono/blacklist.hh21
-rw-r--r--src/bin/eolian_mono/eolian/mono/documentation.hh17
-rw-r--r--src/bin/eolian_mono/eolian/mono/enum_definition.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/events.hh55
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_declaration.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_definition.hh28
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_helpers.hh20
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_pointer.hh48
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_registration.hh17
-rw-r--r--src/bin/eolian_mono/eolian/mono/generation_contexts.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/helpers.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/klass.hh41
-rw-r--r--src/bin/eolian_mono/eolian/mono/logging.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/marshall_annotation.hh19
-rw-r--r--src/bin/eolian_mono/eolian/mono/marshall_type.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/name_helpers.hh41
-rw-r--r--src/bin/eolian_mono/eolian/mono/parameter.hh21
-rw-r--r--src/bin/eolian_mono/eolian/mono/part_definition.hh17
-rw-r--r--src/bin/eolian_mono/eolian/mono/struct_definition.hh37
-rw-r--r--src/bin/eolian_mono/eolian/mono/struct_fields.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/type.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/type_impl.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/using_decl.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/utils.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/variable_definition.hh15
-rw-r--r--src/bin/eolian_mono/eolian_mono.cc37
-rw-r--r--src/bindings/cxx/ecore_cxx/Ecore.hh15
-rw-r--r--src/bindings/cxx/ecore_cxx/Ecore_Manual.hh15
-rw-r--r--src/bindings/cxx/eet_cxx/Eet.hh15
-rw-r--r--src/bindings/cxx/eet_cxx/eet_composite.hh15
-rw-r--r--src/bindings/cxx/eet_cxx/eet_register.hh15
-rw-r--r--src/bindings/cxx/eet_cxx/eet_type.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/Eina.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_accessor.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_aligned_union.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_array.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_clone_allocators.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_copy_traits.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_deleter.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_eo_concrete_fwd.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_error.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_fold.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_function.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_future.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_inarray.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_inlist.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_integer_sequence.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_iterator.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_list.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_lists_auxiliary.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_log.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_logical.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_optional.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_pp.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_ptrarray.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_ptrlist.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_range_types.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_ref.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_strbuf.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_string_view.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_stringshare.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_thread.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_throw.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_tuple.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_tuple_c.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_tuple_unwrap.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_type_traits.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_value.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_variant.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_workarounds.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/Eldbus.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/Eldbus_Model.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_basic.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_error.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_freedesktop.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_integer_sequence.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_message.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_message_arguments.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_proxy_call.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_raw_tuple.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_service.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_signature_traits.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/Eo.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/efl_object_impl.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_concrete.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_cxx_interop.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_event.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_init.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_ops.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_private.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_wref.hh15
-rw-r--r--src/bindings/mono/efl_mono.dll.config.in15
-rw-r--r--src/bindings/mono/efl_mono/AssemblyInfo.cs.in3
-rw-r--r--src/bindings/mono/efl_mono/GenericModel.cs6
-rw-r--r--src/bindings/mono/efl_mono/ItemFactory.cs7
-rw-r--r--src/bindings/mono/efl_mono/UserModel.cs19
-rw-r--r--src/bindings/mono/efl_mono/efl_all.cs15
-rw-r--r--src/bindings/mono/efl_mono/efl_csharp_application.cs23
-rw-r--r--src/bindings/mono/efl_mono/efl_libs.cs.in15
-rw-r--r--src/bindings/mono/efl_mono/efl_libs.csv.in15
-rw-r--r--src/bindings/mono/efl_mono/meson.build23
-rw-r--r--src/bindings/mono/efl_sharp.csproj.in44
-rw-r--r--src/bindings/mono/eina_mono/eina_accessor.cs16
-rw-r--r--src/bindings/mono/eina_mono/eina_array.cs19
-rw-r--r--src/bindings/mono/eina_mono/eina_binbuf.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_common.cs21
-rw-r--r--src/bindings/mono/eina_mono/eina_config.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_container_common.cs20
-rw-r--r--src/bindings/mono/eina_mono/eina_environment.cs53
-rw-r--r--src/bindings/mono/eina_mono/eina_error.cs145
-rw-r--r--src/bindings/mono/eina_mono/eina_hash.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_inarray.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_inlist.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_iterator.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_list.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_log.cs19
-rw-r--r--src/bindings/mono/eina_mono/eina_promises.cs19
-rw-r--r--src/bindings/mono/eina_mono/eina_slice.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_strbuf.cs20
-rw-r--r--src/bindings/mono/eina_mono/eina_stringshare.cs26
-rw-r--r--src/bindings/mono/eina_mono/eina_value.cs560
-rw-r--r--src/bindings/mono/eina_mono/meson.build3
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_common.cs274
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_config.cs15
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_connection.cs15
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_message.cs15
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_object.cs16
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_pending.cs15
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_proxy.cs32
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_service.cs15
-rw-r--r--src/bindings/mono/eo_mono/EoWrapper.cs155
-rw-r--r--src/bindings/mono/eo_mono/FunctionWrapper.cs139
-rw-r--r--src/bindings/mono/eo_mono/FunctionWrapper_Unix.cs36
-rw-r--r--src/bindings/mono/eo_mono/FunctionWrapper_Windows.cs26
-rw-r--r--src/bindings/mono/eo_mono/NativeModule.cs60
-rw-r--r--src/bindings/mono/eo_mono/NativeModule_Unix.cs28
-rw-r--r--src/bindings/mono/eo_mono/NativeModule_Windows.cs26
-rw-r--r--src/bindings/mono/eo_mono/WrapperSupervisor.cs34
-rw-r--r--src/bindings/mono/eo_mono/iwrapper.cs466
-rw-r--r--src/bindings/mono/eo_mono/workaround.cs55
-rw-r--r--src/bindings/mono/meson.build117
-rw-r--r--src/examples/ecore/ecore_evas_ews_example.c2
-rw-r--r--src/examples/ecore/efl_exe.c2
-rw-r--r--src/examples/ecore/efl_mono_loop_timer_example.cs15
-rw-r--r--src/examples/ecore/efl_thread.c6
-rw-r--r--src/examples/efl_mono/EoInherit01.cs15
-rw-r--r--src/examples/efl_mono/FunctionPointer01.cs15
-rw-r--r--src/examples/efl_mono/example_numberwrapper.c15
-rw-r--r--src/examples/eina/EinaArray01.cs15
-rw-r--r--src/examples/eina/EinaBinbuf01.cs15
-rw-r--r--src/examples/eina/EinaError01.cs15
-rw-r--r--src/examples/eina/EinaHash01.cs15
-rw-r--r--src/examples/eina_cxx/eina_cxx_list_01.cc15
-rw-r--r--src/examples/eina_cxx/eina_cxx_thread_01.cc15
-rw-r--r--src/examples/elementary/.gitignore4
-rw-r--r--src/examples/elementary/bg_cxx_example_01.cc15
-rw-r--r--src/examples/elementary/bg_cxx_example_02.cc15
-rw-r--r--src/examples/elementary/box_cxx_example_02.cc15
-rw-r--r--src/examples/elementary/button_cxx_example_00.cc15
-rw-r--r--src/examples/elementary/button_cxx_example_01.cc15
-rw-r--r--src/examples/elementary/calendar_cxx_example_01.cc15
-rw-r--r--src/examples/elementary/calendar_cxx_example_02.cc15
-rw-r--r--src/examples/elementary/calendar_cxx_example_03.cc15
-rw-r--r--src/examples/elementary/calendar_cxx_example_04.cc15
-rw-r--r--src/examples/elementary/calendar_cxx_example_05.cc15
-rw-r--r--src/examples/elementary/clock_cxx_example.cc15
-rw-r--r--src/examples/elementary/efl_ui_relative_container_example_01.c (renamed from src/examples/elementary/efl_ui_relative_layout_example_01.c)18
-rw-r--r--src/examples/elementary/efl_ui_relative_container_example_02.c (renamed from src/examples/elementary/efl_ui_relative_layout_example_02.c)14
-rw-r--r--src/examples/elementary/efl_ui_slider_mono.cs15
-rw-r--r--src/examples/elementary/efl_ui_unit_converter.cs15
-rw-r--r--src/examples/elementary/icon_cxx_example_01.cc15
-rw-r--r--src/examples/elementary/menu_cxx_example_01.cc15
-rw-r--r--src/examples/elementary/popup_cxx_example.cc15
-rw-r--r--src/examples/elementary/radio_cxx_example_01.cc15
-rw-r--r--src/examples/elementary/slider_cxx_example.cc15
-rw-r--r--src/examples/elementary/spinner_cxx_example.cc15
-rw-r--r--src/examples/elementary/table_cxx_example_01.cc15
-rw-r--r--src/examples/elementary/table_cxx_example_02.cc15
-rw-r--r--src/examples/elementary/toolbar_cxx_example_01.cc15
-rw-r--r--src/examples/eolian_cxx/colourable_cxx.cc15
-rw-r--r--src/examples/eolian_cxx/colourablesquare_cxx.cc15
-rw-r--r--src/examples/eolian_cxx/eolian_cxx_callbacks_01.cc15
-rw-r--r--src/examples/eolian_cxx/eolian_cxx_simple_01.cc15
-rw-r--r--src/examples/eolian_cxx/eolian_cxx_simple_01_cxx_impl.cc15
-rw-r--r--src/examples/evas/evas_cxx_rectangle.cc15
-rw-r--r--src/lib/ecore/ecore_app.c6
-rw-r--r--src/lib/ecore/ecore_events.c150
-rw-r--r--src/lib/ecore/ecore_private.h15
-rw-r--r--src/lib/ecore/ecore_timer.c67
-rw-r--r--src/lib/ecore/efl_accelerate_interpolator.c16
-rw-r--r--src/lib/ecore/efl_accelerate_interpolator.eo14
-rw-r--r--src/lib/ecore/efl_boolean_model.c10
-rw-r--r--src/lib/ecore/efl_boolean_model.eo4
-rw-r--r--src/lib/ecore/efl_bounce_interpolator.c40
-rw-r--r--src/lib/ecore/efl_bounce_interpolator.eo24
-rw-r--r--src/lib/ecore/efl_composite_model.c2
-rw-r--r--src/lib/ecore/efl_cubic_bezier_interpolator.c50
-rw-r--r--src/lib/ecore/efl_cubic_bezier_interpolator.eo26
-rw-r--r--src/lib/ecore/efl_decelerate_interpolator.c16
-rw-r--r--src/lib/ecore/efl_decelerate_interpolator.eo14
-rw-r--r--src/lib/ecore/efl_divisor_interpolator.c39
-rw-r--r--src/lib/ecore/efl_divisor_interpolator.eo20
-rw-r--r--src/lib/ecore/efl_linear_interpolator.eo3
-rw-r--r--src/lib/ecore/efl_loop.c22
-rw-r--r--src/lib/ecore/efl_loop_message_handler.c12
-rw-r--r--src/lib/ecore/efl_loop_timer.eo4
-rw-r--r--src/lib/ecore/efl_sinusoidal_interpolator.c16
-rw-r--r--src/lib/ecore/efl_sinusoidal_interpolator.eo13
-rw-r--r--src/lib/ecore/efl_spring_interpolator.c44
-rw-r--r--src/lib/ecore/efl_spring_interpolator.eo24
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_device.c2
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_outputs.c4
-rw-r--r--src/lib/ecore_evas/ecore_evas.c4
-rw-r--r--src/lib/ecore_evas/ecore_evas_drm.h1
-rw-r--r--src/lib/ecore_evas/ecore_evas_util.c1
-rw-r--r--src/lib/ecore_wl2/Ecore_Wl2.h33
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_internal.h31
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_private.h6
-rw-r--r--src/lib/ecore_x/Ecore_X.h11
-rw-r--r--src/lib/ecore_x/Ecore_X_Atoms.h2
-rw-r--r--src/lib/ecore_x/ecore_x.c4
-rw-r--r--src/lib/ecore_x/ecore_x_atoms_decl.h4
-rw-r--r--src/lib/ecore_x/ecore_x_xi2.c179
-rw-r--r--src/lib/edje/Efl_Layout.h3
-rw-r--r--src/lib/edje/edje_box_layout.c5
-rw-r--r--src/lib/edje/edje_cache.c37
-rw-r--r--src/lib/edje/edje_calc.c101
-rw-r--r--src/lib/edje/edje_callbacks.c3
-rw-r--r--src/lib/edje/edje_legacy.c2
-rw-r--r--src/lib/edje/edje_load.c50
-rw-r--r--src/lib/edje/edje_private.h21
-rw-r--r--src/lib/edje/edje_program.c15
-rw-r--r--src/lib/edje/edje_smart.c8
-rw-r--r--src/lib/edje/edje_textblock.c145
-rw-r--r--src/lib/edje/edje_textblock_styles.c10
-rw-r--r--src/lib/edje/edje_util.c3
-rw-r--r--src/lib/efl/Efl.h7
-rw-r--r--src/lib/efl/interfaces/efl_cached_item.eo17
-rw-r--r--src/lib/efl/interfaces/efl_common_internal.h169
-rw-r--r--src/lib/efl/interfaces/efl_gfx_arrangement.eo13
-rw-r--r--src/lib/efl/interfaces/efl_gfx_frame_controller.eo19
-rw-r--r--src/lib/efl/interfaces/efl_gfx_hint.eo16
-rw-r--r--src/lib/efl/interfaces/efl_gfx_stack.eo8
-rw-r--r--src/lib/efl/interfaces/efl_gfx_types.eot11
-rw-r--r--src/lib/efl/interfaces/efl_gfx_view.eo5
-rw-r--r--src/lib/efl/interfaces/efl_interfaces_main.c2
-rw-r--r--src/lib/efl/interfaces/efl_interpolator.eo21
-rw-r--r--src/lib/efl/interfaces/efl_text.eo4
-rw-r--r--src/lib/efl/interfaces/efl_ui_factory.eo21
-rw-r--r--src/lib/efl/interfaces/efl_ui_scrollable.eo104
-rw-r--r--src/lib/efl/interfaces/meson.build9
-rw-r--r--src/lib/efl_mono/efl_custom_exports_mono.c26
-rw-r--r--src/lib/efreet/efreet_cache.c2
-rw-r--r--src/lib/efreet/efreet_desktop.c12
-rw-r--r--src/lib/efreet/efreet_desktop_command.c15
-rw-r--r--src/lib/eina/eina_config.h.in150
-rw-r--r--src/lib/eina/eina_inline_cpu.x14
-rw-r--r--src/lib/eina/eina_inline_mempool.x14
-rw-r--r--src/lib/eina/eina_list.c12
-rw-r--r--src/lib/eina/eina_matrix.c10
-rw-r--r--src/lib/eina/eina_mempool.c3
-rw-r--r--src/lib/eina/eina_mempool.h23
-rw-r--r--src/lib/eina/eina_rectangle.h21
-rw-r--r--src/lib/eina/eina_value.c2
-rw-r--r--src/lib/eina/eina_vector.h1
-rw-r--r--src/lib/elementary/Efl_Ui.h8
-rw-r--r--src/lib/elementary/efl_ui.eot16
-rw-r--r--src/lib/elementary/efl_ui_alert_popup.c38
-rw-r--r--src/lib/elementary/efl_ui_alert_popup.eo3
-rw-r--r--src/lib/elementary/efl_ui_alert_popup_part_title.eo (renamed from src/lib/elementary/efl_ui_alert_popup_part.eo)2
-rw-r--r--src/lib/elementary/efl_ui_animation_view.c31
-rw-r--r--src/lib/elementary/efl_ui_animation_view.eo19
-rw-r--r--src/lib/elementary/efl_ui_caching_factory.c4
-rw-r--r--src/lib/elementary/efl_ui_caching_factory.eo7
-rw-r--r--src/lib/elementary/efl_ui_check.c3
-rw-r--r--src/lib/elementary/efl_ui_collection_view.c141
-rw-r--r--src/lib/elementary/efl_ui_internal_text_scroller.c16
-rw-r--r--src/lib/elementary/efl_ui_position_manager_list.c31
-rw-r--r--src/lib/elementary/efl_ui_relative_container.c (renamed from src/lib/elementary/efl_ui_relative_layout.c)198
-rw-r--r--src/lib/elementary/efl_ui_relative_container.eo94
-rw-r--r--src/lib/elementary/efl_ui_relative_container_private.h (renamed from src/lib/elementary/efl_ui_relative_layout_private.h)68
-rw-r--r--src/lib/elementary/efl_ui_relative_layout.eo73
-rw-r--r--src/lib/elementary/efl_ui_scroll_manager.eo12
-rw-r--r--src/lib/elementary/efl_ui_selection_manager.c5
-rw-r--r--src/lib/elementary/efl_ui_spotlight_manager_plain.c6
-rw-r--r--src/lib/elementary/efl_ui_spotlight_manager_scroll.c2
-rw-r--r--src/lib/elementary/efl_ui_spotlight_manager_stack.c6
-rw-r--r--src/lib/elementary/efl_ui_table_static.eo8
-rw-r--r--src/lib/elementary/efl_ui_text.c48
-rw-r--r--src/lib/elementary/efl_ui_text.eo118
-rw-r--r--src/lib/elementary/efl_ui_widget.c8
-rw-r--r--src/lib/elementary/efl_ui_win.c4
-rw-r--r--src/lib/elementary/elc_naviframe.c4
-rw-r--r--src/lib/elementary/elm_code_file.c11
-rw-r--r--src/lib/elementary/elm_config.c27
-rw-r--r--src/lib/elementary/elm_entry.c1
-rw-r--r--src/lib/elementary/elm_general.eot1
-rw-r--r--src/lib/elementary/elm_gengrid.c1
-rw-r--r--src/lib/elementary/elm_genlist.c172
-rw-r--r--src/lib/elementary/elm_interface_scrollable.c61
-rw-r--r--src/lib/elementary/elm_interface_scrollable.eo3
-rw-r--r--src/lib/elementary/elm_list.c3
-rw-r--r--src/lib/elementary/elm_map.c3
-rw-r--r--src/lib/elementary/elm_panel.c1
-rw-r--r--src/lib/elementary/elm_priv.h1
-rw-r--r--src/lib/elementary/elm_scroller.c1
-rw-r--r--src/lib/elementary/elm_toolbar.c1
-rw-r--r--src/lib/elementary/elm_widget_genlist.h3
-rw-r--r--src/lib/elementary/meson.build8
-rw-r--r--src/lib/emotion/emotion_smart.c1
-rw-r--r--src/lib/eo/Eo.h50
-rw-r--r--src/lib/eo/eo.c1
-rw-r--r--src/lib/eo/eo_base_class.c462
-rw-r--r--src/lib/eolian/eolian_database.c1
-rw-r--r--src/lib/eolian_cxx/Eolian_Cxx.hh15
-rw-r--r--src/lib/eolian_cxx/grammar/address_of.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/alternative.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/attribute_conditional.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/attribute_reorder.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/attribute_replace.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/attributes.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/base_class_definition.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/blacklist.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/c_type.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/case.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/class_declaration.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/class_definition.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/class_implementation.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/container.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/context.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/converting_argument.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/eps.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/function_declaration.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/function_definition.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/generator.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/header.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/header_guards.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/header_include_directive.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/html_escaped_string.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/ignore_warning.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/impl_header.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/implementation_include_directive.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/indentation.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/integral.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/keyword.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/klass_def.hpp100
-rw-r--r--src/lib/eolian_cxx/grammar/kleene.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/list.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/meta.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/namespace.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/parameter.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/part_declaration.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/part_implementation.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/qualifier_def.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/sequence.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/string.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/type.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/type_function_declaration.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/type_impl.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/type_traits.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/types_definition.hpp15
-rw-r--r--src/lib/evas/Efl_Canvas.h15
-rw-r--r--src/lib/evas/Evas.h2
-rw-r--r--src/lib/evas/Evas_Common.h24
-rw-r--r--src/lib/evas/Evas_Eo.h23
-rw-r--r--src/lib/evas/Evas_Internal.h159
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation.c11
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation.eo79
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_alpha.eo15
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_group.eo19
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_group_parallel.eo9
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_group_sequential.eo10
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_rotate.c44
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_rotate.eo44
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_rotate_private.h9
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_scale.c134
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_scale.eo49
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_scale_private.h18
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_translate.c75
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_translate.eo32
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_translate_private.h10
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_types.eot3
-rw-r--r--src/lib/evas/canvas/efl_canvas_object.eo4
-rw-r--r--src/lib/evas/canvas/efl_canvas_pointer.eo (renamed from src/lib/efl/interfaces/efl_canvas_pointer.eo)0
-rw-r--r--src/lib/evas/canvas/efl_canvas_scene.eo (renamed from src/lib/efl/interfaces/efl_canvas_scene.eo)0
-rw-r--r--src/lib/evas/canvas/efl_canvas_text.eo2
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_node.c2
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_object.c24
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_object.eo1
-rw-r--r--src/lib/evas/canvas/efl_input_device.c (renamed from src/lib/efl/interfaces/efl_input_device.c)108
-rw-r--r--src/lib/evas/canvas/efl_input_device.eo (renamed from src/lib/efl/interfaces/efl_input_device.eo)0
-rw-r--r--src/lib/evas/canvas/efl_input_event.c4
-rw-r--r--src/lib/evas/canvas/efl_input_focus.c5
-rw-r--r--src/lib/evas/canvas/efl_input_hold.c3
-rw-r--r--src/lib/evas/canvas/efl_input_key.c3
-rw-r--r--src/lib/evas/canvas/efl_input_pointer.c3
-rw-r--r--src/lib/evas/canvas/efl_input_types.eot (renamed from src/lib/efl/interfaces/efl_input_types.eot)0
-rw-r--r--src/lib/evas/canvas/evas_callbacks.c3
-rw-r--r--src/lib/evas/canvas/evas_device.c100
-rw-r--r--src/lib/evas/canvas/evas_events.c3
-rw-r--r--src/lib/evas/canvas/evas_events_legacy.c3
-rw-r--r--src/lib/evas/canvas/evas_focus.c2
-rw-r--r--src/lib/evas/canvas/evas_font_dir.c7
-rw-r--r--src/lib/evas/canvas/evas_image_private.h5
-rw-r--r--src/lib/evas/canvas/evas_key_grab.c3
-rw-r--r--src/lib/evas/canvas/evas_main.c5
-rw-r--r--src/lib/evas/canvas/evas_object_main.c106
-rw-r--r--src/lib/evas/canvas/evas_vg_private.h2
-rw-r--r--src/lib/evas/canvas/meson.build9
-rw-r--r--src/lib/evas/common/evas_font.h53
-rw-r--r--src/lib/evas/common/evas_font_load.c6
-rw-r--r--src/lib/evas/common/evas_font_main.c296
-rw-r--r--src/lib/evas/common/evas_font_query.c54
-rw-r--r--src/lib/evas/common/evas_text_utils.c6
-rw-r--r--src/lib/evas/file/evas_module.c25
-rw-r--r--src/lib/evas/filters/evas_filter.c22
-rw-r--r--src/lib/evas/filters/evas_filter_parser.c39
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_private.h2
-rw-r--r--src/lib/evas/include/evas_common_private.h1
-rw-r--r--src/lib/evas/include/evas_filter.h12
-rw-r--r--src/lib/evas/include/evas_private.h15
-rw-r--r--src/lib/evas/meson.build166
-rw-r--r--src/lib/evas/software_generic/filters/meson.build1
-rw-r--r--src/lib/evas/vg/evas_vg_cache.c52
-rw-r--r--src/lib/evas_goal/empty.c0
-rw-r--r--src/lib/evas_goal/meson.build179
-rw-r--r--src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c9
-rw-r--r--src/modules/ecore_wl2/engines/dmabuf/ecore_wl2_surface_module_dmabuf.c1
-rw-r--r--src/modules/eina/mp/chained_pool/eina_chained_mempool.c74
-rw-r--r--src/modules/eina/mp/one_big/eina_one_big.c3
-rw-r--r--src/modules/eina/mp/pass_through/eina_pass_through.c1
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_common.h4
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_context.c93
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_shader.c7
-rw-r--r--src/modules/evas/engines/gl_common/shader/evas_gl_shaders.x7
-rw-r--r--src/modules/evas/engines/gl_common/shader/fragment.glsl8
-rw-r--r--src/modules/evas/engines/gl_drm/evas_outbuf.c2
-rw-r--r--src/modules/evas/engines/gl_generic/evas_engine.c1
-rw-r--r--src/modules/evas/engines/gl_generic/filters/gl_engine_filter.h1
-rw-r--r--src/modules/evas/engines/gl_generic/filters/gl_filter_inverse_color.c53
-rw-r--r--src/modules/evas/engines/gl_generic/meson.build1
-rw-r--r--src/modules/evas/engines/software_generic/evas_engine.c1
-rw-r--r--src/modules/evas/engines/software_generic/filters/evas_engine_filter.h1
-rw-r--r--src/modules/evas/engines/software_generic/filters/evas_filter_inverse_color.c57
-rw-r--r--src/modules/evas/engines/wayland_common/Evas_Engine_Wayland.h8
-rw-r--r--src/modules/evas/engines/wayland_egl/evas_wl_main.c2
-rw-r--r--src/modules/evas/image_loaders/meson.build23
-rw-r--r--src/modules/evas/image_savers/meson.build23
-rw-r--r--src/modules/evas/meson.build4
-rw-r--r--src/modules/evas/model_loaders/meson.build17
-rw-r--r--src/modules/evas/model_savers/meson.build17
-rw-r--r--src/modules/evas/vg_loaders/json/evas_vg_load_json.c24
-rw-r--r--src/modules/evas/vg_loaders/meson.build27
-rw-r--r--src/modules/evas/vg_savers/eet/evas_vg_save_eet.c2
-rw-r--r--src/modules/evas/vg_savers/meson.build18
-rw-r--r--src/static_libs/buildsystem/buildsystem_meson.c4
-rw-r--r--src/tests/ecore/ecore_suite.c3
-rw-r--r--src/tests/ecore/ecore_test_ecore.c7
-rw-r--r--src/tests/ecore/ecore_test_ecore_file.c47
-rw-r--r--src/tests/ecore/ecore_test_timer.c130
-rw-r--r--src/tests/ecore/efl_app_test_loop_timer.c184
-rw-r--r--src/tests/ecore_audio_cxx/cxx_compile_test.cc15
-rw-r--r--src/tests/ecore_cxx/cxx_compile_test.cc15
-rw-r--r--src/tests/ecore_cxx/ecore_cxx_suite.cc15
-rw-r--r--src/tests/ecore_cxx/ecore_cxx_test_safe_call.cc15
-rw-r--r--src/tests/ecore_wl2/ecore_wl2_suite.c1
-rw-r--r--src/tests/ecore_wl2/ecore_wl2_suite.h1
-rw-r--r--src/tests/ecore_wl2/ecore_wl2_test_display.c14
-rw-r--r--src/tests/ecore_wl2/ecore_wl2_test_surface.c56
-rw-r--r--src/tests/ecore_wl2/ecore_wl2_test_window.c169
-rw-r--r--src/tests/ecore_wl2/meson.build3
-rw-r--r--src/tests/edje_cxx/cxx_compile_test.cc15
-rw-r--r--src/tests/eet_cxx/eet_cxx_suite.cc15
-rw-r--r--src/tests/eet_cxx/eet_cxx_test_descriptors.cc15
-rw-r--r--src/tests/efl/efl_test_composite_model.c126
-rw-r--r--src/tests/efl/efl_test_container_model.c1
-rw-r--r--src/tests/efl_mono/BasicDirection.cs16
-rw-r--r--src/tests/efl_mono/Eina.cs398
-rw-r--r--src/tests/efl_mono/EinaTestData.cs64
-rw-r--r--src/tests/efl_mono/Eldbus.cs17
-rw-r--r--src/tests/efl_mono/Eo.cs63
-rw-r--r--src/tests/efl_mono/EoConstruction.cs15
-rw-r--r--src/tests/efl_mono/EoPromises.cs23
-rw-r--r--src/tests/efl_mono/Errors.cs28
-rw-r--r--src/tests/efl_mono/Events.cs37
-rw-r--r--src/tests/efl_mono/FunctionPointerMarshalling.cs18
-rw-r--r--src/tests/efl_mono/FunctionPointers.cs22
-rw-r--r--src/tests/efl_mono/Hash.cs3
-rw-r--r--src/tests/efl_mono/Inheritance.cs25
-rw-r--r--src/tests/efl_mono/Main.cs29
-rw-r--r--src/tests/efl_mono/Model.cs15
-rw-r--r--src/tests/efl_mono/Parts.cs37
-rw-r--r--src/tests/efl_mono/Promises.cs39
-rw-r--r--src/tests/efl_mono/Strbuf.cs21
-rw-r--r--src/tests/efl_mono/Strings.cs46
-rw-r--r--src/tests/efl_mono/StructHelpers.cs15
-rw-r--r--src/tests/efl_mono/Structs.cs24
-rw-r--r--src/tests/efl_mono/TestUtils.cs15
-rw-r--r--src/tests/efl_mono/Value.cs115
-rw-r--r--src/tests/efl_mono/ValueEolian.cs34
-rw-r--r--src/tests/efl_mono/dummy_child.c15
-rw-r--r--src/tests/efl_mono/dummy_constructible_object.c15
-rw-r--r--src/tests/efl_mono/dummy_event_manager.c15
-rw-r--r--src/tests/efl_mono/dummy_inherit_helper.c15
-rw-r--r--src/tests/efl_mono/dummy_interfaces.c15
-rw-r--r--src/tests/efl_mono/dummy_numberwrapper.c15
-rw-r--r--src/tests/efl_mono/dummy_part_holder.c15
-rw-r--r--src/tests/efl_mono/dummy_test_object.c27
-rw-r--r--src/tests/efl_mono/efl_sharp_test_suite.csproj.in36
-rw-r--r--src/tests/efl_mono/libefl_mono_native_test.h15
-rw-r--r--src/tests/efl_mono/meson.build148
-rw-r--r--src/tests/eina/eina_test_log.c4
-rw-r--r--src/tests/eina/eina_test_matrix.c14
-rw-r--r--src/tests/eina/eina_test_slstr.c2
-rw-r--r--src/tests/eina_cxx/eina_cxx_suite.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_accessor.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_error.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_inarray.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_inlist.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_iterator.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_log.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_optional.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_ptrarray.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_ptrlist.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_stringshare.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_thread.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_value.cc15
-rw-r--r--src/tests/eldbus_cxx/eldbus_cxx_suite.cc15
-rw-r--r--src/tests/eldbus_cxx/eldbus_cxx_test_eldbus_client.cc15
-rw-r--r--src/tests/eldbus_cxx/eldbus_cxx_test_eldbus_connect.cc15
-rw-r--r--src/tests/elementary/efl_ui_suite.c2
-rw-r--r--src/tests/elementary/efl_ui_suite.h2
-rw-r--r--src/tests/elementary/efl_ui_test_config.c1
-rw-r--r--src/tests/elementary/efl_ui_test_relative_container.c (renamed from src/tests/elementary/efl_ui_test_relative_layout.c)58
-rw-r--r--src/tests/elementary/elm_cxx_suite.cc15
-rw-r--r--src/tests/elementary/elm_test_check.c68
-rw-r--r--src/tests/elementary/elm_test_genlist.c194
-rw-r--r--src/tests/elementary/elm_test_layout.c45
-rw-r--r--src/tests/elementary/meson.build2
-rw-r--r--src/tests/elementary/spec/efl_test_basics.c69
-rw-r--r--src/tests/elementary/spec/efl_test_multi_selectable.c10
-rw-r--r--src/tests/elementary/spec/efl_test_pack.c2
-rw-r--r--src/tests/elementary/spec/efl_test_pack_linear.c142
-rw-r--r--src/tests/elementary/spec/efl_ui_spec_suite.c52
-rw-r--r--src/tests/elementary/spec/efl_ui_spec_suite.h2
-rwxr-xr-xsrc/tests/elementary/spec/generator.py2
-rw-r--r--src/tests/elementary/spec/meson.build3
-rw-r--r--src/tests/elementary/suite_helpers.c97
-rw-r--r--src/tests/elementary/suite_helpers.h10
-rw-r--r--src/tests/elementary_cxx/cxx_compile_test.cc15
-rw-r--r--src/tests/elementary_cxx/cxx_dummy_compile_test.cc15
-rw-r--r--src/tests/eo_cxx/eo_cxx_suite.cc15
-rw-r--r--src/tests/eolian/data/function_as_argument_ref.h2
-rw-r--r--src/tests/eolian/data/struct_ref.h2
-rw-r--r--src/tests/eolian/data/typedef_ref.h2
-rw-r--r--src/tests/eolian_cxx/complex_cxx.cc15
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_suite.cc15
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_address_of.cc15
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_binding.cc141
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_cyclic.cc15
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_documentation.cc15
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_generate.cc15
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_inheritance.cc15
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_parse.cc15
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_wrapper.cc15
-rw-r--r--src/tests/eolian_cxx/name_name_cxx.cc15
-rw-r--r--src/tests/eolian_cxx/property_holder.eo42
-rw-r--r--src/tests/evas/efl_canvas_animation.c40
-rw-r--r--src/tests/evas/evas_suite.c1
-rw-r--r--src/tests/evas/evas_suite.h1
-rw-r--r--src/tests/evas/evas_test_mesh.c124
-rw-r--r--src/tests/evas/evas_test_textblock.c20
-rw-r--r--src/tests/evas/fonts/NotoColorEmoji.ttfbin7297112 -> 0 bytes
-rw-r--r--src/tests/evas/fonts/NotoEmoji-Regular.ttfbin418804 -> 0 bytes
-rw-r--r--src/tests/evas/meson.build1
-rw-r--r--src/tests/evas_cxx/cxx_compile_test.cc15
596 files changed, 12189 insertions, 4213 deletions
diff --git a/src/bin/edje/edje_player.c b/src/bin/edje/edje_player.c
index d3ae0c9..cacfdf2 100644
--- a/src/bin/edje/edje_player.c
+++ b/src/bin/edje/edje_player.c
@@ -842,7 +842,7 @@ _edje_circul(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
842 char *group = data; 842 char *group = data;
843 843
844 part_name = eina_list_data_get(eina_list_last(parts)); 844 part_name = eina_list_data_get(eina_list_last(parts));
845 strncat(buf, part_name, sizeof(buf) - 1); 845 strncpy(buf, part_name, sizeof(buf) - 1);
846 part_name[sizeof(buf) - 1] = 0; 846 part_name[sizeof(buf) - 1] = 0;
847 EINA_LIST_FOREACH(parts, l, part_name) 847 EINA_LIST_FOREACH(parts, l, part_name)
848 { 848 {
diff --git a/src/bin/edje/meson.build b/src/bin/edje/meson.build
index f33193d..0fff2cd 100644
--- a/src/bin/edje/meson.build
+++ b/src/bin/edje/meson.build
@@ -42,7 +42,7 @@ else
42 env = find_program('env', native: true) 42 env = find_program('env', native: true)
43 edje_cc_exe = [env, 'EFL_RUN_IN_TREE=1', edje_cc.full_path()] 43 edje_cc_exe = [env, 'EFL_RUN_IN_TREE=1', edje_cc.full_path()]
44 endif 44 endif
45 edje_depends = [edje_cc, epp, evas_engine_buffer_mod] 45 edje_depends = [edje_cc, epp, evas_engine_buffer_mod, embryo_cc]
46endif 46endif
47 47
48edje_decc_src = [ 48edje_decc_src = [
diff --git a/src/bin/efl_mono_msbuild_gen/main.cc b/src/bin/efl_mono_msbuild_gen/main.cc
index bf3d4db..d7ab599 100644
--- a/src/bin/efl_mono_msbuild_gen/main.cc
+++ b/src/bin/efl_mono_msbuild_gen/main.cc
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1 16
2#include <iostream> 17#include <iostream>
3#include <fstream> 18#include <fstream>
diff --git a/src/bin/efreet/efreet_desktop_cache_create.c b/src/bin/efreet/efreet_desktop_cache_create.c
index ec7553d..8988168 100644
--- a/src/bin/efreet/efreet_desktop_cache_create.c
+++ b/src/bin/efreet/efreet_desktop_cache_create.c
@@ -70,13 +70,22 @@ cache_add(Eet_File *ef, const char *path, const char *file_id, int priority EINA
70 *changed = 1; 70 *changed = 1;
71 INF(" NEW"); 71 INF(" NEW");
72 } 72 }
73 else if (ecore_file_mod_time(desk->orig_path) != desk->load_time) 73 else
74 { 74 {
75 efreet_desktop_free(desk); 75 struct stat st;
76 *changed = 1; 76 if (!stat(desk->orig_path, &st))
77 desk = efreet_desktop_uncached_new(path); 77 {
78 if (desk) INF(" CHANGED"); 78 time_t modtime = st.st_mtime;
79 else INF(" NO UNCACHED"); 79 if (modtime < st.st_ctime) modtime = st.st_ctime;
80 if (modtime != desk->load_time)
81 {
82 efreet_desktop_free(desk);
83 *changed = 1;
84 desk = efreet_desktop_uncached_new(path);
85 if (desk) INF(" CHANGED");
86 else INF(" NO UNCACHED");
87 }
88 }
80 } 89 }
81 if (!desk) return 1; 90 if (!desk) return 1;
82 if (file_id && old_file_ids && !eina_hash_find(old_file_ids->hash, file_id)) 91 if (file_id && old_file_ids && !eina_hash_find(old_file_ids->hash, file_id))
diff --git a/src/bin/elementary/meson.build b/src/bin/elementary/meson.build
index 502573c..342e184 100644
--- a/src/bin/elementary/meson.build
+++ b/src/bin/elementary/meson.build
@@ -155,7 +155,7 @@ elementary_test_src = [
155 'test_win_indicator.c', 155 'test_win_indicator.c',
156 'test_gesture_framework.c', 156 'test_gesture_framework.c',
157 'test_ui_tab_pager.c', 157 'test_ui_tab_pager.c',
158 'test_ui_relative_layout.c', 158 'test_ui_relative_container.c',
159 'test_ui_collection.c', 159 'test_ui_collection.c',
160 'test_ui_collection_view.c', 160 'test_ui_collection_view.c',
161 'test_ui_items.c', 161 'test_ui_items.c',
diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c
index bcdb484..a78850a 100644
--- a/src/bin/elementary/test.c
+++ b/src/bin/elementary/test.c
@@ -243,7 +243,6 @@ void test_label_wrap(void *data, Evas_Object *obj, void *event_info);
243void test_label_ellipsis(void *data, Evas_Object *obj, void *event_info); 243void test_label_ellipsis(void *data, Evas_Object *obj, void *event_info);
244void test_label_colors(void *data, Evas_Object *obj, void *event_info); 244void test_label_colors(void *data, Evas_Object *obj, void *event_info);
245void test_label_emoji(void *data, Evas_Object *obj, void *event_info); 245void test_label_emoji(void *data, Evas_Object *obj, void *event_info);
246void test_label_variation_sequence(void *data, Evas_Object *obj, void *event_info);
247void test_conformant(void *data, Evas_Object *obj, void *event_info); 246void test_conformant(void *data, Evas_Object *obj, void *event_info);
248void test_conformant2(void *data, Evas_Object *obj, void *event_info); 247void test_conformant2(void *data, Evas_Object *obj, void *event_info);
249void test_conformant_indicator(void *data, Evas_Object *obj, void *event_info); 248void test_conformant_indicator(void *data, Evas_Object *obj, void *event_info);
@@ -398,7 +397,7 @@ void test_ui_spotlight_stack(void *data, Evas_Object *obj, void *event_info);
398void test_ui_spotlight_plain(void *data, Evas_Object *obj, void *event_info); 397void test_ui_spotlight_plain(void *data, Evas_Object *obj, void *event_info);
399void test_ui_spotlight_scroll(void *data, Evas_Object *obj, void *event_info); 398void test_ui_spotlight_scroll(void *data, Evas_Object *obj, void *event_info);
400 399
401void test_ui_relative_layout(void *data, Evas_Object *obj, void *event_info); 400void test_ui_relative_container(void *data, Evas_Object *obj, void *event_info);
402void test_efl_ui_radio(void *data, Evas_Object *obj, void *event_info); 401void test_efl_ui_radio(void *data, Evas_Object *obj, void *event_info);
403void test_efl_ui_collection_list(void *data, Evas_Object *obj, void *event_info); 402void test_efl_ui_collection_list(void *data, Evas_Object *obj, void *event_info);
404void test_efl_ui_collection_grid(void *data, Evas_Object *obj, void *event_info); 403void test_efl_ui_collection_grid(void *data, Evas_Object *obj, void *event_info);
@@ -909,7 +908,7 @@ add_tests:
909 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Table", test_ui_table); 908 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Table", test_ui_table);
910 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Table (Linear API)", test_ui_table_linear); 909 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Table (Linear API)", test_ui_table_linear);
911 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Table_Static", test_ui_table_static); 910 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Table_Static", test_ui_table_static);
912 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Relative_Layout", test_ui_relative_layout); 911 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Relative_Container", test_ui_relative_container);
913 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Collection List", test_efl_ui_collection_list); 912 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Collection List", test_efl_ui_collection_list);
914 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Collection Grid", test_efl_ui_collection_grid); 913 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Collection Grid", test_efl_ui_collection_grid);
915 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Collection_View", test_efl_ui_collection_view); 914 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Collection_View", test_efl_ui_collection_view);
@@ -1211,7 +1210,6 @@ add_tests:
1211 ADD_TEST(NULL, "Text", "Label Ellipsis", test_label_ellipsis); 1210 ADD_TEST(NULL, "Text", "Label Ellipsis", test_label_ellipsis);
1212 ADD_TEST(NULL, "Text", "Label Colors", test_label_colors); 1211 ADD_TEST(NULL, "Text", "Label Colors", test_label_colors);
1213 ADD_TEST(NULL, "Text", "Label Emoji", test_label_emoji); 1212 ADD_TEST(NULL, "Text", "Label Emoji", test_label_emoji);
1214 ADD_TEST(NULL, "Text", "Label Variation Sequnece", test_label_variation_sequence);
1215 ADD_TEST_EO(NULL, "Text", "Efl.Ui.Textpath", test_ui_textpath); 1213 ADD_TEST_EO(NULL, "Text", "Efl.Ui.Textpath", test_ui_textpath);
1216 1214
1217 //------------------------------// 1215 //------------------------------//
diff --git a/src/bin/elementary/test_efl_anim_group_parallel.c b/src/bin/elementary/test_efl_anim_group_parallel.c
index 6283e22..262286a 100644
--- a/src/bin/elementary/test_efl_anim_group_parallel.c
+++ b/src/bin/elementary/test_efl_anim_group_parallel.c
@@ -90,11 +90,11 @@ test_efl_anim_group_parallel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
90 90
91 //Rotate from 45 to 0 degrees Animation 91 //Rotate from 45 to 0 degrees Animation
92 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 92 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
93 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, 0.5, 0.5); 93 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, EINA_VECTOR2(0.5, 0.5));
94 94
95 //Scale Animation to zoom out 95 //Scale Animation to zoom out
96 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 96 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
97 efl_animation_scale_set(scale_half_anim, 2.0, 2.0, 1.0, 1.0, NULL, 0.5, 0.5); 97 efl_animation_scale_set(scale_half_anim, EINA_VECTOR2(2.0, 2.0), EINA_VECTOR2(1.0, 1.0), NULL, EINA_VECTOR2(0.5, 0.5));
98 98
99 //Show Parallel Group Animation 99 //Show Parallel Group Animation
100 Efl_Canvas_Animation *parallel_show_anim = efl_add(EFL_CANVAS_ANIMATION_GROUP_PARALLEL_CLASS, win); 100 Efl_Canvas_Animation *parallel_show_anim = efl_add(EFL_CANVAS_ANIMATION_GROUP_PARALLEL_CLASS, win);
@@ -113,11 +113,11 @@ test_efl_anim_group_parallel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
113 113
114 //Rotate from 0 to 45 degrees Animation 114 //Rotate from 0 to 45 degrees Animation
115 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 115 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
116 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, 0.5, 0.5); 116 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, EINA_VECTOR2(0.5, 0.5));
117 117
118 //Scale Animation to zoom in 118 //Scale Animation to zoom in
119 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 119 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
120 efl_animation_scale_set(scale_double_anim, 1.0, 1.0, 2.0, 2.0, NULL, 0.5, 0.5); 120 efl_animation_scale_set(scale_double_anim, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(2.0, 2.0), NULL, EINA_VECTOR2(0.5, 0.5));
121 121
122 //Hide Parallel Group Animation 122 //Hide Parallel Group Animation
123 Efl_Canvas_Animation *parallel_hide_anim = efl_add(EFL_CANVAS_ANIMATION_GROUP_PARALLEL_CLASS, win); 123 Efl_Canvas_Animation *parallel_hide_anim = efl_add(EFL_CANVAS_ANIMATION_GROUP_PARALLEL_CLASS, win);
diff --git a/src/bin/elementary/test_efl_anim_group_sequential.c b/src/bin/elementary/test_efl_anim_group_sequential.c
index 3488149..4beefb2 100644
--- a/src/bin/elementary/test_efl_anim_group_sequential.c
+++ b/src/bin/elementary/test_efl_anim_group_sequential.c
@@ -86,11 +86,11 @@ test_efl_anim_group_sequential(void *data EINA_UNUSED, Evas_Object *obj EINA_UNU
86 /* Animations to hide button */ 86 /* Animations to hide button */
87 //Rotate from 0 to 45 degrees Animation 87 //Rotate from 0 to 45 degrees Animation
88 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 88 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
89 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, 0.5, 0.5); 89 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, EINA_VECTOR2(0.5, 0.5));
90 90
91 //Scale Animation to zoom in 91 //Scale Animation to zoom in
92 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 92 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
93 efl_animation_scale_set(scale_double_anim, 1.0, 1.0, 2.0, 2.0, NULL, 0.5, 0.5); 93 efl_animation_scale_set(scale_double_anim, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(2.0, 2.0), NULL, EINA_VECTOR2(0.5, 0.5));
94 94
95 //Hide Animation 95 //Hide Animation
96 Efl_Canvas_Animation *hide_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); 96 Efl_Canvas_Animation *hide_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win);
@@ -115,12 +115,12 @@ test_efl_anim_group_sequential(void *data EINA_UNUSED, Evas_Object *obj EINA_UNU
115 115
116 //Scale Animation to zoom out 116 //Scale Animation to zoom out
117 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 117 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
118 efl_animation_scale_set(scale_half_anim, 2.0, 2.0, 1.0, 1.0, NULL, 0.5, 0.5); 118 efl_animation_scale_set(scale_half_anim, EINA_VECTOR2(2.0, 2.0), EINA_VECTOR2(1.0, 1.0), NULL, EINA_VECTOR2(0.5, 0.5));
119 efl_animation_duration_set(scale_half_anim, 1.0); 119 efl_animation_duration_set(scale_half_anim, 1.0);
120 120
121 //Rotate from 45 to 0 degrees Animation 121 //Rotate from 45 to 0 degrees Animation
122 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 122 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
123 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, 0.5, 0.5); 123 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, EINA_VECTOR2(0.5, 0.5));
124 efl_animation_duration_set(ccw_45_degrees_anim, 1.0); 124 efl_animation_duration_set(ccw_45_degrees_anim, 1.0);
125 125
126 //Show Sequential Group Animation 126 //Show Sequential Group Animation
diff --git a/src/bin/elementary/test_efl_anim_interpolator.c b/src/bin/elementary/test_efl_anim_interpolator.c
index be177d7..96c7649 100644
--- a/src/bin/elementary/test_efl_anim_interpolator.c
+++ b/src/bin/elementary/test_efl_anim_interpolator.c
@@ -33,32 +33,35 @@ _interpolator_create(int index, Evas_Object *win)
33 else if (index == 1) 33 else if (index == 1)
34 { 34 {
35 interp = efl_add(EFL_SINUSOIDAL_INTERPOLATOR_CLASS, win); 35 interp = efl_add(EFL_SINUSOIDAL_INTERPOLATOR_CLASS, win);
36 efl_sinusoidal_interpolator_factor_set(interp, 1.0); 36 efl_sinusoidal_interpolator_slope_set(interp, 1.0);
37 } 37 }
38 else if (index == 2) 38 else if (index == 2)
39 { 39 {
40 interp = efl_add(EFL_DECELERATE_INTERPOLATOR_CLASS, win); 40 interp = efl_add(EFL_DECELERATE_INTERPOLATOR_CLASS, win);
41 efl_decelerate_interpolator_factor_set(interp, 1.0); 41 efl_decelerate_interpolator_slope_set(interp, 1.0);
42 } 42 }
43 else if (index == 3) 43 else if (index == 3)
44 { 44 {
45 interp = efl_add(EFL_ACCELERATE_INTERPOLATOR_CLASS, win); 45 interp = efl_add(EFL_ACCELERATE_INTERPOLATOR_CLASS, win);
46 efl_accelerate_interpolator_factor_set(interp, 1.0); 46 efl_accelerate_interpolator_slope_set(interp, 1.0);
47 } 47 }
48 else if (index == 4) 48 else if (index == 4)
49 { 49 {
50 interp = efl_add(EFL_DIVISOR_INTERPOLATOR_CLASS, win); 50 interp = efl_add(EFL_DIVISOR_INTERPOLATOR_CLASS, win);
51 efl_divisor_interpolator_factors_set(interp, 1.0, 1.0); 51 efl_divisor_interpolator_divisor_set(interp, 1.0);
52 efl_divisor_interpolator_power_set(interp, 1);
52 } 53 }
53 else if (index == 5) 54 else if (index == 5)
54 { 55 {
55 interp = efl_add(EFL_BOUNCE_INTERPOLATOR_CLASS, win); 56 interp = efl_add(EFL_BOUNCE_INTERPOLATOR_CLASS, win);
56 efl_bounce_interpolator_factors_set(interp, 1.0, 1.0); 57 efl_bounce_interpolator_rigidness_set(interp, 1.0);
58 efl_bounce_interpolator_bounces_set(interp, 1);
57 } 59 }
58 else if (index == 6) 60 else if (index == 6)
59 { 61 {
60 interp = efl_add(EFL_SPRING_INTERPOLATOR_CLASS, win); 62 interp = efl_add(EFL_SPRING_INTERPOLATOR_CLASS, win);
61 efl_spring_interpolator_factors_set(interp, 1.0, 1.0); 63 efl_spring_interpolator_decay_set(interp, 1.0);
64 efl_spring_interpolator_oscillations_set(interp, 1);
62 } 65 }
63 66
64 return interp; 67 return interp;
@@ -199,7 +202,7 @@ test_efl_anim_interpolator(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
199 202
200 Efl_Canvas_Animation *anim = 203 Efl_Canvas_Animation *anim =
201 efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win); 204 efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win);
202 efl_animation_translate_set(anim, 0, 0, (WIN_W - BTN_W), 0); 205 efl_animation_translate_set(anim, EINA_POSITION2D(0, 0), EINA_POSITION2D((WIN_W - BTN_W), 0));
203 efl_animation_duration_set(anim, 2.0); 206 efl_animation_duration_set(anim, 2.0);
204 efl_animation_final_state_keep_set(anim, EINA_FALSE); 207 efl_animation_final_state_keep_set(anim, EINA_FALSE);
205 208
diff --git a/src/bin/elementary/test_efl_anim_rotate.c b/src/bin/elementary/test_efl_anim_rotate.c
index 10df8ca..ea8b94a 100644
--- a/src/bin/elementary/test_efl_anim_rotate.c
+++ b/src/bin/elementary/test_efl_anim_rotate.c
@@ -84,13 +84,13 @@ test_efl_anim_rotate(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
84 84
85 //Rotate from 0 to 45 degrees Animation 85 //Rotate from 0 to 45 degrees Animation
86 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 86 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
87 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0,NULL, 0.5, 0.5); 87 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, EINA_VECTOR2(0.5, 0.5));
88 efl_animation_duration_set(cw_45_degrees_anim, 1.0); 88 efl_animation_duration_set(cw_45_degrees_anim, 1.0);
89 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE); 89 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE);
90 90
91 //Rotate from 45 to 0 degrees Animation 91 //Rotate from 45 to 0 degrees Animation
92 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 92 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
93 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, 0.5, 0.5); 93 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, EINA_VECTOR2(0.5, 0.5));
94 efl_animation_duration_set(ccw_45_degrees_anim, 1.0); 94 efl_animation_duration_set(ccw_45_degrees_anim, 1.0);
95 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE); 95 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE);
96 96
@@ -151,13 +151,13 @@ test_efl_anim_rotate_relative(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUS
151 151
152 //Rotate from 0 to 45 degrees Animation 152 //Rotate from 0 to 45 degrees Animation
153 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 153 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
154 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, pivot, 0.5, 0.5); 154 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, pivot, EINA_VECTOR2(0.5, 0.5));
155 efl_animation_duration_set(cw_45_degrees_anim, 1.0); 155 efl_animation_duration_set(cw_45_degrees_anim, 1.0);
156 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE); 156 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE);
157 157
158 //Rotate from 45 to 0 degrees Animation 158 //Rotate from 45 to 0 degrees Animation
159 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 159 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
160 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, pivot, 0.5, 0.5); 160 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, pivot, EINA_VECTOR2(0.5, 0.5));
161 efl_animation_duration_set(ccw_45_degrees_anim, 1.0); 161 efl_animation_duration_set(ccw_45_degrees_anim, 1.0);
162 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE); 162 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE);
163 163
@@ -219,13 +219,13 @@ test_efl_anim_rotate_absolute(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUS
219 219
220 //Rotate from 0 to 45 degrees Animation 220 //Rotate from 0 to 45 degrees Animation
221 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 221 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
222 efl_animation_rotate_absolute_set(cw_45_degrees_anim, 0.0, 45.0, 0, 0); 222 efl_animation_rotate_absolute_set(cw_45_degrees_anim, 0.0, 45.0, EINA_POSITION2D(0, 0));
223 efl_animation_duration_set(cw_45_degrees_anim, 1.0); 223 efl_animation_duration_set(cw_45_degrees_anim, 1.0);
224 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE); 224 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE);
225 225
226 //Rotate from 45 to 0 degrees Animation 226 //Rotate from 45 to 0 degrees Animation
227 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 227 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
228 efl_animation_rotate_absolute_set(ccw_45_degrees_anim, 45.0, 0.0, 0, 0); 228 efl_animation_rotate_absolute_set(ccw_45_degrees_anim, 45.0, 0.0, EINA_POSITION2D(0, 0));
229 efl_animation_duration_set(ccw_45_degrees_anim, 1.0); 229 efl_animation_duration_set(ccw_45_degrees_anim, 1.0);
230 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE); 230 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE);
231 231
diff --git a/src/bin/elementary/test_efl_anim_scale.c b/src/bin/elementary/test_efl_anim_scale.c
index 5e5f9ab..d3812de 100644
--- a/src/bin/elementary/test_efl_anim_scale.c
+++ b/src/bin/elementary/test_efl_anim_scale.c
@@ -84,13 +84,13 @@ test_efl_anim_scale(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *
84 84
85 //Scale Animation to zoom in 85 //Scale Animation to zoom in
86 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 86 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
87 efl_animation_scale_set(scale_double_anim, 1.0, 1.0, 2.0, 2.0, NULL, 0.5, 0.5); 87 efl_animation_scale_set(scale_double_anim, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(2.0, 2.0), NULL, EINA_VECTOR2(0.5, 0.5));
88 efl_animation_duration_set(scale_double_anim, 1.0); 88 efl_animation_duration_set(scale_double_anim, 1.0);
89 efl_animation_final_state_keep_set(scale_double_anim, EINA_TRUE); 89 efl_animation_final_state_keep_set(scale_double_anim, EINA_TRUE);
90 90
91 //Scale Animation to zoom out 91 //Scale Animation to zoom out
92 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 92 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
93 efl_animation_scale_set(scale_half_anim, 2.0, 2.0, 1.0, 1.0, NULL, 0.5, 0.5); 93 efl_animation_scale_set(scale_half_anim, EINA_VECTOR2(2.0, 2.0), EINA_VECTOR2(1.0, 1.0), NULL, EINA_VECTOR2(0.5, 0.5));
94 efl_animation_duration_set(scale_half_anim, 1.0); 94 efl_animation_duration_set(scale_half_anim, 1.0);
95 efl_animation_final_state_keep_set(scale_half_anim, EINA_TRUE); 95 efl_animation_final_state_keep_set(scale_half_anim, EINA_TRUE);
96 96
@@ -153,13 +153,13 @@ test_efl_anim_scale_relative(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
153 153
154 //Scale Animation to zoom in 154 //Scale Animation to zoom in
155 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 155 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
156 efl_animation_scale_set(scale_double_anim, 1.0, 1.0, 2.0, 2.0, pivot, 0.5, 0.5); 156 efl_animation_scale_set(scale_double_anim, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(2.0, 2.0), pivot, EINA_VECTOR2(0.5, 0.5));
157 efl_animation_duration_set(scale_double_anim, 1.0); 157 efl_animation_duration_set(scale_double_anim, 1.0);
158 efl_animation_final_state_keep_set(scale_double_anim, EINA_TRUE); 158 efl_animation_final_state_keep_set(scale_double_anim, EINA_TRUE);
159 159
160 //Scale Animation to zoom out 160 //Scale Animation to zoom out
161 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 161 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
162 efl_animation_scale_set(scale_half_anim, 2.0, 2.0, 1.0, 1.0, pivot, 0.5, 0.5); 162 efl_animation_scale_set(scale_half_anim, EINA_VECTOR2(2.0, 2.0), EINA_VECTOR2(1.0, 1.0), pivot, EINA_VECTOR2(0.5, 0.5));
163 efl_animation_duration_set(scale_half_anim, 1.0); 163 efl_animation_duration_set(scale_half_anim, 1.0);
164 efl_animation_final_state_keep_set(scale_half_anim, EINA_TRUE); 164 efl_animation_final_state_keep_set(scale_half_anim, EINA_TRUE);
165 165
@@ -219,13 +219,13 @@ test_efl_anim_scale_absolute(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
219 219
220 //Scale Animation to zoom in 220 //Scale Animation to zoom in
221 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 221 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
222 efl_animation_scale_absolute_set(scale_double_anim, 1.0, 1.0, 2.0, 2.0, 0, 0); 222 efl_animation_scale_absolute_set(scale_double_anim, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(2.0, 2.0), EINA_POSITION2D(0, 0));
223 efl_animation_duration_set(scale_double_anim, 1.0); 223 efl_animation_duration_set(scale_double_anim, 1.0);
224 efl_animation_final_state_keep_set(scale_double_anim, EINA_TRUE); 224 efl_animation_final_state_keep_set(scale_double_anim, EINA_TRUE);
225 225
226 //Scale Animation to zoom out 226 //Scale Animation to zoom out
227 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 227 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
228 efl_animation_scale_absolute_set(scale_half_anim, 2.0, 2.0, 1.0, 1.0, 0, 0); 228 efl_animation_scale_absolute_set(scale_half_anim, EINA_VECTOR2(2.0, 2.0), EINA_VECTOR2(1.0, 1.0), EINA_POSITION2D(0, 0));
229 efl_animation_duration_set(scale_half_anim, 1.0); 229 efl_animation_duration_set(scale_half_anim, 1.0);
230 efl_animation_final_state_keep_set(scale_half_anim, EINA_TRUE); 230 efl_animation_final_state_keep_set(scale_half_anim, EINA_TRUE);
231 231
diff --git a/src/bin/elementary/test_efl_anim_translate.c b/src/bin/elementary/test_efl_anim_translate.c
index 9f30cc3..5bbf1b2 100644
--- a/src/bin/elementary/test_efl_anim_translate.c
+++ b/src/bin/elementary/test_efl_anim_translate.c
@@ -84,13 +84,13 @@ test_efl_anim_translate(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, vo
84 84
85 //Translate Animation to right bottom relatively 85 //Translate Animation to right bottom relatively
86 Efl_Canvas_Animation *translate_rb_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win); 86 Efl_Canvas_Animation *translate_rb_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win);
87 efl_animation_translate_set(translate_rb_anim, 0, 0, 100, 100); 87 efl_animation_translate_set(translate_rb_anim, EINA_POSITION2D(0, 0), EINA_POSITION2D(100, 100));
88 efl_animation_duration_set(translate_rb_anim, 1.0); 88 efl_animation_duration_set(translate_rb_anim, 1.0);
89 efl_animation_final_state_keep_set(translate_rb_anim, EINA_TRUE); 89 efl_animation_final_state_keep_set(translate_rb_anim, EINA_TRUE);
90 90
91 //Translate Animation to left top relatively 91 //Translate Animation to left top relatively
92 Efl_Canvas_Animation *translate_lt_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win); 92 Efl_Canvas_Animation *translate_lt_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win);
93 efl_animation_translate_set(translate_lt_anim, 100, 100, 0, 0); 93 efl_animation_translate_set(translate_lt_anim, EINA_POSITION2D(100, 100), EINA_POSITION2D(0, 0));
94 efl_animation_duration_set(translate_lt_anim, 1.0); 94 efl_animation_duration_set(translate_lt_anim, 1.0);
95 efl_animation_final_state_keep_set(translate_lt_anim, EINA_TRUE); 95 efl_animation_final_state_keep_set(translate_lt_anim, EINA_TRUE);
96 96
@@ -150,13 +150,13 @@ test_efl_anim_translate_absolute(void *data EINA_UNUSED, Evas_Object *obj EINA_U
150 150
151 //Translate Animation to right bottom absolutely 151 //Translate Animation to right bottom absolutely
152 Efl_Canvas_Animation *translate_rb_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win); 152 Efl_Canvas_Animation *translate_rb_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win);
153 efl_animation_translate_absolute_set(translate_rb_anim, 0, 0, 100, 100); 153 efl_animation_translate_absolute_set(translate_rb_anim, EINA_POSITION2D(0, 0), EINA_POSITION2D(100, 100));
154 efl_animation_duration_set(translate_rb_anim, 1.0); 154 efl_animation_duration_set(translate_rb_anim, 1.0);
155 efl_animation_final_state_keep_set(translate_rb_anim, EINA_TRUE); 155 efl_animation_final_state_keep_set(translate_rb_anim, EINA_TRUE);
156 156
157 //Translate Animation to left top absolutely 157 //Translate Animation to left top absolutely
158 Efl_Canvas_Animation *translate_lt_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win); 158 Efl_Canvas_Animation *translate_lt_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win);
159 efl_animation_translate_absolute_set(translate_lt_anim, 100, 100, 0, 0); 159 efl_animation_translate_absolute_set(translate_lt_anim, EINA_POSITION2D(100, 100), EINA_POSITION2D(0, 0));
160 efl_animation_duration_set(translate_lt_anim, 1.0); 160 efl_animation_duration_set(translate_lt_anim, 1.0);
161 efl_animation_final_state_keep_set(translate_lt_anim, EINA_TRUE); 161 efl_animation_final_state_keep_set(translate_lt_anim, EINA_TRUE);
162 162
diff --git a/src/bin/elementary/test_events.c b/src/bin/elementary/test_events.c
index e1438db..48eac32 100644
--- a/src/bin/elementary/test_events.c
+++ b/src/bin/elementary/test_events.c
@@ -5,7 +5,7 @@
5#include <Elementary.h> 5#include <Elementary.h>
6 6
7#define EFL_INTERNAL_UNSTABLE 7#define EFL_INTERNAL_UNSTABLE
8#include "interfaces/efl_common_internal.h" 8#include "Evas_Internal.h"
9 9
10#define DEFAULT_TEXT "Click the white rectangle to get started" 10#define DEFAULT_TEXT "Click the white rectangle to get started"
11 11
diff --git a/src/bin/elementary/test_label.c b/src/bin/elementary/test_label.c
index 72cb2ae..233ce01 100644
--- a/src/bin/elementary/test_label.c
+++ b/src/bin/elementary/test_label.c
@@ -403,30 +403,6 @@ test_label_colors(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *ev
403 evas_object_show(win); 403 evas_object_show(win);
404} 404}
405 405
406/*** Label variation sequence **************************************************************/
407void
408test_label_variation_sequence(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
409{
410 Evas_Object *win, *lb;
411
412 win = elm_win_util_standard_add("label-variation sequence", "Label variation sequnece");
413 elm_win_autodel_set(win, EINA_TRUE);
414
415 lb = elm_label_add(win);
416 elm_object_text_set(lb,
417 "You need to have at least on font contains variation sequence<br>"
418 "Three different 8 glyphs : <br>"
419 "8<tab>8&#xfe0f;<tab>8&#xfe0f;&#x20E3;<br>"
420 "line with 3 variation glyphs : <br>"
421 "8&#xfe0f;&#x20E3;&#x262a;&#xfe0f;AAA&#x262a;&#xfe0E;1234567&#xfe0f;&#x20E3;"
422 );
423 evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
424 elm_win_resize_object_add(win, lb);
425 evas_object_show(lb);
426
427 evas_object_show(win);
428}
429
430/*** Label Emoji *************************************************************/ 406/*** Label Emoji *************************************************************/
431static char * 407static char *
432_fontlist_text_get(void *data, Evas_Object *obj EINA_UNUSED, const char *part EINA_UNUSED) 408_fontlist_text_get(void *data, Evas_Object *obj EINA_UNUSED, const char *part EINA_UNUSED)
diff --git a/src/bin/elementary/test_ui_relative_layout.c b/src/bin/elementary/test_ui_relative_container.c
index 40d9891..40e2c1a 100644
--- a/src/bin/elementary/test_ui_relative_layout.c
+++ b/src/bin/elementary/test_ui_relative_container.c
@@ -57,20 +57,20 @@ _btn_clicked_to_cb(void *data, const Efl_Event *event)
57 switch (opt) 57 switch (opt)
58 { 58 {
59 case LEFT: 59 case LEFT:
60 efl_ui_relative_layout_relation_left_get(layout, btn, NULL, &relative); 60 efl_ui_relative_container_relation_left_get(layout, btn, NULL, &relative);
61 efl_ui_relative_layout_relation_left_set(layout, btn, to, relative); 61 efl_ui_relative_container_relation_left_set(layout, btn, to, relative);
62 break; 62 break;
63 case RIGHT: 63 case RIGHT:
64 efl_ui_relative_layout_relation_right_get(layout, btn, NULL, &relative); 64 efl_ui_relative_container_relation_right_get(layout, btn, NULL, &relative);
65 efl_ui_relative_layout_relation_right_set(layout, btn, to, relative); 65 efl_ui_relative_container_relation_right_set(layout, btn, to, relative);
66 break; 66 break;
67 case TOP: 67 case TOP:
68 efl_ui_relative_layout_relation_top_get(layout, btn, NULL, &relative); 68 efl_ui_relative_container_relation_top_get(layout, btn, NULL, &relative);
69 efl_ui_relative_layout_relation_top_set(layout, btn, to, relative); 69 efl_ui_relative_container_relation_top_set(layout, btn, to, relative);
70 break; 70 break;
71 case BOTTOM: 71 case BOTTOM:
72 efl_ui_relative_layout_relation_bottom_get(layout, btn, NULL, &relative); 72 efl_ui_relative_container_relation_bottom_get(layout, btn, NULL, &relative);
73 efl_ui_relative_layout_relation_bottom_set(layout, btn, to, relative); 73 efl_ui_relative_container_relation_bottom_set(layout, btn, to, relative);
74 break; 74 break;
75 } 75 }
76 efl_text_set(obj, ((to == layout) ? "parent" : (char *)efl_text_get(to))); 76 efl_text_set(obj, ((to == layout) ? "parent" : (char *)efl_text_get(to)));
@@ -89,16 +89,16 @@ _slider_changed_relative_cb(void *data, const Efl_Event *event)
89 switch (opt) 89 switch (opt)
90 { 90 {
91 case LEFT: 91 case LEFT:
92 efl_ui_relative_layout_relation_left_set(layout, btn, NULL, val); 92 efl_ui_relative_container_relation_left_set(layout, btn, NULL, val);
93 break; 93 break;
94 case RIGHT: 94 case RIGHT:
95 efl_ui_relative_layout_relation_right_set(layout, btn, NULL, val); 95 efl_ui_relative_container_relation_right_set(layout, btn, NULL, val);
96 break; 96 break;
97 case TOP: 97 case TOP:
98 efl_ui_relative_layout_relation_top_set(layout, btn, NULL, val); 98 efl_ui_relative_container_relation_top_set(layout, btn, NULL, val);
99 break; 99 break;
100 case BOTTOM: 100 case BOTTOM:
101 efl_ui_relative_layout_relation_bottom_set(layout, btn, NULL, val); 101 efl_ui_relative_container_relation_bottom_set(layout, btn, NULL, val);
102 break; 102 break;
103 } 103 }
104} 104}
@@ -131,19 +131,19 @@ _setter_add(Eo *vbox, Eo *btn, Options option)
131 { 131 {
132 case LEFT: 132 case LEFT:
133 text = "left"; 133 text = "left";
134 efl_ui_relative_layout_relation_left_get(layout, btn, &to, &relative); 134 efl_ui_relative_container_relation_left_get(layout, btn, &to, &relative);
135 break; 135 break;
136 case RIGHT: 136 case RIGHT:
137 text = "right"; 137 text = "right";
138 efl_ui_relative_layout_relation_right_get(layout, btn, &to, &relative); 138 efl_ui_relative_container_relation_right_get(layout, btn, &to, &relative);
139 break; 139 break;
140 case TOP: 140 case TOP:
141 text = "top"; 141 text = "top";
142 efl_ui_relative_layout_relation_top_get(layout, btn, &to, &relative); 142 efl_ui_relative_container_relation_top_get(layout, btn, &to, &relative);
143 break; 143 break;
144 case BOTTOM: 144 case BOTTOM:
145 text = "bottom"; 145 text = "bottom";
146 efl_ui_relative_layout_relation_bottom_get(layout, btn, &to, &relative); 146 efl_ui_relative_container_relation_bottom_get(layout, btn, &to, &relative);
147 break; 147 break;
148 } 148 }
149 btn_text = ((to == layout) ? "parent" : (char *)efl_text_get(to)); 149 btn_text = ((to == layout) ? "parent" : (char *)efl_text_get(to));
@@ -271,12 +271,12 @@ _button_frame_add(Eo *box, Eo *btn)
271} 271}
272 272
273void 273void
274test_ui_relative_layout(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) 274test_ui_relative_container(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
275{ 275{
276 Eo *win, *vbox, *f, *hbox; 276 Eo *win, *vbox, *f, *hbox;
277 277
278 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), 278 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
279 efl_text_set(efl_added, "Efl.Ui.Relative_Layout"), 279 efl_text_set(efl_added, "Efl.Ui.Relative_Container"),
280 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 280 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
281 281
282 vbox = efl_add(EFL_UI_BOX_CLASS, win, 282 vbox = efl_add(EFL_UI_BOX_CLASS, win,
@@ -301,26 +301,26 @@ test_ui_relative_layout(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, vo
301 efl_text_set(efl_added, "Contents"), 301 efl_text_set(efl_added, "Contents"),
302 efl_pack(vbox, efl_added)); 302 efl_pack(vbox, efl_added));
303 303
304 layout = efl_add(EFL_UI_RELATIVE_LAYOUT_CLASS, f, 304 layout = efl_add(EFL_UI_RELATIVE_CONTAINER_CLASS, f,
305 efl_content_set(f, efl_added)); 305 efl_content_set(f, efl_added));
306 306
307 btn1 = efl_add(EFL_UI_BUTTON_CLASS, layout, 307 btn1 = efl_add(EFL_UI_BUTTON_CLASS, layout,
308 efl_text_set(efl_added, "button1"), 308 efl_text_set(efl_added, "button1"),
309 efl_gfx_hint_align_set(efl_added, 0.0, 0.0), 309 efl_gfx_hint_align_set(efl_added, 0.0, 0.0),
310 efl_event_callback_add(efl_added, EFL_INPUT_EVENT_CLICKED, _btn_color_clicked_cb, layout), 310 efl_event_callback_add(efl_added, EFL_INPUT_EVENT_CLICKED, _btn_color_clicked_cb, layout),
311 efl_ui_relative_layout_relation_right_set(layout, efl_added, layout, 0.0), 311 efl_ui_relative_container_relation_right_set(layout, efl_added, layout, 0.0),
312 efl_ui_relative_layout_relation_bottom_set(layout, efl_added, layout, 0.0)); 312 efl_ui_relative_container_relation_bottom_set(layout, efl_added, layout, 0.0));
313 313
314 btn2 = efl_add(EFL_UI_BUTTON_CLASS, layout, 314 btn2 = efl_add(EFL_UI_BUTTON_CLASS, layout,
315 efl_text_set(efl_added, "button2"), 315 efl_text_set(efl_added, "button2"),
316 efl_gfx_hint_align_set(efl_added, 0.5, 0.0), 316 efl_gfx_hint_align_set(efl_added, 0.5, 0.0),
317 efl_ui_relative_layout_relation_left_set(layout, efl_added, btn1, 1.0), 317 efl_ui_relative_container_relation_left_set(layout, efl_added, btn1, 1.0),
318 efl_ui_relative_layout_relation_bottom_set(layout, efl_added, layout, 0.0)); 318 efl_ui_relative_container_relation_bottom_set(layout, efl_added, layout, 0.0));
319 319
320 btn3 = efl_add(EFL_UI_BUTTON_CLASS, layout, 320 btn3 = efl_add(EFL_UI_BUTTON_CLASS, layout,
321 efl_text_set(efl_added, "button3"), 321 efl_text_set(efl_added, "button3"),
322 efl_ui_relative_layout_relation_left_set(layout, efl_added, btn2, 0.0), 322 efl_ui_relative_container_relation_left_set(layout, efl_added, btn2, 0.0),
323 efl_ui_relative_layout_relation_top_set(layout, efl_added, btn2, 1.0)); 323 efl_ui_relative_container_relation_top_set(layout, efl_added, btn2, 1.0));
324 324
325 _button_frame_add(hbox, btn1); 325 _button_frame_add(hbox, btn1);
326 _button_frame_add(hbox, btn2); 326 _button_frame_add(hbox, btn2);
diff --git a/src/bin/eolian/headers.c b/src/bin/eolian/headers.c
index 3a84e0a..ead40d8 100644
--- a/src/bin/eolian/headers.c
+++ b/src/bin/eolian/headers.c
@@ -168,7 +168,7 @@ _gen_func(const Eolian_State *state, const Eolian_Function *fid,
168 eina_strbuf_append(buf, "void"); 168 eina_strbuf_append(buf, "void");
169 169
170 eina_strbuf_append(buf, ")"); 170 eina_strbuf_append(buf, ")");
171 if (!eolian_function_return_allow_unused(fid, ftype)) 171 if (!eolian_function_return_allow_unused(fid, ftype) || return_move)
172 { 172 {
173 if (!flagbuf) 173 if (!flagbuf)
174 flagbuf = eina_strbuf_new(); 174 flagbuf = eina_strbuf_new();
diff --git a/src/bin/eolian_cxx/eolian_cxx.cc b/src/bin/eolian_cxx/eolian_cxx.cc
index 636d1eb..a625627 100644
--- a/src/bin/eolian_cxx/eolian_cxx.cc
+++ b/src/bin/eolian_cxx/eolian_cxx.cc
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1 16
2#include <iostream> 17#include <iostream>
3#include <fstream> 18#include <fstream>
diff --git a/src/bin/eolian_mono/eolian/mono/alias_definition.hh b/src/bin/eolian_mono/eolian/mono/alias_definition.hh
index 5d275a3..7f3f258 100644
--- a/src/bin/eolian_mono/eolian/mono/alias_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/alias_definition.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_ALIAS_DEFINITION_HH 16#ifndef EOLIAN_MONO_ALIAS_DEFINITION_HH
2#define EOLIAN_MONO_ALIAS_DEFINITION_HH 17#define EOLIAN_MONO_ALIAS_DEFINITION_HH
3 18
@@ -63,6 +78,21 @@ struct alias_definition_generator
63 << scope_tab << "{\n" 78 << scope_tab << "{\n"
64 << scope_tab << scope_tab << "return value.payload;\n" 79 << scope_tab << scope_tab << "return value.payload;\n"
65 << scope_tab << "}\n" 80 << scope_tab << "}\n"
81
82 << scope_tab << "/// <summary>Converts an instance of " << alias_type_doc << " to this struct.</summary>\n"
83 << scope_tab << "/// <param name=\"value\">The value to be converted.</param>\n"
84 << scope_tab << "/// <returns>A struct with the given value.</returns>\n"
85 << scope_tab << "public static " << alias_name << " From" << name_helpers::translate_value_type(alias_type) << "(" << alias_type << " value)\n"
86 << scope_tab << "{\n"
87 << scope_tab << scope_tab << "return value;\n"
88 << scope_tab << "}\n\n"
89
90 << scope_tab << "/// <summary>Converts an instance of this struct to " << alias_type_doc << ".</summary>\n"
91 << scope_tab << "/// <returns>The actual value the alias is wrapping.</returns>\n"
92 << scope_tab << "public " << alias_type << " To" << name_helpers::translate_value_type(alias_type) << "()\n"
93 << scope_tab << "{\n"
94 << scope_tab << scope_tab << "return this;\n"
95 << scope_tab << "}\n"
66 << "}\n" 96 << "}\n"
67 ).generate(sink, alias, context)) 97 ).generate(sink, alias, context))
68 return false; 98 return false;
diff --git a/src/bin/eolian_mono/eolian/mono/async_function_definition.hh b/src/bin/eolian_mono/eolian/mono/async_function_definition.hh
index 8ca3c5c..bf00dda 100644
--- a/src/bin/eolian_mono/eolian/mono/async_function_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/async_function_definition.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_ASYNC_FUNCTION_DEFINITION_HH 16#ifndef EOLIAN_MONO_ASYNC_FUNCTION_DEFINITION_HH
2#define EOLIAN_MONO_ASYNC_FUNCTION_DEFINITION_HH 17#define EOLIAN_MONO_ASYNC_FUNCTION_DEFINITION_HH
3 18
@@ -80,7 +95,7 @@ struct async_function_declaration_generator
80 if (!as_generator( 95 if (!as_generator(
81 scope_tab << "/// <param name=\"token\">Token to notify the async operation of external request to cancel.</param>\n" 96 scope_tab << "/// <param name=\"token\">Token to notify the async operation of external request to cancel.</param>\n"
82 << scope_tab << "/// <returns>An async task wrapping the result of the operation.</returns>\n" 97 << scope_tab << "/// <returns>An async task wrapping the result of the operation.</returns>\n"
83 << scope_tab << "System.Threading.Tasks.Task<Eina.Value> " << name_helpers::managed_async_method_name(f) << "(" << *(parameter << ",") << 98 << scope_tab << "System.Threading.Tasks.Task<Eina.Value> " << name_helpers::managed_async_method_name(f) << "(" << *(parameter << ", ") <<
84 " System.Threading.CancellationToken token = default(System.Threading.CancellationToken));\n\n" 99 " System.Threading.CancellationToken token = default(System.Threading.CancellationToken));\n\n"
85 ).generate(sink, f.parameters, context)) 100 ).generate(sink, f.parameters, context))
86 return false; 101 return false;
@@ -138,9 +153,9 @@ struct async_function_definition_generator
138 if(!as_generator( 153 if(!as_generator(
139 scope_tab << "/// <param name=\"token\">Token to notify the async operation of external request to cancel.</param>\n" 154 scope_tab << "/// <param name=\"token\">Token to notify the async operation of external request to cancel.</param>\n"
140 << scope_tab << "/// <returns>An async task wrapping the result of the operation.</returns>\n" 155 << scope_tab << "/// <returns>An async task wrapping the result of the operation.</returns>\n"
141 << scope_tab << "public System.Threading.Tasks.Task<Eina.Value> " << name_helpers::managed_async_method_name(f) << "(" << *(parameter << ",") << " System.Threading.CancellationToken token = default(System.Threading.CancellationToken))\n" 156 << scope_tab << "public System.Threading.Tasks.Task<Eina.Value> " << name_helpers::managed_async_method_name(f) << "(" << *(parameter << ", ") << " System.Threading.CancellationToken token = default(System.Threading.CancellationToken))\n"
142 << scope_tab << "{\n" 157 << scope_tab << "{\n"
143 << scope_tab << scope_tab << "Eina.Future future = " << name_helpers::managed_method_name(f) << "(" << (string % ",") << ");\n" 158 << scope_tab << scope_tab << "Eina.Future future = " << name_helpers::managed_method_name(f) << "(" << (string % ", ") << ");\n"
144 << scope_tab << scope_tab << "return Efl.Eo.Globals.WrapAsync(future, token);\n" 159 << scope_tab << scope_tab << "return Efl.Eo.Globals.WrapAsync(future, token);\n"
145 << scope_tab << "}\n\n" 160 << scope_tab << "}\n\n"
146 ).generate(sink, std::make_tuple(f.parameters, param_forwarding), context)) 161 ).generate(sink, std::make_tuple(f.parameters, param_forwarding), context))
diff --git a/src/bin/eolian_mono/eolian/mono/blacklist.hh b/src/bin/eolian_mono/eolian/mono/blacklist.hh
index 49cded5..07c365f 100644
--- a/src/bin/eolian_mono/eolian/mono/blacklist.hh
+++ b/src/bin/eolian_mono/eolian/mono/blacklist.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_BLACKLIST_HH 16#ifndef EOLIAN_MONO_BLACKLIST_HH
2#define EOLIAN_MONO_BLACKLIST_HH 17#define EOLIAN_MONO_BLACKLIST_HH
3 18
@@ -49,6 +64,12 @@ inline bool is_function_blacklisted(std::string const& c_name)
49 || c_name == "efl_ui_list_model_size_get" 64 || c_name == "efl_ui_list_model_size_get"
50 || c_name == "efl_ui_list_relayout_layout_do" 65 || c_name == "efl_ui_list_relayout_layout_do"
51 || c_name == "efl_event_callback_forwarder_priority_add" // Depends on constants support. 66 || c_name == "efl_event_callback_forwarder_priority_add" // Depends on constants support.
67 || c_name == "efl_event_callback_forwarder_del"
68 || c_name == "efl_ui_text_context_menu_item_add"
69 || c_name == "efl_ui_widget_input_event_handler"
70 || c_name == "efl_access_object_event_handler_add"
71 || c_name == "efl_access_object_event_handler_del"
72 || c_name == "efl_access_object_event_emit"
52 ; 73 ;
53} 74}
54 75
diff --git a/src/bin/eolian_mono/eolian/mono/documentation.hh b/src/bin/eolian_mono/eolian/mono/documentation.hh
index 7bcdfc5..b57dc4a 100644
--- a/src/bin/eolian_mono/eolian/mono/documentation.hh
+++ b/src/bin/eolian_mono/eolian/mono/documentation.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_DOCUMENTATION_HPP 16#ifndef EOLIAN_MONO_DOCUMENTATION_HPP
2#define EOLIAN_MONO_DOCUMENTATION_HPP 17#define EOLIAN_MONO_DOCUMENTATION_HPP
3 18
@@ -70,7 +85,7 @@ struct documentation_generator
70 const char* eo_name = ::eolian_function_name_get(function); 85 const char* eo_name = ::eolian_function_name_get(function);
71 std::string name = object_ref_conversion(klass); 86 std::string name = object_ref_conversion(klass);
72 87
73 // Klass is needed to check the property naming rulles 88 // Klass is needed to check the property naming rules
74 attributes::klass_def klass_d((const ::Eolian_Class *)klass, eolian_object_unit_get(klass)); 89 attributes::klass_def klass_d((const ::Eolian_Class *)klass, eolian_object_unit_get(klass));
75 90
76 // Comment the block below to enable @see reference conversion for non-public interface members. 91 // Comment the block below to enable @see reference conversion for non-public interface members.
diff --git a/src/bin/eolian_mono/eolian/mono/enum_definition.hh b/src/bin/eolian_mono/eolian/mono/enum_definition.hh
index 96595d3..76bad3b 100644
--- a/src/bin/eolian_mono/eolian/mono/enum_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/enum_definition.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_ENUM_DEFINITION_HH 16#ifndef EOLIAN_MONO_ENUM_DEFINITION_HH
2#define EOLIAN_MONO_ENUM_DEFINITION_HH 17#define EOLIAN_MONO_ENUM_DEFINITION_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/events.hh b/src/bin/eolian_mono/eolian/mono/events.hh
index 5ca6b1b..abd5368 100644
--- a/src/bin/eolian_mono/eolian/mono/events.hh
+++ b/src/bin/eolian_mono/eolian/mono/events.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_EVENTS_HH 16#ifndef EOLIAN_MONO_EVENTS_HH
2#define EOLIAN_MONO_EVENTS_HH 17#define EOLIAN_MONO_EVENTS_HH
3 18
@@ -22,7 +37,7 @@ struct unpack_event_args_visitor
22 typedef bool result_type; 37 typedef bool result_type;
23 bool operator()(grammar::attributes::regular_type_def const& regular) const 38 bool operator()(grammar::attributes::regular_type_def const& regular) const
24 { 39 {
25 std::string const& arg = "evt.Info"; 40 std::string const& arg = "info";
26 std::string arg_type = name_helpers::type_full_managed_name(regular); 41 std::string arg_type = name_helpers::type_full_managed_name(regular);
27 42
28 if (regular.is_struct()) 43 if (regular.is_struct())
@@ -30,7 +45,7 @@ struct unpack_event_args_visitor
30 // Structs are usually passed by pointer to events, like having a ptr<> modifier 45 // Structs are usually passed by pointer to events, like having a ptr<> modifier
31 // Uses implicit conversion from IntPtr 46 // Uses implicit conversion from IntPtr
32 return as_generator( 47 return as_generator(
33 " evt.Info" 48 " info"
34 ).generate(sink, attributes::unused, *context); 49 ).generate(sink, attributes::unused, *context);
35 } 50 }
36 else if (type.is_ptr) 51 else if (type.is_ptr)
@@ -106,17 +121,17 @@ struct unpack_event_args_visitor
106 // Type defined in Eo is passed here. (e.g. enum type defined in Eo) 121 // Type defined in Eo is passed here. (e.g. enum type defined in Eo)
107 // Uses conversion from IntPtr with type casting to the given type. 122 // Uses conversion from IntPtr with type casting to the given type.
108 return as_generator( 123 return as_generator(
109 " (" << arg_type << ")evt.Info" 124 " (" << arg_type << ")info"
110 ).generate(sink, attributes::unused, *context); 125 ).generate(sink, attributes::unused, *context);
111 } 126 }
112 } 127 }
113 bool operator()(grammar::attributes::klass_name const& cls) const 128 bool operator()(grammar::attributes::klass_name const& cls) const
114 { 129 {
115 return as_generator("(Efl.Eo.Globals.CreateWrapperFor(evt.Info) as " + name_helpers::klass_full_concrete_name(cls) + ")").generate(sink, attributes::unused, *context); 130 return as_generator("(Efl.Eo.Globals.CreateWrapperFor(info) as " + name_helpers::klass_full_concrete_name(cls) + ")").generate(sink, attributes::unused, *context);
116 } 131 }
117 bool operator()(attributes::complex_type_def const&) const 132 bool operator()(attributes::complex_type_def const&) const
118 { 133 {
119 return as_generator("new " << eolian_mono::type << "(evt.Info, false, false)").generate(sink, type, *context); 134 return as_generator("new " << eolian_mono::type << "(info, false, false)").generate(sink, type, *context);
120 } 135 }
121}; 136};
122 137
@@ -396,8 +411,8 @@ struct event_definition_generator
396 411
397 auto sub_context = change_indentation(indent.inc().inc(), context); 412 auto sub_context = change_indentation(indent.inc().inc(), context);
398 413
399 if (!as_generator(wrapper_args_type << " args = new " << wrapper_args_type << "();\n" 414 if (!as_generator(", info => new " << wrapper_args_type << "{ "
400 << scope_tab(6) << "args.arg = ").generate(arg_initializer_sink, attributes::unused, context)) 415 << "arg = ").generate(arg_initializer_sink, attributes::unused, context))
401 return false; 416 return false;
402 if (!(*etype).original_type.visit(unpack_event_args_visitor<decltype(arg_initializer_sink), decltype(sub_context)>{arg_initializer_sink, &sub_context, *etype})) 417 if (!(*etype).original_type.visit(unpack_event_args_visitor<decltype(arg_initializer_sink), decltype(sub_context)>{arg_initializer_sink, &sub_context, *etype}))
403 return false; 418 return false;
@@ -405,7 +420,7 @@ struct event_definition_generator
405 if (!(*etype).original_type.visit(pack_event_info_and_call_visitor<decltype(event_call_site_sink), decltype(sub_context)>{event_call_site_sink, &sub_context, *etype})) 420 if (!(*etype).original_type.visit(pack_event_info_and_call_visitor<decltype(event_call_site_sink), decltype(sub_context)>{event_call_site_sink, &sub_context, *etype}))
406 return false; 421 return false;
407 422
408 arg_initializer += ";\n"; 423 arg_initializer += " }";
409 424
410 event_args = arg_initializer; 425 event_args = arg_initializer;
411 } 426 }
@@ -459,6 +474,7 @@ struct event_definition_generator
459 { 474 {
460 auto library_name = context_find_tag<library_context>(context).actual_library_name(klass.filename); 475 auto library_name = context_find_tag<library_context>(context).actual_library_name(klass.filename);
461 std::string upper_c_name = utils::to_uppercase(evt.c_name); 476 std::string upper_c_name = utils::to_uppercase(evt.c_name);
477 bool is_concrete = context_find_tag<class_context>(context).current_wrapper_kind == class_context::concrete;
462 478
463 if (!as_generator( 479 if (!as_generator(
464 scope_tab << "/// <summary>Method to raise event "<< event_name << ".\n" 480 scope_tab << "/// <summary>Method to raise event "<< event_name << ".\n"
@@ -495,7 +511,7 @@ struct event_definition_generator
495 if (!as_generator( 511 if (!as_generator(
496 scope_tab << "/// </summary>\n" 512 scope_tab << "/// </summary>\n"
497 << scope_tab << "/// <param name=\"e\">Event to raise.</param>\n" 513 << scope_tab << "/// <param name=\"e\">Event to raise.</param>\n"
498 << scope_tab << "public void On" << event_name << "(" << event_args_type << " e)\n" 514 << scope_tab << (is_concrete ? "public" : "protected virtual") << " void On" << event_name << "(" << event_args_type << " e)\n"
499 << scope_tab << "{\n" 515 << scope_tab << "{\n"
500 << scope_tab << scope_tab << "var key = \"_" << upper_c_name << "\";\n" 516 << scope_tab << scope_tab << "var key = \"_" << upper_c_name << "\";\n"
501 << scope_tab << scope_tab << "IntPtr desc = Efl.EventDescription.GetNative(" << library_name << ", key);\n" 517 << scope_tab << scope_tab << "IntPtr desc = Efl.EventDescription.GetNative(" << library_name << ", key);\n"
@@ -525,24 +541,9 @@ struct event_definition_generator
525 return as_generator( 541 return as_generator(
526 scope_tab << "{\n" 542 scope_tab << "{\n"
527 << scope_tab << scope_tab << "add\n" 543 << scope_tab << scope_tab << "add\n"
528 << scope_tab << scope_tab << "{\n" 544 << scope_tab << scope_tab << "{\n"//evt.type.is_engaged()
529 << scope_tab << scope_tab << scope_tab << "Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>\n" 545 << scope_tab << scope_tab << scope_tab << "Efl.EventCb callerCb = GetInternalEventCallback(value"
530 << scope_tab << scope_tab << scope_tab << "{\n" 546 << (evt.type.is_engaged() ? event_args : "") << ");\n"
531 << scope_tab << scope_tab << scope_tab << scope_tab << "var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;\n"
532 << scope_tab << scope_tab << scope_tab << scope_tab << "if (obj != null)\n"
533 << scope_tab << scope_tab << scope_tab << scope_tab << "{\n"
534 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << event_args
535 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "try\n"
536 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "{\n"
537 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "value?.Invoke(obj, args);\n"
538 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "}\n"
539 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "catch (Exception e)\n"
540 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "{\n"
541 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Error(e.ToString());\n"
542 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);\n"
543 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "}\n"
544 << scope_tab << scope_tab << scope_tab << scope_tab << "}\n"
545 << scope_tab << scope_tab << scope_tab << "};\n\n"
546 << scope_tab << scope_tab << scope_tab << "string key = \"_" << upper_c_name << "\";\n" 547 << scope_tab << scope_tab << scope_tab << "string key = \"_" << upper_c_name << "\";\n"
547 << scope_tab << scope_tab << scope_tab << "AddNativeEventHandler(" << library_name << ", key, callerCb, value);\n" 548 << scope_tab << scope_tab << scope_tab << "AddNativeEventHandler(" << library_name << ", key, callerCb, value);\n"
548 << scope_tab << scope_tab << "}\n\n" 549 << scope_tab << scope_tab << "}\n\n"
diff --git a/src/bin/eolian_mono/eolian/mono/function_declaration.hh b/src/bin/eolian_mono/eolian/mono/function_declaration.hh
index 734700c..b71ffb1 100644
--- a/src/bin/eolian_mono/eolian/mono/function_declaration.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_declaration.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_FUNCTION_DECLARATION_HH 16#ifndef EOLIAN_MONO_FUNCTION_DECLARATION_HH
2#define EOLIAN_MONO_FUNCTION_DECLARATION_HH 17#define EOLIAN_MONO_FUNCTION_DECLARATION_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh b/src/bin/eolian_mono/eolian/mono/function_definition.hh
index d17ac56..cded973 100644
--- a/src/bin/eolian_mono/eolian/mono/function_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_FUNCTION_DEFINITION_HH 16#ifndef EOLIAN_MONO_FUNCTION_DEFINITION_HH
2#define EOLIAN_MONO_FUNCTION_DEFINITION_HH 17#define EOLIAN_MONO_FUNCTION_DEFINITION_HH
3 18
@@ -61,7 +76,7 @@ struct native_function_definition_generator
61 if(!as_generator 76 if(!as_generator
62 ( 77 (
63 indent << eolian_mono::marshall_annotation(true) << "\n" 78 indent << eolian_mono::marshall_annotation(true) << "\n"
64 << indent << "public delegate " 79 << indent << "internal delegate "
65 << eolian_mono::marshall_type(true) 80 << eolian_mono::marshall_type(true)
66 << " " 81 << " "
67 << string << "_api_delegate(" << (f.is_static ? "" : "System.IntPtr obj") 82 << string << "_api_delegate(" << (f.is_static ? "" : "System.IntPtr obj")
@@ -76,7 +91,7 @@ struct native_function_definition_generator
76 91
77 // Delegate holder (so it can't be collected). 92 // Delegate holder (so it can't be collected).
78 if(!as_generator 93 if(!as_generator
79 (indent << "public static readonly Efl.Eo.FunctionWrapper<" << string << "_api_delegate> " << string << "_ptr = new Efl.Eo.FunctionWrapper<" 94 (indent << "internal static readonly Efl.Eo.FunctionWrapper<" << string << "_api_delegate> " << string << "_ptr = new Efl.Eo.FunctionWrapper<"
80 << string << "_api_delegate>(Module, \"" << string << "\");\n\n") 95 << string << "_api_delegate>(Module, \"" << string << "\");\n\n")
81 .generate(sink, std::make_tuple(f.c_name, f.c_name, f.c_name, f.c_name), context)) 96 .generate(sink, std::make_tuple(f.c_name, f.c_name, f.c_name, f.c_name), context))
82 return false; 97 return false;
@@ -108,7 +123,8 @@ struct native_function_definition_generator
108 self = ""; 123 self = "";
109 124
110 if(!as_generator 125 if(!as_generator
111 (indent << "private static " 126 (indent << "[SuppressMessage(\"Microsoft.Reliability\", \"CA2000:DisposeObjectsBeforeLosingScope\", Justification = \"The instantiated objects can be stored in the called Managed API method.\")]\n"
127 << indent << "private static "
112 << eolian_mono::marshall_type(true) << " " 128 << eolian_mono::marshall_type(true) << " "
113 << string 129 << string
114 << "(System.IntPtr obj, System.IntPtr pd" 130 << "(System.IntPtr obj, System.IntPtr pd"
@@ -208,7 +224,7 @@ struct function_definition_generator
208 << scope_tab(2) << eolian_mono::function_definition_preamble() 224 << scope_tab(2) << eolian_mono::function_definition_preamble()
209 << klass_full_native_inherit_name(f.klass) << "." << string << "_ptr.Value.Delegate(" 225 << klass_full_native_inherit_name(f.klass) << "." << string << "_ptr.Value.Delegate("
210 << self 226 << self
211 << ((!f.is_static && (f.parameters.size() > 0)) ? "," : "") 227 << ((!f.is_static && (f.parameters.size() > 0)) ? ", " : "")
212 << (argument_invocation % ", ") << ");\n" 228 << (argument_invocation % ", ") << ");\n"
213 << scope_tab(2) << eolian_mono::function_definition_epilogue() 229 << scope_tab(2) << eolian_mono::function_definition_epilogue()
214 << scope_tab(1) << "}\n\n") 230 << scope_tab(1) << "}\n\n")
@@ -482,8 +498,8 @@ struct property_wrapper_definition_generator
482 << argument(false) << " = default(" << type(true) << ");\n" 498 << argument(false) << " = default(" << type(true) << ");\n"
483 ) 499 )
484 << scope_tab(3) << name_helpers::managed_method_name(*property.getter) 500 << scope_tab(3) << name_helpers::managed_method_name(*property.getter)
485 << "(" << (("out _out_" << argument(false)) % ",") << ");\n" 501 << "(" << (("out _out_" << argument(false)) % ", ") << ");\n"
486 << scope_tab(3) << "return (" << (("_out_"<< argument(false)) % ",") << ");\n" 502 << scope_tab(3) << "return (" << (("_out_"<< argument(false)) % ", ") << ");\n"
487 << scope_tab(2) << "}" << "\n" 503 << scope_tab(2) << "}" << "\n"
488 ).generate(sink, std::make_tuple(parameters, parameters, parameters), context)) 504 ).generate(sink, std::make_tuple(parameters, parameters, parameters), context))
489 return false; 505 return false;
diff --git a/src/bin/eolian_mono/eolian/mono/function_helpers.hh b/src/bin/eolian_mono/eolian/mono/function_helpers.hh
index 26146f7..4b9447f 100644
--- a/src/bin/eolian_mono/eolian/mono/function_helpers.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_helpers.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_FUNCTION_DEFINITION_HELPERS_HH 16#ifndef EOLIAN_MONO_FUNCTION_DEFINITION_HELPERS_HH
2#define EOLIAN_MONO_FUNCTION_DEFINITION_HELPERS_HH 17#define EOLIAN_MONO_FUNCTION_DEFINITION_HELPERS_HH
3 18
@@ -172,6 +187,11 @@ inline std::string function_scope_get(attributes::function_def const& f)
172 case attributes::member_scope::scope_private: 187 case attributes::member_scope::scope_private:
173 return "private "; 188 return "private ";
174 case attributes::member_scope::scope_protected: 189 case attributes::member_scope::scope_protected:
190 // Efl.Part.part.get is protected in C to force developers to use `efl_part`.
191 // There is no such restriction in C# as the binding takes care of the returned
192 // object lifetime.
193 if (f.c_name == "efl_part_get")
194 return "public ";
175 return "protected "; 195 return "protected ";
176 case attributes::member_scope::scope_unknown: 196 case attributes::member_scope::scope_unknown:
177 // This should trigger a compilation error 197 // This should trigger a compilation error
diff --git a/src/bin/eolian_mono/eolian/mono/function_pointer.hh b/src/bin/eolian_mono/eolian/mono/function_pointer.hh
index 721368f..3b50403 100644
--- a/src/bin/eolian_mono/eolian/mono/function_pointer.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_pointer.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_FUNCTION_POINTER_HPP 16#ifndef EOLIAN_MONO_FUNCTION_POINTER_HPP
2#define EOLIAN_MONO_FUNCTION_POINTER_HPP 17#define EOLIAN_MONO_FUNCTION_POINTER_HPP
3 18
@@ -51,19 +66,19 @@ struct function_pointer {
51 return false; 66 return false;
52 // "Internal" delegate, 1-to-1 with the Unamaged function type 67 // "Internal" delegate, 1-to-1 with the Unamaged function type
53 if (!as_generator(marshall_annotation(true) 68 if (!as_generator(marshall_annotation(true)
54 << "public delegate " << marshall_type(true) << " " << string // public? 69 << "internal delegate " << marshall_type(true) << " " << string // public?
55 << "Internal(IntPtr data" << *grammar::attribute_reorder<-1, -1>((", " << marshall_annotation << " " << marshall_parameter)) << ");\n") 70 << "Internal(IntPtr data" << *grammar::attribute_reorder<-1, -1>((", " << marshall_annotation << " " << marshall_parameter)) << ");\n")
56 .generate(sink, std::make_tuple(f.return_type, f.return_type, f_name, f.parameters), funcptr_ctx)) 71 .generate(sink, std::make_tuple(f.return_type, f.return_type, f_name, f.parameters), funcptr_ctx))
57 return false; 72 return false;
58 73
59 // Wrapper type, with callback matching the Unamanaged one 74 // Wrapper type, with callback matching the Unamanaged one
60 if (!as_generator("internal class " << f_name << "Wrapper : IDisposable\n" 75 if (!as_generator("internal class " << f_name << "Wrapper\n"
61 << "{\n\n" 76 << "{\n\n"
62 << scope_tab << "private " << f_name << "Internal _cb;\n" 77 << scope_tab << "private " << f_name << "Internal _cb;\n"
63 << scope_tab << "private IntPtr _cb_data;\n" 78 << scope_tab << "private IntPtr _cb_data;\n"
64 << scope_tab << "private EinaFreeCb _cb_free_cb;\n\n" 79 << scope_tab << "private Eina.Callbacks.EinaFreeCb _cb_free_cb;\n\n"
65 80
66 << scope_tab << "internal " << f_name << "Wrapper (" << f_name << "Internal _cb, IntPtr _cb_data, EinaFreeCb _cb_free_cb)\n" 81 << scope_tab << "internal " << f_name << "Wrapper (" << f_name << "Internal _cb, IntPtr _cb_data, Eina.Callbacks.EinaFreeCb _cb_free_cb)\n"
67 << scope_tab << "{\n" 82 << scope_tab << "{\n"
68 << scope_tab << scope_tab << "this._cb = _cb;\n" 83 << scope_tab << scope_tab << "this._cb = _cb;\n"
69 << scope_tab << scope_tab << "this._cb_data = _cb_data;\n" 84 << scope_tab << scope_tab << "this._cb_data = _cb_data;\n"
@@ -72,34 +87,13 @@ struct function_pointer {
72 87
73 << scope_tab << "~" << f_name << "Wrapper()\n" 88 << scope_tab << "~" << f_name << "Wrapper()\n"
74 << scope_tab << "{\n" 89 << scope_tab << "{\n"
75 << scope_tab << scope_tab << "Dispose(false);\n"
76 << scope_tab << "}\n\n"
77
78 << scope_tab << "protected virtual void Dispose(bool disposing)\n"
79 << scope_tab << "{\n"
80 << scope_tab << scope_tab << "if (this._cb_free_cb != null)\n" 90 << scope_tab << scope_tab << "if (this._cb_free_cb != null)\n"
81 << scope_tab << scope_tab << "{\n" 91 << scope_tab << scope_tab << "{\n"
82 << scope_tab << scope_tab << scope_tab << "if (disposing)\n" 92 << scope_tab << scope_tab << scope_tab << "Efl.Eo.Globals.ThreadSafeFreeCbExec(this._cb_free_cb, this._cb_data);\n"
83 << scope_tab << scope_tab << scope_tab << "{\n"
84 << scope_tab << scope_tab << scope_tab << scope_tab << "this._cb_free_cb(this._cb_data);\n"
85 << scope_tab << scope_tab << scope_tab << "}\n"
86 << scope_tab << scope_tab << scope_tab << "else\n"
87 << scope_tab << scope_tab << scope_tab << "{\n"
88 << scope_tab << scope_tab << scope_tab << scope_tab << "Efl.Eo.Globals.ThreadSafeFreeCbExec(this._cb_free_cb, this._cb_data);\n"
89 << scope_tab << scope_tab << scope_tab << "}\n"
90 << scope_tab << scope_tab << scope_tab << "this._cb_free_cb = null;\n"
91 << scope_tab << scope_tab << scope_tab << "this._cb_data = IntPtr.Zero;\n"
92 << scope_tab << scope_tab << scope_tab << "this._cb = null;\n"
93 << scope_tab << scope_tab << "}\n" 93 << scope_tab << scope_tab << "}\n"
94 << scope_tab << "}\n\n" 94 << scope_tab << "}\n\n"
95 95
96 << scope_tab << "public void Dispose()\n" 96 << scope_tab << "internal " << type << " ManagedCb(" << (parameter % ", ") << ")\n"
97 << scope_tab << "{\n"
98 << scope_tab << scope_tab << "Dispose(true);\n"
99 << scope_tab << scope_tab << "GC.SuppressFinalize(this);\n"
100 << scope_tab << "}\n\n"
101
102 << scope_tab << "internal " << type << " ManagedCb(" << (parameter % ",") << ")\n"
103 << scope_tab << "{\n" 97 << scope_tab << "{\n"
104 << function_definition_preamble << "_cb(_cb_data, " << (argument_invocation % ", ") << ");\n" 98 << function_definition_preamble << "_cb(_cb_data, " << (argument_invocation % ", ") << ");\n"
105 << function_definition_epilogue 99 << function_definition_epilogue
diff --git a/src/bin/eolian_mono/eolian/mono/function_registration.hh b/src/bin/eolian_mono/eolian/mono/function_registration.hh
index cdcb903..bef9e21 100644
--- a/src/bin/eolian_mono/eolian/mono/function_registration.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_registration.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_FUNCTION_REGISTRATION_HH 16#ifndef EOLIAN_MONO_FUNCTION_REGISTRATION_HH
2#define EOLIAN_MONO_FUNCTION_REGISTRATION_HH 17#define EOLIAN_MONO_FUNCTION_REGISTRATION_HH
3 18
@@ -49,7 +64,7 @@ struct function_registration_generator
49 return false; 64 return false;
50 65
51 if(!as_generator( 66 if(!as_generator(
52 indent << "if (methods.FirstOrDefault(m => m.Name == \"" << string << "\") != null)\n" 67 indent << "if (methods.Contains(\"" << string << "\"))\n"
53 << indent << "{\n" 68 << indent << "{\n"
54 << indent << scope_tab << "descs.Add(new EflOpDescription() {" 69 << indent << scope_tab << "descs.Add(new EflOpDescription() {"
55#ifdef _WIN32 70#ifdef _WIN32
diff --git a/src/bin/eolian_mono/eolian/mono/generation_contexts.hh b/src/bin/eolian_mono/eolian/mono/generation_contexts.hh
index 985e373..4620769 100644
--- a/src/bin/eolian_mono/eolian/mono/generation_contexts.hh
+++ b/src/bin/eolian_mono/eolian/mono/generation_contexts.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_GENERATION_CONTEXTS_HH 16#ifndef EOLIAN_MONO_GENERATION_CONTEXTS_HH
2#define EOLIAN_MONO_GENERATION_CONTEXTS_HH 17#define EOLIAN_MONO_GENERATION_CONTEXTS_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/helpers.hh b/src/bin/eolian_mono/eolian/mono/helpers.hh
index 5c1db6d..b34a985 100644
--- a/src/bin/eolian_mono/eolian/mono/helpers.hh
+++ b/src/bin/eolian_mono/eolian/mono/helpers.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_HELPERS_HH 16#ifndef EOLIAN_MONO_HELPERS_HH
2#define EOLIAN_MONO_HELPERS_HH 17#define EOLIAN_MONO_HELPERS_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/klass.hh b/src/bin/eolian_mono/eolian/mono/klass.hh
index 65645d3..81d5956 100644
--- a/src/bin/eolian_mono/eolian/mono/klass.hh
+++ b/src/bin/eolian_mono/eolian/mono/klass.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_CLASS_DEFINITION_HPP 16#ifndef EOLIAN_MONO_CLASS_DEFINITION_HPP
2#define EOLIAN_MONO_CLASS_DEFINITION_HPP 17#define EOLIAN_MONO_CLASS_DEFINITION_HPP
3 18
@@ -117,7 +132,7 @@ struct klass
117 continue; 132 continue;
118 133
119 if(first->type != attributes::class_type::regular && first->type != attributes::class_type::abstract_) 134 if(first->type != attributes::class_type::regular && first->type != attributes::class_type::abstract_)
120 if(!as_generator("\n" << scope_tab << string << " ,").generate(sink, name_helpers::klass_full_interface_name(*first), iface_cxt)) 135 if(!as_generator("\n" << scope_tab << string << ",").generate(sink, name_helpers::klass_full_interface_name(*first), iface_cxt))
121 return false; 136 return false;
122 } 137 }
123 138
@@ -187,9 +202,9 @@ struct klass
187 ( 202 (
188 documentation 203 documentation
189 << "public sealed " << (is_partial ? "partial ":"") << "class " << concrete_name << " :\n" 204 << "public sealed " << (is_partial ? "partial ":"") << "class " << concrete_name << " :\n"
190 << scope_tab << (root ? "Efl.Eo.EoWrapper" : "") << (klass_full_concrete_or_interface_name % "") << "\n" 205 << scope_tab << (root ? "Efl.Eo.EoWrapper" : "") << (klass_full_concrete_or_interface_name % "")
191 << scope_tab << ", " << interface_name << "\n" 206 << ",\n" << scope_tab << interface_name
192 << scope_tab << *(", " << name_helpers::klass_full_concrete_or_interface_name) << "\n" 207 << *(",\n" << scope_tab << name_helpers::klass_full_concrete_or_interface_name) << "\n"
193 << "{\n" 208 << "{\n"
194 ).generate(sink, std::make_tuple(cls, inherit_classes, inherit_interfaces), concrete_cxt)) 209 ).generate(sink, std::make_tuple(cls, inherit_classes, inherit_interfaces), concrete_cxt))
195 return false; 210 return false;
@@ -217,7 +232,7 @@ struct klass
217 << scope_tab << "/// <summary>Initializes a new instance of the <see cref=\"" << interface_name << "\"/> class.\n" 232 << scope_tab << "/// <summary>Initializes a new instance of the <see cref=\"" << interface_name << "\"/> class.\n"
218 << scope_tab << "/// Internal usage: This is used when interacting with C code and should not be used directly.</summary>\n" 233 << scope_tab << "/// Internal usage: This is used when interacting with C code and should not be used directly.</summary>\n"
219 << scope_tab << "/// <param name=\"wh\">The native pointer to be wrapped.</param>\n" 234 << scope_tab << "/// <param name=\"wh\">The native pointer to be wrapped.</param>\n"
220 << scope_tab << "private " << concrete_name << "(Efl.Eo.Globals.WrappingHandle wh) : base(wh)\n" 235 << scope_tab << "private " << concrete_name << "(Efl.Eo.WrappingHandle wh) : base(wh)\n"
221 << scope_tab << "{\n" 236 << scope_tab << "{\n"
222 << scope_tab << "}\n\n" 237 << scope_tab << "}\n\n"
223 ) 238 )
@@ -407,7 +422,7 @@ struct klass
407 ( 422 (
408 indent << lit("/// <summary>Wrapper for native methods and virtual method delegates.\n") 423 indent << lit("/// <summary>Wrapper for native methods and virtual method delegates.\n")
409 << indent << "/// For internal use by generated code only.</summary>\n" 424 << indent << "/// For internal use by generated code only.</summary>\n"
410 << indent << "public new class " << native_inherit_name << " : " << (root ? "Efl.Eo.EoWrapper.NativeMethods" : base_name) << "\n" 425 << indent << "internal new class " << native_inherit_name << " : " << (root ? "Efl.Eo.EoWrapper.NativeMethods" : base_name) << "\n"
411 << indent << "{\n" 426 << indent << "{\n"
412 ).generate(sink, attributes::unused, inative_cxt)) 427 ).generate(sink, attributes::unused, inative_cxt))
413 return false; 428 return false;
@@ -424,7 +439,7 @@ struct klass
424 if(!as_generator( 439 if(!as_generator(
425 indent << scope_tab << "/// <summary>Gets the list of Eo operations to override.</summary>\n" 440 indent << scope_tab << "/// <summary>Gets the list of Eo operations to override.</summary>\n"
426 << indent << scope_tab << "/// <returns>The list of Eo operations to be overload.</returns>\n" 441 << indent << scope_tab << "/// <returns>The list of Eo operations to be overload.</returns>\n"
427 << indent << scope_tab << "public override System.Collections.Generic.List<EflOpDescription> GetEoOps(System.Type type, bool includeInherited)\n" 442 << indent << scope_tab << "internal override System.Collections.Generic.List<EflOpDescription> GetEoOps(System.Type type, bool includeInherited)\n"
428 << indent << scope_tab << "{\n" 443 << indent << scope_tab << "{\n"
429 << indent << scope_tab << scope_tab << "var descs = new System.Collections.Generic.List<EflOpDescription>();\n" 444 << indent << scope_tab << scope_tab << "var descs = new System.Collections.Generic.List<EflOpDescription>();\n"
430 ) 445 )
@@ -474,7 +489,7 @@ struct klass
474 if(!as_generator( 489 if(!as_generator(
475 indent << scope_tab << "/// <summary>Returns the Eo class for the native methods of this class.</summary>\n" 490 indent << scope_tab << "/// <summary>Returns the Eo class for the native methods of this class.</summary>\n"
476 << indent << scope_tab << "/// <returns>The native class pointer.</returns>\n" 491 << indent << scope_tab << "/// <returns>The native class pointer.</returns>\n"
477 << indent << scope_tab << "public override IntPtr GetEflClass()\n" 492 << indent << scope_tab << "internal override IntPtr GetEflClass()\n"
478 << indent << scope_tab << "{\n" 493 << indent << scope_tab << "{\n"
479 << indent << scope_tab << scope_tab << "return " << name_helpers::klass_get_full_name(cls) << "();\n" 494 << indent << scope_tab << scope_tab << "return " << name_helpers::klass_get_full_name(cls) << "();\n"
480 << indent << scope_tab << "}\n\n" 495 << indent << scope_tab << "}\n\n"
@@ -549,9 +564,9 @@ struct klass
549 << scope_tab << "/// <param name=\"parent\">Parent instance.</param>\n" 564 << scope_tab << "/// <param name=\"parent\">Parent instance.</param>\n"
550 << *(documentation) 565 << *(documentation)
551 // For constructors with arguments, the parent is also required, as optional parameters can't come before non-optional paramenters. 566 // For constructors with arguments, the parent is also required, as optional parameters can't come before non-optional paramenters.
552 << scope_tab << "public " << inherit_name << "(Efl.Object parent" << ((constructors.size() > 0) ? "" : "= null") << "\n" 567 << scope_tab << "public " << inherit_name << "(Efl.Object parent" << ((constructors.size() > 0) ? "" : "= null")
553 << scope_tab << scope_tab << scope_tab << *(", " << constructor_param ) << ") : " 568 << *(", " << constructor_param ) << ") : "
554 << "base(" << name_helpers::klass_get_name(cls) << "(), parent)\n" 569 << "base(" << name_helpers::klass_get_name(cls) << "(), parent)\n"
555 << scope_tab << "{\n" 570 << scope_tab << "{\n"
556 << (*(scope_tab << scope_tab << constructor_invocation << "\n")) 571 << (*(scope_tab << scope_tab << constructor_invocation << "\n"))
557 << scope_tab << scope_tab << "FinishInstantiation();\n" 572 << scope_tab << scope_tab << "FinishInstantiation();\n"
@@ -565,7 +580,7 @@ struct klass
565 << scope_tab << "/// <summary>Initializes a new instance of the <see cref=\"" << inherit_name << "\"/> class.\n" 580 << scope_tab << "/// <summary>Initializes a new instance of the <see cref=\"" << inherit_name << "\"/> class.\n"
566 << scope_tab << "/// Internal usage: Constructs an instance from a native pointer. This is used when interacting with C code and should not be used directly.</summary>\n" 581 << scope_tab << "/// Internal usage: Constructs an instance from a native pointer. This is used when interacting with C code and should not be used directly.</summary>\n"
567 << scope_tab << "/// <param name=\"wh\">The native pointer to be wrapped.</param>\n" 582 << scope_tab << "/// <param name=\"wh\">The native pointer to be wrapped.</param>\n"
568 << scope_tab << "protected " << inherit_name << "(Efl.Eo.Globals.WrappingHandle wh) : base(wh)\n" 583 << scope_tab << "internal " << inherit_name << "(Efl.Eo.WrappingHandle wh) : base(wh)\n"
569 << scope_tab << "{\n" 584 << scope_tab << "{\n"
570 << scope_tab << "}\n\n" 585 << scope_tab << "}\n\n"
571 ).generate(sink, std::make_tuple(constructors, constructors, constructors), context)) 586 ).generate(sink, std::make_tuple(constructors, constructors, constructors), context))
@@ -580,7 +595,7 @@ struct klass
580 scope_tab << "[Efl.Eo.PrivateNativeClass]\n" 595 scope_tab << "[Efl.Eo.PrivateNativeClass]\n"
581 << scope_tab << "private class " << inherit_name << "Realized : " << inherit_name << "\n" 596 << scope_tab << "private class " << inherit_name << "Realized : " << inherit_name << "\n"
582 << scope_tab << "{\n" 597 << scope_tab << "{\n"
583 << scope_tab << scope_tab << "private " << inherit_name << "Realized(Efl.Eo.Globals.WrappingHandle wh) : base(wh)\n" 598 << scope_tab << scope_tab << "private " << inherit_name << "Realized(Efl.Eo.WrappingHandle wh) : base(wh)\n"
584 << scope_tab << scope_tab << "{\n" 599 << scope_tab << scope_tab << "{\n"
585 << scope_tab << scope_tab << "}\n" 600 << scope_tab << scope_tab << "}\n"
586 << scope_tab << "}\n" 601 << scope_tab << "}\n"
diff --git a/src/bin/eolian_mono/eolian/mono/logging.hh b/src/bin/eolian_mono/eolian/mono/logging.hh
index d13c395..e5b297b 100644
--- a/src/bin/eolian_mono/eolian/mono/logging.hh
+++ b/src/bin/eolian_mono/eolian/mono/logging.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_LOGGING_HH 16#ifndef EOLIAN_MONO_LOGGING_HH
2#define EOLIAN_MONO_LOGGING_HH 17#define EOLIAN_MONO_LOGGING_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh b/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh
index 82bbd13..0811451 100644
--- a/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh
+++ b/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_MARSHALL_ANNOTATION_IMPL_HH 16#ifndef EOLIAN_MONO_MARSHALL_ANNOTATION_IMPL_HH
2#define EOLIAN_MONO_MARSHALL_ANNOTATION_IMPL_HH 17#define EOLIAN_MONO_MARSHALL_ANNOTATION_IMPL_HH
3 18
@@ -157,8 +172,8 @@ struct marshall_annotation_visitor_generate
157 name = "Efl.Eo.MarshalEflClass"; 172 name = "Efl.Eo.MarshalEflClass";
158 else 173 else
159 { 174 {
160 std::string own = klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag"; 175 std::string own = klass_name.base_qualifier & qualifier_info::is_own ? "Move" : "NoMove";
161 name = "Efl.Eo.MarshalEo<Efl.Eo." + own + ">"; 176 name = "Efl.Eo.MarshalEo" + own;
162 } 177 }
163 178
164 return as_generator( 179 return as_generator(
diff --git a/src/bin/eolian_mono/eolian/mono/marshall_type.hh b/src/bin/eolian_mono/eolian/mono/marshall_type.hh
index 2b05e63..c921431 100644
--- a/src/bin/eolian_mono/eolian/mono/marshall_type.hh
+++ b/src/bin/eolian_mono/eolian/mono/marshall_type.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_MARSHALL_TYPE_HH 16#ifndef EOLIAN_MONO_MARSHALL_TYPE_HH
2#define EOLIAN_MONO_MARSHALL_TYPE_HH 17#define EOLIAN_MONO_MARSHALL_TYPE_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh b/src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh
index 5ba68ab..69b4a9a 100644
--- a/src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh
+++ b/src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_MARSHALL_TYPE_IMPL_HH 16#ifndef EOLIAN_MONO_MARSHALL_TYPE_IMPL_HH
2#define EOLIAN_MONO_MARSHALL_TYPE_IMPL_HH 17#define EOLIAN_MONO_MARSHALL_TYPE_IMPL_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/name_helpers.hh b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
index df1405d..2f3026d 100644
--- a/src/bin/eolian_mono/eolian/mono/name_helpers.hh
+++ b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_NAME_HELPERS_HH 16#ifndef EOLIAN_MONO_NAME_HELPERS_HH
2#define EOLIAN_MONO_NAME_HELPERS_HH 17#define EOLIAN_MONO_NAME_HELPERS_HH
3 18
@@ -522,6 +537,32 @@ std::string constructor_managed_name(std::string full_name)
522 return managed_name(tokens.at(tokens.size()-1)); 537 return managed_name(tokens.at(tokens.size()-1));
523} 538}
524 539
540std::string translate_value_type(std::string const& name)
541{
542 static std::map<std::string, std::string> table = {
543 {"sbyte", "SByte"},
544 {"byte","Byte"},
545 {"short","Int16"},
546 {"ushort","UInt16"},
547 {"int", "Int32"},
548 {"uint","UInt32"},
549 {"long","Int64"},
550 {"ulong","UInt64"},
551 {"char","Char"},
552 {"float","Single"},
553 {"double","Double"},
554 {"bool","Boolean"},
555 {"decimal","Decimal"},
556 };
557
558 auto found = table.find(name);
559
560 if (found != table.end())
561 return found->second;
562
563 return name;
564}
565
525} // namespace name_helpers 566} // namespace name_helpers
526 567
527} // namespace eolian_mono 568} // namespace eolian_mono
diff --git a/src/bin/eolian_mono/eolian/mono/parameter.hh b/src/bin/eolian_mono/eolian/mono/parameter.hh
index 4050c60..deb9a9e 100644
--- a/src/bin/eolian_mono/eolian/mono/parameter.hh
+++ b/src/bin/eolian_mono/eolian/mono/parameter.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_PARAMETER_HH 16#ifndef EOLIAN_MONO_PARAMETER_HH
2#define EOLIAN_MONO_PARAMETER_HH 17#define EOLIAN_MONO_PARAMETER_HH
3 18
@@ -479,7 +494,7 @@ struct marshall_parameter_generator
479 ).generate(sink, std::make_tuple(param, param_name), context); 494 ).generate(sink, std::make_tuple(param, param_name), context);
480 495
481 return as_generator( 496 return as_generator(
482 "IntPtr " << param_name << "_data, " << type << "Internal " << param_name << ", EinaFreeCb " 497 "IntPtr " << param_name << "_data, " << type << "Internal " << param_name << ", Eina.Callbacks.EinaFreeCb "
483 << param_name << "_free_cb" 498 << param_name << "_free_cb"
484 ).generate(sink, param, context); 499 ).generate(sink, param, context);
485 } 500 }
@@ -894,7 +909,7 @@ struct native_convert_out_variable_generator
894 // Assign a default value to the out variable in case we end up in the catch clause. 909 // Assign a default value to the out variable in case we end up in the catch clause.
895 return as_generator( 910 return as_generator(
896 string << " = default(" << type << ");" 911 string << " = default(" << type << ");"
897 ).generate(sink, std::make_tuple(param.param_name, param), context); 912 ).generate(sink, std::make_tuple(escape_keyword(param.param_name), param), context);
898 } 913 }
899 return true; 914 return true;
900 } 915 }
@@ -1521,7 +1536,7 @@ struct constructor_param_generator
1521 1536
1522 if (!as_generator( 1537 if (!as_generator(
1523 efl::eolian::grammar::attribute_reorder<1, -1> 1538 efl::eolian::grammar::attribute_reorder<1, -1>
1524 (type(false, ctor.is_optional) << " " << constructor_parameter_name(ctor) << (ctor.is_optional ? " = null" : "")) % "," 1539 (type(false, ctor.is_optional) << " " << constructor_parameter_name(ctor) << (ctor.is_optional ? " = null" : "")) % ", "
1525 ).generate(sink, params, context)) 1540 ).generate(sink, params, context))
1526 return false; 1541 return false;
1527 // } 1542 // }
diff --git a/src/bin/eolian_mono/eolian/mono/part_definition.hh b/src/bin/eolian_mono/eolian/mono/part_definition.hh
index f3811b9..0b8dece 100644
--- a/src/bin/eolian_mono/eolian/mono/part_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/part_definition.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_PART_DEFINITION_HH 16#ifndef EOLIAN_MONO_PART_DEFINITION_HH
2#define EOLIAN_MONO_PART_DEFINITION_HH 17#define EOLIAN_MONO_PART_DEFINITION_HH
3 18
@@ -59,7 +74,7 @@ struct part_extension_method_definition_generator
59 << name_helpers::klass_full_concrete_or_interface_name(cls) 74 << name_helpers::klass_full_concrete_or_interface_name(cls)
60 << ", T> x=null) where T : " << name_helpers::klass_full_concrete_or_interface_name(cls) << "\n" 75 << ", T> x=null) where T : " << name_helpers::klass_full_concrete_or_interface_name(cls) << "\n"
61 << scope_tab << "{\n" 76 << scope_tab << "{\n"
62 << scope_tab << scope_tab << "return new " << bindableClass << "<" << part_klass_name << ">(\"" << part.name << "\" ,fac);\n" 77 << scope_tab << scope_tab << "return new " << bindableClass << "<" << part_klass_name << ">(\"" << part.name << "\", fac);\n"
63 << scope_tab << "}\n\n" 78 << scope_tab << "}\n\n"
64 ).generate(sink, attributes::unused, context)) 79 ).generate(sink, attributes::unused, context))
65 return false; 80 return false;
diff --git a/src/bin/eolian_mono/eolian/mono/struct_definition.hh b/src/bin/eolian_mono/eolian/mono/struct_definition.hh
index 7501449..b3b8d71 100644
--- a/src/bin/eolian_mono/eolian/mono/struct_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/struct_definition.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_STRUCT_DEFINITION_HH 16#ifndef EOLIAN_MONO_STRUCT_DEFINITION_HH
2#define EOLIAN_MONO_STRUCT_DEFINITION_HH 17#define EOLIAN_MONO_STRUCT_DEFINITION_HH
3 18
@@ -276,7 +291,7 @@ struct struct_internal_definition_generator
276 indent << "#pragma warning disable CS1591\n\n" 291 indent << "#pragma warning disable CS1591\n\n"
277 << indent << "/// <summary>Internal wrapper for struct " << string << ".</summary>\n" 292 << indent << "/// <summary>Internal wrapper for struct " << string << ".</summary>\n"
278 << indent << "[StructLayout(LayoutKind.Sequential)]\n" 293 << indent << "[StructLayout(LayoutKind.Sequential)]\n"
279 << indent << "public struct " << string << "\n" 294 << indent << "internal struct " << string << "\n"
280 << indent << "{\n" 295 << indent << "{\n"
281 ) 296 )
282 .generate(sink, std::make_tuple<>(binding_struct_name(struct_), struct_internal_decl_name()), context)) 297 .generate(sink, std::make_tuple<>(binding_struct_name(struct_), struct_internal_decl_name()), context))
@@ -478,6 +493,26 @@ struct struct_definition_generator
478 ).generate(sink, attributes::unused, context)) 493 ).generate(sink, attributes::unused, context))
479 return false; 494 return false;
480 495
496 if(!as_generator(
497 indent << scope_tab << "/// <summary>Conversion to the managed representation from a native pointer.\n"
498 ).generate(sink, attributes::unused, context))
499 return false;
500
501 if (!struct_.documentation.since.empty())
502 if (!as_generator(indent << scope_tab << "/// <para>Since EFL " + struct_.documentation.since + ".</para>\n"
503 ).generate(sink, attributes::unused, context))
504 return false;
505
506 if (!as_generator(
507 indent << scope_tab << "/// </summary>\n"
508 << indent << scope_tab << "/// <param name=\"ptr\">Native pointer to be converted.</param>\n"
509 << indent << scope_tab << "public static " << struct_name << " FromIntPtr(IntPtr ptr)\n"
510 << indent << scope_tab << "{\n"
511 << indent << scope_tab << scope_tab << "return ptr;\n"
512 << indent << scope_tab << "}\n\n"
513 ).generate(sink, attributes::unused, context))
514 return false;
515
481 if (!struct_internal_definition.generate(sink, struct_, change_indentation(indent.inc(), context))) 516 if (!struct_internal_definition.generate(sink, struct_, change_indentation(indent.inc(), context)))
482 return false; 517 return false;
483 518
diff --git a/src/bin/eolian_mono/eolian/mono/struct_fields.hh b/src/bin/eolian_mono/eolian/mono/struct_fields.hh
index 9a0225e..7756d7b 100644
--- a/src/bin/eolian_mono/eolian/mono/struct_fields.hh
+++ b/src/bin/eolian_mono/eolian/mono/struct_fields.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_STRUCT_FIELDS_HH 16#ifndef EOLIAN_MONO_STRUCT_FIELDS_HH
2#define EOLIAN_MONO_STRUCT_FIELDS_HH 17#define EOLIAN_MONO_STRUCT_FIELDS_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/type.hh b/src/bin/eolian_mono/eolian/mono/type.hh
index cae2ad1..018f4ae 100644
--- a/src/bin/eolian_mono/eolian/mono/type.hh
+++ b/src/bin/eolian_mono/eolian/mono/type.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_TYPE_HH 16#ifndef EOLIAN_MONO_TYPE_HH
2#define EOLIAN_MONO_TYPE_HH 17#define EOLIAN_MONO_TYPE_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/type_impl.hh b/src/bin/eolian_mono/eolian/mono/type_impl.hh
index 7c2e5bd..2dd2c34 100644
--- a/src/bin/eolian_mono/eolian/mono/type_impl.hh
+++ b/src/bin/eolian_mono/eolian/mono/type_impl.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_TYPE_IMPL_HH 16#ifndef EOLIAN_MONO_TYPE_IMPL_HH
2#define EOLIAN_MONO_TYPE_IMPL_HH 17#define EOLIAN_MONO_TYPE_IMPL_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/using_decl.hh b/src/bin/eolian_mono/eolian/mono/using_decl.hh
index 3d8b703..e4e12c7 100644
--- a/src/bin/eolian_mono/eolian/mono/using_decl.hh
+++ b/src/bin/eolian_mono/eolian/mono/using_decl.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_USING_DECL_HH 16#ifndef EOLIAN_MONO_USING_DECL_HH
2#define EOLIAN_MONO_USING_DECL_HH 17#define EOLIAN_MONO_USING_DECL_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/utils.hh b/src/bin/eolian_mono/eolian/mono/utils.hh
index 9e583df..6eea0bd 100644
--- a/src/bin/eolian_mono/eolian/mono/utils.hh
+++ b/src/bin/eolian_mono/eolian/mono/utils.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_UTILS_HPP 16#ifndef EOLIAN_MONO_UTILS_HPP
2#define EOLIAN_MONO_UTILS_HPP 17#define EOLIAN_MONO_UTILS_HPP
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/variable_definition.hh b/src/bin/eolian_mono/eolian/mono/variable_definition.hh
index c34a18c..e63db20 100644
--- a/src/bin/eolian_mono/eolian/mono/variable_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/variable_definition.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_VARIABLE_DEFINITION_HH 16#ifndef EOLIAN_MONO_VARIABLE_DEFINITION_HH
2#define EOLIAN_MONO_VARIABLE_DEFINITION_HH 17#define EOLIAN_MONO_VARIABLE_DEFINITION_HH
3 18
diff --git a/src/bin/eolian_mono/eolian_mono.cc b/src/bin/eolian_mono/eolian_mono.cc
index 97996d9..62eed11 100644
--- a/src/bin/eolian_mono/eolian_mono.cc
+++ b/src/bin/eolian_mono/eolian_mono.cc
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1 16
2#include <iostream> 17#include <iostream>
3#include <fstream> 18#include <fstream>
@@ -129,6 +144,25 @@ run(options_type const& opts)
129 } 144 }
130 }()}; 145 }()};
131 146
147 if (!as_generator(
148 "/*\n"
149 " * Copyright 2019 by its authors. See AUTHORS.\n"
150 " *\n"
151 " * Licensed under the Apache License, Version 2.0 (the \"License\");\n"
152 " * you may not use this file except in compliance with the License.\n"
153 " * You may obtain a copy of the License at\n"
154 " *\n"
155 " * http://www.apache.org/licenses/LICENSE-2.0\n"
156 " *\n"
157 " * Unless required by applicable law or agreed to in writing, software\n"
158 " * distributed under the License is distributed on an \"AS IS\" BASIS,\n"
159 " * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n"
160 " * See the License for the specific language governing permissions and\n"
161 " * limitations under the License.\n"
162 " */\n\n"
163 ).generate(iterator, attributes::unused, efl::eolian::grammar::context_null()))
164 throw std::runtime_error("Failed to generate license notice");
165
132 if (!as_generator("#pragma warning disable CS1591\n").generate(iterator, efl::eolian::grammar::attributes::unused, efl::eolian::grammar::context_null())) 166 if (!as_generator("#pragma warning disable CS1591\n").generate(iterator, efl::eolian::grammar::attributes::unused, efl::eolian::grammar::context_null()))
133 throw std::runtime_error("Failed to generate pragma to disable missing docs"); 167 throw std::runtime_error("Failed to generate pragma to disable missing docs");
134 168
@@ -137,7 +171,8 @@ run(options_type const& opts)
137 "using System.Collections.Generic;\n" 171 "using System.Collections.Generic;\n"
138 "using System.Linq;\n" 172 "using System.Linq;\n"
139 "using System.Threading;\n" 173 "using System.Threading;\n"
140 "using System.ComponentModel;\n") 174 "using System.ComponentModel;\n"
175 "using System.Diagnostics.CodeAnalysis;\n")
141 .generate(iterator, efl::eolian::grammar::attributes::unused, efl::eolian::grammar::context_null())) 176 .generate(iterator, efl::eolian::grammar::attributes::unused, efl::eolian::grammar::context_null()))
142 { 177 {
143 throw std::runtime_error("Failed to generate file preamble"); 178 throw std::runtime_error("Failed to generate file preamble");
diff --git a/src/bindings/cxx/ecore_cxx/Ecore.hh b/src/bindings/cxx/ecore_cxx/Ecore.hh
index bd2cd7e..aa83ab3 100644
--- a/src/bindings/cxx/ecore_cxx/Ecore.hh
+++ b/src/bindings/cxx/ecore_cxx/Ecore.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef _EFL_ECORE_CXX_ECORE_HH 16#ifndef _EFL_ECORE_CXX_ECORE_HH
2#define _EFL_ECORE_CXX_ECORE_HH 17#define _EFL_ECORE_CXX_ECORE_HH
3 18
diff --git a/src/bindings/cxx/ecore_cxx/Ecore_Manual.hh b/src/bindings/cxx/ecore_cxx/Ecore_Manual.hh
index 19ec978..86c034e 100644
--- a/src/bindings/cxx/ecore_cxx/Ecore_Manual.hh
+++ b/src/bindings/cxx/ecore_cxx/Ecore_Manual.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef _EFL_ECORE_CXX_ECORE_MANUAL_HH 16#ifndef _EFL_ECORE_CXX_ECORE_MANUAL_HH
2#define _EFL_ECORE_CXX_ECORE_MANUAL_HH 17#define _EFL_ECORE_CXX_ECORE_MANUAL_HH
3 18
diff --git a/src/bindings/cxx/eet_cxx/Eet.hh b/src/bindings/cxx/eet_cxx/Eet.hh
index 002d73a..46c0946 100644
--- a/src/bindings/cxx/eet_cxx/Eet.hh
+++ b/src/bindings/cxx/eet_cxx/Eet.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EET_HH_ 16#ifndef EET_HH_
2#define EET_HH_ 17#define EET_HH_
3 18
diff --git a/src/bindings/cxx/eet_cxx/eet_composite.hh b/src/bindings/cxx/eet_cxx/eet_composite.hh
index 2c8f6be..def2bbc 100644
--- a/src/bindings/cxx/eet_cxx/eet_composite.hh
+++ b/src/bindings/cxx/eet_cxx/eet_composite.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_EET_COMPOSITE_HH_ 16#ifndef EFL_EET_COMPOSITE_HH_
2#define EFL_EET_COMPOSITE_HH_ 17#define EFL_EET_COMPOSITE_HH_
3 18
diff --git a/src/bindings/cxx/eet_cxx/eet_register.hh b/src/bindings/cxx/eet_cxx/eet_register.hh
index b18da36..f198148 100644
--- a/src/bindings/cxx/eet_cxx/eet_register.hh
+++ b/src/bindings/cxx/eet_cxx/eet_register.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_EET_REGISTER_HH_ 16#ifndef EFL_EET_REGISTER_HH_
2#define EFL_EET_REGISTER_HH_ 17#define EFL_EET_REGISTER_HH_
3 18
diff --git a/src/bindings/cxx/eet_cxx/eet_type.hh b/src/bindings/cxx/eet_cxx/eet_type.hh
index e12bc98..b7bd9ea 100644
--- a/src/bindings/cxx/eet_cxx/eet_type.hh
+++ b/src/bindings/cxx/eet_cxx/eet_type.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef _EET_TYPE_HH 16#ifndef _EET_TYPE_HH
2#define _EET_TYPE_HH 17#define _EET_TYPE_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/Eina.hh b/src/bindings/cxx/eina_cxx/Eina.hh
index 85226d4..da82702 100644
--- a/src/bindings/cxx/eina_cxx/Eina.hh
+++ b/src/bindings/cxx/eina_cxx/Eina.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_HH_ 16#ifndef EINA_HH_
2#define EINA_HH_ 17#define EINA_HH_
3/** 18/**
diff --git a/src/bindings/cxx/eina_cxx/eina_accessor.hh b/src/bindings/cxx/eina_cxx/eina_accessor.hh
index 4aefc51..17e95c2 100644
--- a/src/bindings/cxx/eina_cxx/eina_accessor.hh
+++ b/src/bindings/cxx/eina_cxx/eina_accessor.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_ACCESSOR_HH_ 16#ifndef EINA_ACCESSOR_HH_
2#define EINA_ACCESSOR_HH_ 17#define EINA_ACCESSOR_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_aligned_union.hh b/src/bindings/cxx/eina_cxx/eina_aligned_union.hh
index eabe878..a1c7be9 100644
--- a/src/bindings/cxx/eina_cxx/eina_aligned_union.hh
+++ b/src/bindings/cxx/eina_cxx/eina_aligned_union.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_EINA_EINA_ALIGNED_UNION_HH_ 16#ifndef EFL_EINA_EINA_ALIGNED_UNION_HH_
2#define EFL_EINA_EINA_ALIGNED_UNION_HH_ 17#define EFL_EINA_EINA_ALIGNED_UNION_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_array.hh b/src/bindings/cxx/eina_cxx/eina_array.hh
index 0c9bd59..7911664 100644
--- a/src/bindings/cxx/eina_cxx/eina_array.hh
+++ b/src/bindings/cxx/eina_cxx/eina_array.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_ARRAY_HH_ 16#ifndef EINA_ARRAY_HH_
2#define EINA_ARRAY_HH_ 17#define EINA_ARRAY_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_clone_allocators.hh b/src/bindings/cxx/eina_cxx/eina_clone_allocators.hh
index 15e97ad..5bc6c36 100644
--- a/src/bindings/cxx/eina_cxx/eina_clone_allocators.hh
+++ b/src/bindings/cxx/eina_cxx/eina_clone_allocators.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_CLONE_ALLOCATORS_HH_ 16#ifndef EINA_CLONE_ALLOCATORS_HH_
2#define EINA_CLONE_ALLOCATORS_HH_ 17#define EINA_CLONE_ALLOCATORS_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_copy_traits.hh b/src/bindings/cxx/eina_cxx/eina_copy_traits.hh
index e6e0164..badf60d 100644
--- a/src/bindings/cxx/eina_cxx/eina_copy_traits.hh
+++ b/src/bindings/cxx/eina_cxx/eina_copy_traits.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1/// 16///
2/// @file eo_concrete.hh 17/// @file eo_concrete.hh
3/// 18///
diff --git a/src/bindings/cxx/eina_cxx/eina_deleter.hh b/src/bindings/cxx/eina_cxx/eina_deleter.hh
index 7831dfd..4584da1 100644
--- a/src/bindings/cxx/eina_cxx/eina_deleter.hh
+++ b/src/bindings/cxx/eina_cxx/eina_deleter.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_DELETERS_HH_ 16#ifndef EINA_DELETERS_HH_
2#define EINA_DELETERS_HH_ 17#define EINA_DELETERS_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_eo_concrete_fwd.hh b/src/bindings/cxx/eina_cxx/eina_eo_concrete_fwd.hh
index 60aa84f..6d7f5c6 100644
--- a/src/bindings/cxx/eina_cxx/eina_eo_concrete_fwd.hh
+++ b/src/bindings/cxx/eina_cxx/eina_eo_concrete_fwd.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_EO_CONCRETE_FWD_HH 16#ifndef EINA_EO_CONCRETE_FWD_HH
2#define EINA_EO_CONCRETE_FWD_HH 17#define EINA_EO_CONCRETE_FWD_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_error.hh b/src/bindings/cxx/eina_cxx/eina_error.hh
index 24e41a8..99cecee 100644
--- a/src/bindings/cxx/eina_cxx/eina_error.hh
+++ b/src/bindings/cxx/eina_cxx/eina_error.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef _EINA_ERROR_HH 16#ifndef _EINA_ERROR_HH
2#define _EINA_ERROR_HH 17#define _EINA_ERROR_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_fold.hh b/src/bindings/cxx/eina_cxx/eina_fold.hh
index 167e0df..9359d35 100644
--- a/src/bindings/cxx/eina_cxx/eina_fold.hh
+++ b/src/bindings/cxx/eina_cxx/eina_fold.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_EINA_FOLD_HH_ 16#ifndef EFL_EINA_FOLD_HH_
2#define EFL_EINA_FOLD_HH_ 17#define EFL_EINA_FOLD_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_function.hh b/src/bindings/cxx/eina_cxx/eina_function.hh
index cef6da5..d7e51eb 100644
--- a/src/bindings/cxx/eina_cxx/eina_function.hh
+++ b/src/bindings/cxx/eina_cxx/eina_function.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_EINA_FUNCTION_HH 16#ifndef EFL_EINA_FUNCTION_HH
2#define EFL_EINA_FUNCTION_HH 17#define EFL_EINA_FUNCTION_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_future.hh b/src/bindings/cxx/eina_cxx/eina_future.hh
index 34fa8bd..19aea9d 100644
--- a/src/bindings/cxx/eina_cxx/eina_future.hh
+++ b/src/bindings/cxx/eina_cxx/eina_future.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_FUTURE_HH_ 16#ifndef EINA_FUTURE_HH_
2#define EINA_FUTURE_HH_ 17#define EINA_FUTURE_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_inarray.hh b/src/bindings/cxx/eina_cxx/eina_inarray.hh
index 5a2c7f4..0e860de 100644
--- a/src/bindings/cxx/eina_cxx/eina_inarray.hh
+++ b/src/bindings/cxx/eina_cxx/eina_inarray.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_INARRAY_HH_ 16#ifndef EINA_INARRAY_HH_
2#define EINA_INARRAY_HH_ 17#define EINA_INARRAY_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_inlist.hh b/src/bindings/cxx/eina_cxx/eina_inlist.hh
index 8804034..dbf879c 100644
--- a/src/bindings/cxx/eina_cxx/eina_inlist.hh
+++ b/src/bindings/cxx/eina_cxx/eina_inlist.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_INLIST_HH_ 16#ifndef EINA_INLIST_HH_
2#define EINA_INLIST_HH_ 17#define EINA_INLIST_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_integer_sequence.hh b/src/bindings/cxx/eina_cxx/eina_integer_sequence.hh
index f99c871..2c7907a 100644
--- a/src/bindings/cxx/eina_cxx/eina_integer_sequence.hh
+++ b/src/bindings/cxx/eina_cxx/eina_integer_sequence.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_CXX_EINA_INTEGER_SEQUENCE_HH 16#ifndef EINA_CXX_EINA_INTEGER_SEQUENCE_HH
2#define EINA_CXX_EINA_INTEGER_SEQUENCE_HH 17#define EINA_CXX_EINA_INTEGER_SEQUENCE_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_iterator.hh b/src/bindings/cxx/eina_cxx/eina_iterator.hh
index 1a8fedd..0e0cb82 100644
--- a/src/bindings/cxx/eina_cxx/eina_iterator.hh
+++ b/src/bindings/cxx/eina_cxx/eina_iterator.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_ITERATOR_HH_ 16#ifndef EINA_ITERATOR_HH_
2#define EINA_ITERATOR_HH_ 17#define EINA_ITERATOR_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_list.hh b/src/bindings/cxx/eina_cxx/eina_list.hh
index d5b6287..7697519 100644
--- a/src/bindings/cxx/eina_cxx/eina_list.hh
+++ b/src/bindings/cxx/eina_cxx/eina_list.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_LIST_HH_ 16#ifndef EINA_LIST_HH_
2#define EINA_LIST_HH_ 17#define EINA_LIST_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_lists_auxiliary.hh b/src/bindings/cxx/eina_cxx/eina_lists_auxiliary.hh
index 924dd73..60e81ba 100644
--- a/src/bindings/cxx/eina_cxx/eina_lists_auxiliary.hh
+++ b/src/bindings/cxx/eina_cxx/eina_lists_auxiliary.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.