diff --git a/src/bin/eolian_mono/eolian/mono/events.hh b/src/bin/eolian_mono/eolian/mono/events.hh
--- a/src/bin/eolian_mono/eolian/mono/events.hh
+++ b/src/bin/eolian_mono/eolian/mono/events.hh
@@ -232,7 +232,7 @@
auto const& indent = current_indentation(*context);
return as_generator(
indent.inc() << "Contract.Requires(e != null, nameof(e));\n"
- << indent.inc() << "IntPtr info = e.Arg.NativeHandle;\n"
+ << indent.inc() << "IntPtr info = ((Efl.Eo.IWrapper)e.Arg).NativeHandle;\n"
<< indent.inc() << "CallNativeEventCallback(" << library_name << ", \"_" << evt_c_name << "\", info, null);\n"
).generate(sink, attributes::unused, *context);
}
diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh b/src/bin/eolian_mono/eolian/mono/function_definition.hh
--- a/src/bin/eolian_mono/eolian/mono/function_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh
@@ -245,12 +245,12 @@
(documentation(2)).generate(sink, f, context))
return false;
- std::string self = "this.NativeHandle";
+ std::string self = "((Efl.Eo.IWrapper)this).NativeHandle";
// IsGeneratedBindingClass is set in the constructor, true if this
// instance is from a pure C# class (not generated).
if (do_super && !f.is_static)
- self = "(IsGeneratedBindingClass ? " + self + " : Efl.Eo.Globals.Super(" + self + ", this.NativeClass))";
+ self = "(IsGeneratedBindingClass ? " + self + " : Efl.Eo.Globals.Super(" + self + ", ((Efl.Eo.IWrapper)this).NativeClass))";
else if (f.is_static)
self = "";
diff --git a/src/bin/eolian_mono/eolian/mono/klass.hh b/src/bin/eolian_mono/eolian/mono/klass.hh
--- a/src/bin/eolian_mono/eolian/mono/klass.hh
+++ b/src/bin/eolian_mono/eolian/mono/klass.hh
@@ -246,6 +246,7 @@
<< " " << name_helpers::klass_concrete_name(cls) << " : "
<< (klass_full_concrete_or_interface_name % ",") // classes
<< (root ? "Efl.Eo.EoWrapper" : "") // ... or root
+ << ", Efl.Eo.IWrapper"
<< (inherit_interfaces.empty() ? "" : ", ")
<< (klass_full_concrete_or_interface_name % ", ") // interfaces
<< "\n" << scope_tab << "{\n"
@@ -508,7 +509,7 @@
if(!as_generator(
scope_tab(2) << "/// Pointer to the native class description.\n"
- << scope_tab(2) << "public override System.IntPtr NativeClass\n"
+ << scope_tab(2) << "System.IntPtr Efl.Eo.IWrapper.NativeClass\n"
<< scope_tab(2) << "{\n"
<< scope_tab(2) << scope_tab << "get\n"
<< scope_tab(2) << scope_tab << "{\n"
diff --git a/src/bin/eolian_mono/eolian/mono/struct_definition.hh b/src/bin/eolian_mono/eolian/mono/struct_definition.hh
--- a/src/bin/eolian_mono/eolian/mono/struct_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/struct_definition.hh
@@ -65,7 +65,7 @@
if (klass)
{
if (!as_generator(
- indent << scope_tab << scope_tab << "_internal_struct." << string << " = _external_struct." << string << "?.NativeHandle ?? System.IntPtr.Zero;\n")
+ indent << scope_tab << scope_tab << "_internal_struct." << string << " = ((Efl.Eo.IWrapper)_external_struct." << string << ")?.NativeHandle ?? System.IntPtr.Zero;\n")
.generate(sink, std::make_tuple(field_name, field_name), context))
return false;
}
diff --git a/src/bin/eolian_mono/eolian/mono/struct_fields.hh b/src/bin/eolian_mono/eolian/mono/struct_fields.hh
--- a/src/bin/eolian_mono/eolian/mono/struct_fields.hh
+++ b/src/bin/eolian_mono/eolian/mono/struct_fields.hh
@@ -78,7 +78,7 @@
if (klass)
{
if (!as_generator(
- "this." << string << " = " << string << "?.NativeHandle ?? System.IntPtr.Zero;\n")
+ "this." << string << " = ((Efl.Eo.IWrapper)" << string << ")?.NativeHandle ?? System.IntPtr.Zero;\n")
.generate(sink, std::make_tuple(field_name, field_name), context))
return false;
}
diff --git a/src/bindings/mono/eina_mono/eina_promises.cs b/src/bindings/mono/eina_mono/eina_promises.cs
--- a/src/bindings/mono/eina_mono/eina_promises.cs
+++ b/src/bindings/mono/eina_mono/eina_promises.cs
@@ -112,7 +112,7 @@
Efl.Loop loop = Efl.App.AppMain;
// Should we be able to pass different schedulers?
- IntPtr scheduler = efl_loop_future_scheduler_get(loop.NativeHandle);
+ IntPtr scheduler = efl_loop_future_scheduler_get(((Efl.Eo.IWrapper)loop).NativeHandle);
IntPtr cb_data = IntPtr.Zero;
diff --git a/src/bindings/mono/eina_mono/eina_value.cs b/src/bindings/mono/eina_mono/eina_value.cs
--- a/src/bindings/mono/eina_mono/eina_value.cs
+++ b/src/bindings/mono/eina_mono/eina_value.cs
@@ -2337,7 +2337,7 @@
/// Returns the native handle wrapped by this object.
/// The native pointer wrapped by this object.
- public IntPtr NativeHandle
+ internal IntPtr NativeHandle
{
get
{
@@ -2791,12 +2791,12 @@
if (this.Optional)
{
- IntPtr ptr = value.NativeHandle;
+ IntPtr ptr = ((Efl.Eo.IWrapper)value).NativeHandle;
return eina_value_optional_pset(this.Handle,
ValueTypeBridge.GetNative(ValueType.Object),
ref ptr);
}
- return eina_value_set_wrapper_ptr(this.Handle, value.NativeHandle);
+ return eina_value_set_wrapper_ptr(this.Handle, ((Efl.Eo.IWrapper)value).NativeHandle);
}
/// Stores the given value into this value. This value's must
@@ -3470,7 +3470,7 @@
case ValueType.Object:
{
var x = (Efl.Object) o;
- return eina_value_container_append_wrapper_ptr(this.Handle, x.NativeHandle);
+ return eina_value_container_append_wrapper_ptr(this.Handle, ((Efl.Eo.IWrapper)x).NativeHandle);
}
}
@@ -3561,7 +3561,7 @@
case ValueType.Object:
{
var x = (Efl.Object) o;
- return eina_value_container_insert_wrapper_ptr(this.Handle, p, x.NativeHandle);
+ return eina_value_container_insert_wrapper_ptr(this.Handle, p, ((Efl.Eo.IWrapper)x).NativeHandle);
}
}
@@ -3771,7 +3771,7 @@
case ValueType.Object:
{
Efl.Object x = (Efl.Object)value;
- eina_value_container_set_wrapper_ptr(this.Handle, i, x.NativeHandle);
+ eina_value_container_set_wrapper_ptr(this.Handle, i, ((Efl.Eo.IWrapper)x).NativeHandle);
break;
}
}
diff --git a/src/bindings/mono/eo_mono/EoWrapper.cs b/src/bindings/mono/eo_mono/EoWrapper.cs
--- a/src/bindings/mono/eo_mono/EoWrapper.cs
+++ b/src/bindings/mono/eo_mono/EoWrapper.cs
@@ -51,9 +51,6 @@
/// one must create a constructor with this signature and calls this base constructor from it.
/// This constructor will take care of calling base constructors of the native classes and
/// perform additional setup so objects are ready to use.
- /// It is advisable to check for the property in the top level
- /// constructor and signal an error when it has a value of IntPtr.Zero after this
- /// constructor completion.
/// Warning: Do not use this constructor directly from a `new` statement.
/// Since EFL 1.23.
///
@@ -112,7 +109,7 @@
System.IntPtr parent_ptr = System.IntPtr.Zero;
if (parent != null)
{
- parent_ptr = parent.NativeHandle;
+ parent_ptr = ((Efl.Eo.IWrapper)parent).NativeHandle;
}
if (generated)
@@ -149,7 +146,7 @@
/// Pointer to the native instance.
/// Since EFL 1.23.
///
- public System.IntPtr NativeHandle
+ System.IntPtr IWrapper.NativeHandle
{
get { return handle; }
}
@@ -157,7 +154,7 @@
/// Pointer to the native class description.
/// Since EFL 1.23.
///
- public abstract System.IntPtr NativeClass
+ System.IntPtr IWrapper.NativeClass
{
get;
}
@@ -374,7 +371,7 @@
if (desc == IntPtr.Zero)
throw new ArgumentException($"Failed to get native event {key}", "key");
- Efl.Eo.Globals.CallEventCallback(NativeHandle, desc, eventInfo);
+ Efl.Eo.Globals.CallEventCallback(((Efl.Eo.IWrapper)this).NativeHandle, desc, eventInfo);
}
finally
{
diff --git a/src/bindings/mono/eo_mono/iwrapper.cs b/src/bindings/mono/eo_mono/iwrapper.cs
--- a/src/bindings/mono/eo_mono/iwrapper.cs
+++ b/src/bindings/mono/eo_mono/iwrapper.cs
@@ -1066,12 +1066,18 @@
public interface IWrapper
{
/// Pointer to internal Eo instance.
+#if ! __MonoCS__
+ internal
+#endif
IntPtr NativeHandle
{
get;
}
/// Pointer to internal Eo class.
+#if ! __MonoCS__
+ internal
+#endif
IntPtr NativeClass
{
get;
diff --git a/src/bindings/mono/eo_mono/workaround.cs b/src/bindings/mono/eo_mono/workaround.cs
--- a/src/bindings/mono/eo_mono/workaround.cs
+++ b/src/bindings/mono/eo_mono/workaround.cs
@@ -207,7 +207,7 @@
Efl.EventDescription desc = default(Efl.EventDescription),
System.IntPtr info = default(System.IntPtr))
{
- this.obj = obj?.NativeHandle ?? System.IntPtr.Zero;
+ this.obj = ((Efl.Eo.IWrapper)obj)?.NativeHandle ?? System.IntPtr.Zero;
this.desc = Eina.PrimitiveConversion.ManagedToPointerAlloc(desc);
this.info = info;
}
diff --git a/src/tests/efl_mono/Eina.cs b/src/tests/efl_mono/Eina.cs
--- a/src/tests/efl_mono/Eina.cs
+++ b/src/tests/efl_mono/Eina.cs
@@ -578,7 +578,7 @@
var o = new Dummy.Numberwrapper();
o.Number = 88;
Test.Assert(a.Push(o));
- Test.Assert(a[0].NativeHandle == o.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[0]).NativeHandle == ((Efl.Eo.IWrapper)o).NativeHandle);
Test.Assert(a[0].Number == 88);
o.Dispose();
a.Dispose();
@@ -622,7 +622,7 @@
o.Number = 88;
Test.Assert(a.Push(o));
var p = a.Pop();
- Test.Assert(p.NativeHandle == o.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)p).NativeHandle == ((Efl.Eo.IWrapper)o).NativeHandle);
Test.Assert(p.Number == 88);
Test.Assert(a.Count() == 0);
o.Dispose();
@@ -677,21 +677,21 @@
o1.Number = 88;
Test.Assert(a.Push(o1));
- Test.Assert(a[0].NativeHandle == o1.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[0]).NativeHandle == ((Efl.Eo.IWrapper)o1).NativeHandle);
Test.Assert(a[0].Number == 88);
var o2 = new Dummy.Numberwrapper();
o2.Number = 44;
a.DataSet(0, o2);
- Test.Assert(a[0].NativeHandle == o2.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[0]).NativeHandle == ((Efl.Eo.IWrapper)o2).NativeHandle);
Test.Assert(a[0].Number == 44);
var o3 = new Dummy.Numberwrapper();
o3.Number = 22;
a[0] = o3;
- Test.Assert(a[0].NativeHandle == o3.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[0]).NativeHandle == ((Efl.Eo.IWrapper)o3).NativeHandle);
Test.Assert(a[0].Number == 22);
o3.Dispose();
o2.Dispose();
@@ -760,21 +760,21 @@
var o1 = new Dummy.Numberwrapper();
o1.Number = 88;
Test.Assert(a.Push(o1));
- Test.Assert(a[0].NativeHandle == o1.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[0]).NativeHandle == ((Efl.Eo.IWrapper)o1).NativeHandle);
Test.Assert(a[0].Number == 88);
Test.Assert(a.Count() == 1);
var o2 = new Dummy.Numberwrapper();
o2.Number = 44;
Test.Assert(a.Push(o2));
- Test.Assert(a[1].NativeHandle == o2.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[1]).NativeHandle == ((Efl.Eo.IWrapper)o2).NativeHandle);
Test.Assert(a[1].Number == 44);
Test.Assert(a.Count() == 2);
var o3 = new Dummy.Numberwrapper();
o3.Number = 22;
Test.Assert(a.Push(o3));
- Test.Assert(a[2].NativeHandle == o3.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[2]).NativeHandle == ((Efl.Eo.IWrapper)o3).NativeHandle);
Test.Assert(a[2].Number == 22);
Test.Assert(a.Count() == 3);
@@ -906,7 +906,7 @@
foreach (Dummy.Numberwrapper e in arr)
{
Test.AssertEquals(cmp[i].Number, e.Number);
- Test.Assert(cmp[i].NativeHandle == e.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)cmp[i]).NativeHandle == ((Efl.Eo.IWrapper)e).NativeHandle);
++i;
}
arr.Dispose();
@@ -1202,8 +1202,8 @@
int len = a.Count;
for (int i=0; i < len; ++i)
{
- Test.Assert(a[i].NativeHandle == b[i].NativeHandle);
- Test.Assert(a[i].NativeHandle == cmp[i].NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[i]).NativeHandle == ((Efl.Eo.IWrapper)b[i]).NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[i]).NativeHandle == ((Efl.Eo.IWrapper)cmp[i]).NativeHandle);
}
a.Dispose();
t.Dispose();
@@ -1249,7 +1249,7 @@
var o = new Dummy.Numberwrapper();
o.Number = 88;
Test.Assert(a.Push(o) == 0);
- Test.Assert(a[0].NativeHandle == o.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[0]).NativeHandle == ((Efl.Eo.IWrapper)o).NativeHandle);
Test.Assert(a[0].Number == 88);
o.Dispose();
a.Dispose();
@@ -1283,7 +1283,7 @@
o.Number = 88;
Test.Assert(a.Push(o) >= 0);
var p = a.Pop();
- Test.Assert(p.NativeHandle == o.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)p).NativeHandle == ((Efl.Eo.IWrapper)o).NativeHandle);
Test.Assert(p.Number == 88);
Test.Assert(a.Count() == 0);
o.Dispose();
@@ -1329,14 +1329,14 @@
o1.Number = 88;
Test.Assert(a.Push(o1) >= 0);
- Test.Assert(a[0].NativeHandle == o1.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[0]).NativeHandle == ((Efl.Eo.IWrapper)o1).NativeHandle);
Test.Assert(a[0].Number == 88);
var o2 = new Dummy.Numberwrapper();
o2.Number = 44;
a.ReplaceAt(0, o2);
- Test.Assert(a[0].NativeHandle == o2.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[0]).NativeHandle == ((Efl.Eo.IWrapper)o2).NativeHandle);
Test.Assert(a[0].Number == 44);
Test.Assert(a.Count() == 1);
@@ -1344,7 +1344,7 @@
o3.Number = 22;
a[0] = o3;
- Test.Assert(a[0].NativeHandle == o3.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[0]).NativeHandle == ((Efl.Eo.IWrapper)o3).NativeHandle);
Test.Assert(a[0].Number == 22);
Test.Assert(a.Count() == 1);
@@ -1398,21 +1398,21 @@
var o1 = new Dummy.Numberwrapper();
o1.Number = 88;
Test.Assert(a.Push(o1) == 0);
- Test.Assert(a[0].NativeHandle == o1.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[0]).NativeHandle == ((Efl.Eo.IWrapper)o1).NativeHandle);
Test.Assert(a[0].Number == 88);
Test.Assert(a.Count() == 1);
var o2 = new Dummy.Numberwrapper();
o2.Number = 44;
Test.Assert(a.Push(o2) == 1);
- Test.Assert(a[1].NativeHandle == o2.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[1]).NativeHandle == ((Efl.Eo.IWrapper)o2).NativeHandle);
Test.Assert(a[1].Number == 44);
Test.Assert(a.Count() == 2);
var o3 = new Dummy.Numberwrapper();
o3.Number = 22;
Test.Assert(a.Push(o3) == 2);
- Test.Assert(a[2].NativeHandle == o3.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[2]).NativeHandle == ((Efl.Eo.IWrapper)o3).NativeHandle);
Test.Assert(a[2].Number == 22);
Test.Assert(a.Count() == 3);
@@ -1510,7 +1510,7 @@
foreach (Dummy.Numberwrapper e in arr)
{
Test.AssertEquals(cmp[i].Number, e.Number);
- Test.Assert(cmp[i].NativeHandle == e.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)cmp[i]).NativeHandle == ((Efl.Eo.IWrapper)e).NativeHandle);
++i;
}
arr.Dispose();
@@ -1574,21 +1574,21 @@
o1.Number = 88;
lst.Append(o1);
- Test.Assert(lst[0].NativeHandle == o1.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[0]).NativeHandle == ((Efl.Eo.IWrapper)o1).NativeHandle);
Test.Assert(lst[0].Number == 88);
var o2 = new Dummy.Numberwrapper();
o2.Number = 44;
lst.DataSet(0, o2);
- Test.Assert(lst[0].NativeHandle == o2.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[0]).NativeHandle == ((Efl.Eo.IWrapper)o2).NativeHandle);
Test.Assert(lst[0].Number == 44);
var o3 = new Dummy.Numberwrapper();
o3.Number = 22;
lst[0] = o3;
- Test.Assert(lst[0].NativeHandle == o3.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[0]).NativeHandle == ((Efl.Eo.IWrapper)o3).NativeHandle);
Test.Assert(lst[0].Number == 22);
o3.Dispose();
o2.Dispose();
@@ -1653,21 +1653,21 @@
var o1 = new Dummy.Numberwrapper();
o1.Number = 88;
lst.Append(o1);
- Test.Assert(lst[0].NativeHandle == o1.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[0]).NativeHandle == ((Efl.Eo.IWrapper)o1).NativeHandle);
Test.Assert(lst[0].Number == 88);
Test.Assert(lst.Count() == 1);
var o2 = new Dummy.Numberwrapper();
o2.Number = 44;
lst.Append(o2);
- Test.Assert(lst[1].NativeHandle == o2.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[1]).NativeHandle == ((Efl.Eo.IWrapper)o2).NativeHandle);
Test.Assert(lst[1].Number == 44);
Test.Assert(lst.Count() == 2);
var o3 = new Dummy.Numberwrapper();
o3.Number = 22;
lst.Append(o3);
- Test.Assert(lst[2].NativeHandle == o3.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[2]).NativeHandle == ((Efl.Eo.IWrapper)o3).NativeHandle);
Test.Assert(lst[2].Number == 22);
Test.Assert(lst.Count() == 3);
o3.Dispose();
@@ -1781,21 +1781,21 @@
var o1 = new Dummy.Numberwrapper();
o1.Number = 88;
lst.Prepend(o1);
- Test.Assert(lst[0].NativeHandle == o1.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[0]).NativeHandle == ((Efl.Eo.IWrapper)o1).NativeHandle);
Test.Assert(lst[0].Number == 88);
Test.Assert(lst.Count() == 1);
var o2 = new Dummy.Numberwrapper();
o2.Number = 44;
lst.Prepend(o2);
- Test.Assert(lst[0].NativeHandle == o2.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[0]).NativeHandle == ((Efl.Eo.IWrapper)o2).NativeHandle);
Test.Assert(lst[0].Number == 44);
Test.Assert(lst.Count() == 2);
var o3 = new Dummy.Numberwrapper();
o3.Number = 22;
lst.Prepend(o3);
- Test.Assert(lst[0].NativeHandle == o3.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[0]).NativeHandle == ((Efl.Eo.IWrapper)o3).NativeHandle);
Test.Assert(lst[0].Number == 22);
Test.Assert(lst.Count() == 3);
@@ -2039,7 +2039,7 @@
foreach (Dummy.Numberwrapper e in lst)
{
Test.AssertEquals(cmp[i].Number, e.Number);
- Test.Assert(cmp[i].NativeHandle == e.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)cmp[i]).NativeHandle == ((Efl.Eo.IWrapper)e).NativeHandle);
++i;
}
lst.Dispose();
@@ -2324,8 +2324,8 @@
int len = a.Count;
for (int i=0; i < len; ++i)
{
- Test.Assert(a[i].NativeHandle == b[i].NativeHandle);
- Test.Assert(a[i].NativeHandle == cmp[i].NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[i]).NativeHandle == ((Efl.Eo.IWrapper)b[i]).NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)a[i]).NativeHandle == ((Efl.Eo.IWrapper)cmp[i]).NativeHandle);
}
a.Dispose();
t.Dispose();
@@ -2369,21 +2369,21 @@
o1.Number = 88;
lst.Append(o1);
- Test.Assert(lst[0].NativeHandle == o1.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[0]).NativeHandle == ((Efl.Eo.IWrapper)o1).NativeHandle);
Test.Assert(lst[0].Number == 88);
var o2 = new Dummy.Numberwrapper();
o2.Number = 44;
lst.DataSet(0, o2);
- Test.Assert(lst[0].NativeHandle == o2.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[0]).NativeHandle == ((Efl.Eo.IWrapper)o2).NativeHandle);
Test.Assert(lst[0].Number == 44);
var o3 = new Dummy.Numberwrapper();
o3.Number = 22;
lst[0] = o3;
- Test.Assert(lst[0].NativeHandle == o3.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[0]).NativeHandle == ((Efl.Eo.IWrapper)o3).NativeHandle);
Test.Assert(lst[0].Number == 22);
Test.Assert(lst.Count() == 1);
@@ -2434,21 +2434,21 @@
var o1 = new Dummy.Numberwrapper();
o1.Number = 88;
lst.Append(o1);
- Test.Assert(lst[0].NativeHandle == o1.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[0]).NativeHandle == ((Efl.Eo.IWrapper)o1).NativeHandle);
Test.Assert(lst[0].Number == 88);
Test.Assert(lst.Count() == 1);
var o2 = new Dummy.Numberwrapper();
o2.Number = 44;
lst.Append(o2);
- Test.Assert(lst[1].NativeHandle == o2.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[1]).NativeHandle == ((Efl.Eo.IWrapper)o2).NativeHandle);
Test.Assert(lst[1].Number == 44);
Test.Assert(lst.Count() == 2);
var o3 = new Dummy.Numberwrapper();
o3.Number = 22;
lst.Append(o3);
- Test.Assert(lst[2].NativeHandle == o3.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[2]).NativeHandle == ((Efl.Eo.IWrapper)o3).NativeHandle);
Test.Assert(lst[2].Number == 22);
Test.Assert(lst.Count() == 3);
o3.Dispose();
@@ -2530,21 +2530,21 @@
var o1 = new Dummy.Numberwrapper();
o1.Number = 88;
lst.Prepend(o1);
- Test.Assert(lst[0].NativeHandle == o1.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[0]).NativeHandle == ((Efl.Eo.IWrapper)o1).NativeHandle);
Test.Assert(lst[0].Number == 88);
Test.Assert(lst.Count() == 1);
var o2 = new Dummy.Numberwrapper();
o2.Number = 44;
lst.Prepend(o2);
- Test.Assert(lst[0].NativeHandle == o2.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[0]).NativeHandle == ((Efl.Eo.IWrapper)o2).NativeHandle);
Test.Assert(lst[0].Number == 44);
Test.Assert(lst.Count() == 2);
var o3 = new Dummy.Numberwrapper();
o3.Number = 22;
lst.Prepend(o3);
- Test.Assert(lst[0].NativeHandle == o3.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)lst[0]).NativeHandle == ((Efl.Eo.IWrapper)o3).NativeHandle);
Test.Assert(lst[0].Number == 22);
Test.Assert(lst.Count() == 3);
o3.Dispose();
@@ -2604,7 +2604,7 @@
foreach (Dummy.Numberwrapper e in lst)
{
Test.AssertEquals(cmp[i].Number, e.Number);
- Test.Assert(cmp[i].NativeHandle == e.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)cmp[i]).NativeHandle == ((Efl.Eo.IWrapper)e).NativeHandle);
++i;
}
lst.Dispose();
@@ -2689,17 +2689,17 @@
var cc = NW(888);
hsh[a] = aa;
- Test.Assert(hsh[a].NativeHandle == aa.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)hsh[a]).NativeHandle == ((Efl.Eo.IWrapper)aa).NativeHandle);
Test.Assert(hsh[a].Number == aa.Number);
Test.Assert(hsh.Count == 1);
hsh[b] = bb;
- Test.Assert(hsh[b].NativeHandle == bb.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)hsh[b]).NativeHandle == ((Efl.Eo.IWrapper)bb).NativeHandle);
Test.Assert(hsh[b].Number == bb.Number);
Test.Assert(hsh.Count == 2);
hsh[c] = cc;
- Test.Assert(hsh[c].NativeHandle == cc.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)hsh[c]).NativeHandle == ((Efl.Eo.IWrapper)cc).NativeHandle);
Test.Assert(hsh[c].Number == cc.Number);
Test.Assert(hsh.Count == 3);
@@ -2818,7 +2818,7 @@
foreach (KeyValuePair kvp in hsh)
{
- Test.Assert(dct[kvp.Key.Number].NativeHandle == kvp.Value.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)dct[kvp.Key.Number]).NativeHandle == ((Efl.Eo.IWrapper)kvp.Value).NativeHandle);
Test.Assert(dct[kvp.Key.Number].Number == kvp.Value.Number);
dct.Remove(kvp.Key.Number);
++count;
@@ -3120,10 +3120,10 @@
Dummy.Numberwrapper nwv2;
Test.Assert(t.EinaHashObjIn(hsh, nwk1, nwv1, out nwk2, out nwv2));
Test.Assert(hsh.Own);
- Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)hsh[nwk1]).NativeHandle == ((Efl.Eo.IWrapper)nwv1).NativeHandle);
Test.Assert(hsh[nwk1].Number == nwv1.Number);
Test.Assert(hsh[nwk1].Number == 222);
- Test.Assert(hsh[nwk2].NativeHandle == nwv2.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)hsh[nwk2]).NativeHandle == ((Efl.Eo.IWrapper)nwv2).NativeHandle);
Test.Assert(hsh[nwk2].Number == nwv2.Number);
Test.Assert(hsh[nwk2].Number == 444);
nwk1.Dispose();
@@ -3146,10 +3146,10 @@
Dummy.Numberwrapper nwv2;
Test.Assert(t.EinaHashObjInOwn(hsh, nwk1, nwv1, out nwk2, out nwv2));
Test.Assert(!hsh.Own);
- Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)hsh[nwk1]).NativeHandle == ((Efl.Eo.IWrapper)nwv1).NativeHandle);
Test.Assert(hsh[nwk1].Number == nwv1.Number);
Test.Assert(hsh[nwk1].Number == 222);
- Test.Assert(hsh[nwk2].NativeHandle == nwv2.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)hsh[nwk2]).NativeHandle == ((Efl.Eo.IWrapper)nwv2).NativeHandle);
Test.Assert(hsh[nwk2].Number == nwv2.Number);
Test.Assert(hsh[nwk2].Number == 444);
hsh.Dispose();
@@ -3170,7 +3170,7 @@
Dummy.Numberwrapper nwv1;
Test.Assert(t.EinaHashObjOut(out hsh, out nwk1, out nwv1));
Test.Assert(!hsh.Own);
- Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)hsh[nwk1]).NativeHandle == ((Efl.Eo.IWrapper)nwv1).NativeHandle);
Test.Assert(hsh[nwk1].Number == nwv1.Number);
Test.Assert(hsh[nwk1].Number == 222);
Dummy.Numberwrapper nwk2 = NW(44);
@@ -3194,7 +3194,7 @@
Dummy.Numberwrapper nwv1;
Test.Assert(t.EinaHashObjOutOwn(out hsh, out nwk1, out nwv1));
Test.Assert(hsh.Own);
- Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)hsh[nwk1]).NativeHandle == ((Efl.Eo.IWrapper)nwv1).NativeHandle);
Test.Assert(hsh[nwk1].Number == nwv1.Number);
Test.Assert(hsh[nwk1].Number == 222);
Dummy.Numberwrapper nwk2 = NW(44);
@@ -3217,7 +3217,7 @@
Dummy.Numberwrapper nwv1;
var hsh = t.EinaHashObjReturn(out nwk1, out nwv1);
Test.Assert(!hsh.Own);
- Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)hsh[nwk1]).NativeHandle == ((Efl.Eo.IWrapper)nwv1).NativeHandle);
Test.Assert(hsh[nwk1].Number == nwv1.Number);
Test.Assert(hsh[nwk1].Number == 222);
Dummy.Numberwrapper nwk2 = NW(44);
@@ -3240,7 +3240,7 @@
Dummy.Numberwrapper nwv1;
var hsh = t.EinaHashObjReturnOwn(out nwk1, out nwv1);
Test.Assert(hsh.Own);
- Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)hsh[nwk1]).NativeHandle == ((Efl.Eo.IWrapper)nwv1).NativeHandle);
Test.Assert(hsh[nwk1].Number == nwv1.Number);
Test.Assert(hsh[nwk1].Number == 222);
Dummy.Numberwrapper nwk2 = NW(44);
@@ -3394,7 +3394,7 @@
int idx = 0;
foreach (Dummy.Numberwrapper e in itr)
{
- Test.Assert(e.NativeHandle == base_objs[idx].NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)e).NativeHandle == ((Efl.Eo.IWrapper)base_objs[idx]).NativeHandle);
Test.Assert(e.Number == base_objs[idx].Number);
++idx;
}
@@ -3560,7 +3560,7 @@
int idx = 0;
foreach (Dummy.Numberwrapper e in itr)
{
- Test.Assert(e.NativeHandle == base_objs[idx].NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)e).NativeHandle == ((Efl.Eo.IWrapper)base_objs[idx]).NativeHandle);
Test.Assert(e.Number == base_objs[idx].Number);
++idx;
}
@@ -3913,7 +3913,7 @@
foreach (Dummy.Numberwrapper e in itr)
{
Test.Assert(dct[e.Number] != null);
- Test.Assert(dct[e.Number].NativeHandle == e.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)dct[e.Number]).NativeHandle == ((Efl.Eo.IWrapper)e).NativeHandle);
Test.Assert(dct[e.Number].Number == e.Number);
dct.Remove(e.Number);
++idx;
@@ -3949,7 +3949,7 @@
foreach (Dummy.Numberwrapper e in itr)
{
Test.Assert(dct[e.Number] != null);
- Test.Assert(dct[e.Number].NativeHandle == e.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)dct[e.Number]).NativeHandle == ((Efl.Eo.IWrapper)e).NativeHandle);
Test.Assert(dct[e.Number].Number == e.Number);
dct.Remove(e.Number);
++idx;
diff --git a/src/tests/efl_mono/Eo.cs b/src/tests/efl_mono/Eo.cs
--- a/src/tests/efl_mono/Eo.cs
+++ b/src/tests/efl_mono/Eo.cs
@@ -39,11 +39,11 @@
{
var testing = new Dummy.TestObject();
var o1 = testing.ReturnObject();
- Test.Assert(o1.NativeHandle != IntPtr.Zero);
- Test.Assert(o1.NativeHandle == testing.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)o1).NativeHandle != IntPtr.Zero);
+ Test.Assert(((Efl.Eo.IWrapper)o1).NativeHandle == ((Efl.Eo.IWrapper)testing).NativeHandle);
var o2 = o1.ReturnObject();
- Test.Assert(o2.NativeHandle != IntPtr.Zero);
- Test.Assert(o2.NativeHandle == o1.NativeHandle);
+ Test.Assert(((Efl.Eo.IWrapper)o2).NativeHandle != IntPtr.Zero);
+ Test.Assert(((Efl.Eo.IWrapper)o2).NativeHandle == ((Efl.Eo.IWrapper)o1).NativeHandle);
testing.Dispose();
}
/* Commented out as adding the event listener seems to prevent it from being GC'd.
@@ -123,7 +123,7 @@
public static void instantiate_inherited()
{
Efl.Object loop = new MyObject();
- Test.Assert(loop.NativeHandle != System.IntPtr.Zero);
+ Test.Assert(((Efl.Eo.IWrapper)loop).NativeHandle != System.IntPtr.Zero);
loop.Dispose();
}