csharp: encapsulate some internal code of EoWrapper
authorVitor Sousa <vitorsousa@expertisesolutions.com.br>
Fri, 28 Jun 2019 21:20:01 +0000 (18:20 -0300)
committerShinwoo Kim <cinoo.kim@samsung.com>
Wed, 10 Jul 2019 02:08:14 +0000 (11:08 +0900)
commit1e7a34ef022bbbacf523ec4a94d05ff2c28add94
treebd302f150f49bffd5d8ec98b771a32d8fd018c3f
parent56015ac19b4e58da56bf5cd375a97f064e15f93c
csharp: encapsulate some internal code of EoWrapper

Summary:
Encapsulate some parts of EoWrapper making them less accessible to lib users.
This can avoid unnecessary and risky usage of code that is only intended for
internal usage.

`inherited` field was made private and renamed to `generated`. Now its value
can only be obtained through the `IsGeneratedBindingClass` property.

`handle` field was made private.

`eventLock` was renamed to `eflBindingEventLock`

`ConstructingHandle` property set was made private.

Constructors that are used to create new EFL# managed objects by wrapping a
preexisting eo handle now receive a specific struct wrapping the handle pointer.
This can avoid faulty interactions with the Reflection engine used only for
generated classes that implement this constructor.

Test Plan: meson test

Reviewers: lauromoura, felipealmeida, YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9212
src/bin/eolian_mono/eolian/mono/events.hh
src/bin/eolian_mono/eolian/mono/function_definition.hh
src/bin/eolian_mono/eolian/mono/klass.hh
src/bindings/mono/eo_mono/EoWrapper.cs
src/bindings/mono/eo_mono/iwrapper.cs
src/tests/efl_mono/EoConstruction.cs