efl/src/bindings/cxx/eina_cxx
Felipe Magno de Almeida f392c5a436 efl-mono: Add support for dotnet core
Summary:
This commits adds dotnet as a supported C# platform for EFL# bindings.

Due to differences between Mono and Dotnet regarding DllImport, the
bindings now are using an imperative approach to load the function
pointers through the NativeModule and FunctionWrapper classes. These
classes handle the dlopen/LoadLibrary and dlsym/GetProcAddress calls.

Also, the previous caching of non-owned strings returned to native code
was removed until further memory checks.

We also had to create workaround for bool and chars in Structs for C#
marshaling. Going through System.Byte instead and Marshaling manually
to their respective types.

In order to actually build efl_mono.dll with dotnet right now,
issue #4782 from Meson should be fixed to make it properly detect and
used the Dotnet compiler. Also use "-Ddotnet=true" when running meson.

Fixes T7394

Reviewers: felipealmeida, vitor.sousa, bu5hm4n

Reviewed By: vitor.sousa

Subscribers: cedric

Tags: #efl

Maniphest Tasks: T7394

Differential Revision: https://phab.enlightenment.org/D8069
2019-03-01 23:58:56 -03:00
..
Eina.hh cxx: Add strbuf support 2017-12-05 10:09:58 +09:00
eina_accessor.hh
eina_aligned_union.hh
eina_array.hh
eina_clone_allocators.hh
eina_copy_traits.hh
eina_deleter.hh eina_cxx: allow for the generation of function that return Eina_Promise in .eo files. 2019-01-16 14:33:24 -08:00
eina_eo_concrete_fwd.hh cxx: Remove libeolian_cxx dependency on eo_cxx 2018-08-21 14:21:43 -04:00
eina_error.hh
eina_fold.hh
eina_function.hh
eina_future.hh
eina_inarray.hh
eina_inlist.hh
eina_integer_sequence.hh
eina_iterator.hh
eina_list.hh
eina_lists_auxiliary.hh
eina_log.hh
eina_logical.hh
eina_optional.hh
eina_pp.hh
eina_ptrarray.hh
eina_ptrlist.hh
eina_range_types.hh
eina_ref.hh
eina_strbuf.hh cxx: Add strbuf support 2017-12-05 10:09:58 +09:00
eina_string_view.hh
eina_stringshare.hh
eina_thread.hh
eina_throw.hh
eina_tuple.hh
eina_tuple_c.hh
eina_tuple_unwrap.hh
eina_type_traits.hh
eina_value.hh eina_cxx: Fix eina::value copy constructor. 2018-10-16 18:47:20 -03:00
eina_variant.hh efl-mono: Add support for dotnet core 2019-03-01 23:58:56 -03:00
eina_workarounds.hh
meson.build meson: here comes cxx bindings 2018-10-24 12:05:58 +02:00