summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bindings/mono/eo_mono/workaround.cs82
-rw-r--r--src/tests/efl_mono/Eina.cs18
-rw-r--r--src/tests/efl_mono/StructHelpers.cs3
-rw-r--r--src/tests/efl_mono/dummy_test_object.c2
-rw-r--r--src/tests/efl_mono/dummy_test_object.eo55
5 files changed, 130 insertions, 30 deletions
diff --git a/src/bindings/mono/eo_mono/workaround.cs b/src/bindings/mono/eo_mono/workaround.cs
index 9f22b90fa6..49a6e1ef58 100644
--- a/src/bindings/mono/eo_mono/workaround.cs
+++ b/src/bindings/mono/eo_mono/workaround.cs
@@ -108,6 +108,88 @@ public struct EventDescription
108 } 108 }
109}; 109};
110 110
111/// <summary>
112/// A parameter passed in event callbacks holding extra event parameters.
113/// This is the full event information passed to callbacks in C.
114/// (Since EFL 1.22)
115/// </summary>
116[StructLayout(LayoutKind.Sequential)]
117[Efl.Eo.BindingEntity]
118public struct Event
119{
120 /// <summary>The object the callback was called on.
121 /// (Since EFL 1.22)</summary>
122 public Efl.Object Object;
123
124 /// <summary>The event description.
125 /// (Since EFL 1.22)</summary>
126 public Efl.EventDescription Desc;
127
128 /// <summary>Extra event information passed by the event caller.
129 /// Must be cast to the event type declared in the EO file. Keep in mind that:
130 /// 1) Objects are passed as a normal Eo*. Event subscribers can call functions on these objects.
131 /// 2) Structs, built-in types and containers are passed as const pointers, with one level of indirection.
132 /// (Since EFL 1.22)</summary>
133 public System.IntPtr Info;
134
135 /// <summary>Constructor for Event.</summary>
136 public Event(
137 Efl.Object obj = default(Efl.Object),
138 Efl.EventDescription desc = default(Efl.EventDescription),
139 System.IntPtr info = default(System.IntPtr))
140 {
141 this.Object = obj;
142 this.Desc = desc;
143 this.Info = info;
144 }
145
146 /// <summary>Implicit conversion to the managed representation from a native pointer.</summary>
147 /// <param name="ptr">Native pointer to be converted.</param>
148 public static implicit operator Event(IntPtr ptr)
149 {
150 var tmp = (Event.NativeStruct) Marshal.PtrToStructure(ptr, typeof(Event.NativeStruct));
151 return tmp;
152 }
153
154 /// <summary>Internal wrapper for struct Event.</summary>
155 [StructLayout(LayoutKind.Sequential)]
156 public struct NativeStruct
157 {
158 /// <summary>Internal wrapper for field Object</summary>
159 public System.IntPtr Object;
160
161 /// <summary>Internal wrapper for field Desc</summary>
162 public System.IntPtr Desc;
163
164 /// <summary>Internal wrapper for field Info</summary>
165 public System.IntPtr Info;
166
167 /// <summary>Implicit conversion to the internal/marshalling representation.</summary>
168 /// <param name="externalStruct">Managed struct to be converted.</param>
169 /// <returns>Native representation of the managed struct.</returns>
170 public static implicit operator Event.NativeStruct(Event externalStruct)
171 {
172 var internalStruct = new Event.NativeStruct();
173 internalStruct.Object = externalStruct.Object?.NativeHandle ?? System.IntPtr.Zero;
174 internalStruct.Desc = Eina.PrimitiveConversion.ManagedToPointerAlloc(externalStruct.Desc);
175 internalStruct.Info = externalStruct.Info;
176 return internalStruct;
177 }
178
179 /// <summary>Implicit conversion to the managed representation.</summary>
180 /// <param name="internalStruct">Native struct to be converted.</param>
181 /// <returns>Managed representation of the native struct.</returns>
182 public static implicit operator Event(Event.NativeStruct internalStruct)
183 {
184 var externalStruct = new Event();
185 externalStruct.Object = (Efl.Object) Efl.Eo.Globals.CreateWrapperFor(internalStruct.Object);
186 externalStruct.Desc = Eina.PrimitiveConversion.PointerToManaged<Efl.EventDescription>(internalStruct.Desc);
187 externalStruct.Info = internalStruct.Info;
188 return externalStruct;
189 }
190 }
191}
192
111public delegate void EventCb(System.IntPtr data, ref Event.NativeStruct evt); 193public delegate void EventCb(System.IntPtr data, ref Event.NativeStruct evt);
112public delegate void FreeWrapperSupervisorCb(System.IntPtr obj); 194public delegate void FreeWrapperSupervisorCb(System.IntPtr obj);
113 195
diff --git a/src/tests/efl_mono/Eina.cs b/src/tests/efl_mono/Eina.cs
index d71d6c8f7f..07dfd1bed2 100644
--- a/src/tests/efl_mono/Eina.cs
+++ b/src/tests/efl_mono/Eina.cs
@@ -826,7 +826,6 @@ class TestEinaArray
826 826
827 // Integer // 827 // Integer //
828 828
829 /*
830 public static void test_eina_array_int_in() 829 public static void test_eina_array_int_in()
831 { 830 {
832 var t = new Dummy.TestObject(); 831 var t = new Dummy.TestObject();
@@ -839,6 +838,7 @@ class TestEinaArray
839 Test.Assert(arr.Handle == IntPtr.Zero); 838 Test.Assert(arr.Handle == IntPtr.Zero);
840 } 839 }
841 840
841 /*
842 public static void test_eina_array_int_in_own() 842 public static void test_eina_array_int_in_own()
843 { 843 {
844 var t = new Dummy.TestObject(); 844 var t = new Dummy.TestObject();
@@ -851,6 +851,7 @@ class TestEinaArray
851 Test.Assert(arr.Handle == IntPtr.Zero); 851 Test.Assert(arr.Handle == IntPtr.Zero);
852 Test.Assert(t.CheckEinaArrayIntInOwn()); 852 Test.Assert(t.CheckEinaArrayIntInOwn());
853 } 853 }
854 */
854 855
855 public static void test_eina_array_int_out() 856 public static void test_eina_array_int_out()
856 { 857 {
@@ -865,6 +866,7 @@ class TestEinaArray
865 Test.Assert(t.CheckEinaArrayIntOut()); 866 Test.Assert(t.CheckEinaArrayIntOut());
866 } 867 }
867 868
869 /*
868 public static void test_eina_array_int_out_own() 870 public static void test_eina_array_int_out_own()
869 { 871 {
870 var t = new Dummy.TestObject(); 872 var t = new Dummy.TestObject();
@@ -876,6 +878,7 @@ class TestEinaArray
876 arr.Dispose(); 878 arr.Dispose();
877 Test.Assert(arr.Handle == IntPtr.Zero); 879 Test.Assert(arr.Handle == IntPtr.Zero);
878 } 880 }
881 */
879 882
880 public static void test_eina_array_int_return() 883 public static void test_eina_array_int_return()
881 { 884 {
@@ -889,6 +892,7 @@ class TestEinaArray
889 Test.Assert(t.CheckEinaArrayIntReturn()); 892 Test.Assert(t.CheckEinaArrayIntReturn());
890 } 893 }
891 894
895 /*
892 public static void test_eina_array_int_return_own() 896 public static void test_eina_array_int_return_own()
893 { 897 {
894 var t = new Dummy.TestObject(); 898 var t = new Dummy.TestObject();
@@ -1886,7 +1890,6 @@ class TestEinaList
1886 1890
1887 // Integer // 1891 // Integer //
1888 1892
1889 /*
1890 public static void test_eina_list_int_in() 1893 public static void test_eina_list_int_in()
1891 { 1894 {
1892 var t = new Dummy.TestObject(); 1895 var t = new Dummy.TestObject();
@@ -1899,6 +1902,7 @@ class TestEinaList
1899 Test.Assert(lst.Handle == IntPtr.Zero); 1902 Test.Assert(lst.Handle == IntPtr.Zero);
1900 } 1903 }
1901 1904
1905 /*
1902 public static void test_eina_list_int_in_own() 1906 public static void test_eina_list_int_in_own()
1903 { 1907 {
1904 var t = new Dummy.TestObject(); 1908 var t = new Dummy.TestObject();
@@ -1910,6 +1914,7 @@ class TestEinaList
1910 Test.Assert(lst.Handle == IntPtr.Zero); 1914 Test.Assert(lst.Handle == IntPtr.Zero);
1911 Test.Assert(t.CheckEinaListIntInOwn()); 1915 Test.Assert(t.CheckEinaListIntInOwn());
1912 } 1916 }
1917 */
1913 1918
1914 public static void test_eina_list_int_out() 1919 public static void test_eina_list_int_out()
1915 { 1920 {
@@ -1923,6 +1928,7 @@ class TestEinaList
1923 Test.Assert(t.CheckEinaListIntOut()); 1928 Test.Assert(t.CheckEinaListIntOut());
1924 } 1929 }
1925 1930
1931 /*
1926 public static void test_eina_list_int_out_own() 1932 public static void test_eina_list_int_out_own()
1927 { 1933 {
1928 var t = new Dummy.TestObject(); 1934 var t = new Dummy.TestObject();
@@ -1934,6 +1940,7 @@ class TestEinaList
1934 lst.Dispose(); 1940 lst.Dispose();
1935 Test.Assert(lst.Handle == IntPtr.Zero); 1941 Test.Assert(lst.Handle == IntPtr.Zero);
1936 } 1942 }
1943 */
1937 1944
1938 public static void test_eina_list_int_return() 1945 public static void test_eina_list_int_return()
1939 { 1946 {
@@ -1946,6 +1953,7 @@ class TestEinaList
1946 Test.Assert(t.CheckEinaListIntReturn()); 1953 Test.Assert(t.CheckEinaListIntReturn());
1947 } 1954 }
1948 1955
1956 /*
1949 public static void test_eina_list_int_return_own() 1957 public static void test_eina_list_int_return_own()
1950 { 1958 {
1951 var t = new Dummy.TestObject(); 1959 var t = new Dummy.TestObject();
@@ -2666,7 +2674,6 @@ class TestEinaHash
2666 2674
2667 // Integer // 2675 // Integer //
2668 2676
2669 /*
2670 public static void test_eina_hash_int_in() 2677 public static void test_eina_hash_int_in()
2671 { 2678 {
2672 var t = new Dummy.TestObject(); 2679 var t = new Dummy.TestObject();
@@ -2680,6 +2687,7 @@ class TestEinaHash
2680 Test.Assert(hsh.Handle == IntPtr.Zero); 2687 Test.Assert(hsh.Handle == IntPtr.Zero);
2681 } 2688 }
2682 2689
2690 /*
2683 public static void test_eina_hash_int_in_own() 2691 public static void test_eina_hash_int_in_own()
2684 { 2692 {
2685 var t = new Dummy.TestObject(); 2693 var t = new Dummy.TestObject();
@@ -2694,6 +2702,7 @@ class TestEinaHash
2694 Test.Assert(hsh.Handle == IntPtr.Zero); 2702 Test.Assert(hsh.Handle == IntPtr.Zero);
2695 Test.Assert(t.CheckEinaHashIntInOwn()); 2703 Test.Assert(t.CheckEinaHashIntInOwn());
2696 } 2704 }
2705 */
2697 2706
2698 public static void test_eina_hash_int_out() 2707 public static void test_eina_hash_int_out()
2699 { 2708 {
@@ -2709,6 +2718,7 @@ class TestEinaHash
2709 Test.Assert(t.CheckEinaHashIntOut()); 2718 Test.Assert(t.CheckEinaHashIntOut());
2710 } 2719 }
2711 2720
2721 /*
2712 public static void test_eina_hash_int_out_own() 2722 public static void test_eina_hash_int_out_own()
2713 { 2723 {
2714 var t = new Dummy.TestObject(); 2724 var t = new Dummy.TestObject();
@@ -2722,6 +2732,7 @@ class TestEinaHash
2722 Test.Assert(hsh.Handle == IntPtr.Zero); 2732 Test.Assert(hsh.Handle == IntPtr.Zero);
2723 Test.Assert(t.CheckEinaHashIntOutOwn()); 2733 Test.Assert(t.CheckEinaHashIntOutOwn());
2724 } 2734 }
2735 */
2725 2736
2726 public static void test_eina_hash_int_return() 2737 public static void test_eina_hash_int_return()
2727 { 2738 {
@@ -2736,6 +2747,7 @@ class TestEinaHash
2736 Test.Assert(t.CheckEinaHashIntReturn()); 2747 Test.Assert(t.CheckEinaHashIntReturn());
2737 } 2748 }
2738 2749
2750 /*
2739 public static void test_eina_hash_int_return_own() 2751 public static void test_eina_hash_int_return_own()
2740 { 2752 {
2741 var t = new Dummy.TestObject(); 2753 var t = new Dummy.TestObject();
diff --git a/src/tests/efl_mono/StructHelpers.cs b/src/tests/efl_mono/StructHelpers.cs
index 110432f08f..7af3529055 100644
--- a/src/tests/efl_mono/StructHelpers.cs
+++ b/src/tests/efl_mono/StructHelpers.cs
@@ -41,7 +41,6 @@ internal class StructHelpers
41 simple.Ffloat = -16777216.0f; 41 simple.Ffloat = -16777216.0f;
42 simple.Fdouble = -9007199254740992.0; 42 simple.Fdouble = -9007199254740992.0;
43 simple.Fbool = true; 43 simple.Fbool = true;
44 simple.Fvoid_ptr = (IntPtr) 0xFE;
45 simple.Fenum = Dummy.SampleEnum.V2; 44 simple.Fenum = Dummy.SampleEnum.V2;
46 simple.Fstring = "test/string"; 45 simple.Fstring = "test/string";
47 simple.Fmstring = "test/mstring"; 46 simple.Fmstring = "test/mstring";
@@ -78,7 +77,6 @@ internal class StructHelpers
78 Test.Assert(simple.Ffloat == -16777216.0f); 77 Test.Assert(simple.Ffloat == -16777216.0f);
79 Test.Assert(simple.Fdouble == -9007199254740992.0); 78 Test.Assert(simple.Fdouble == -9007199254740992.0);
80 Test.Assert(simple.Fbool == true); 79 Test.Assert(simple.Fbool == true);
81 Test.Assert(simple.Fvoid_ptr == (IntPtr) 0xFE);
82 Test.Assert(simple.Fenum == Dummy.SampleEnum.V2); 80 Test.Assert(simple.Fenum == Dummy.SampleEnum.V2);
83 Test.Assert(simple.Fstring == "test/string"); 81 Test.Assert(simple.Fstring == "test/string");
84 Test.Assert(simple.Fmstring == "test/mstring"); 82 Test.Assert(simple.Fmstring == "test/mstring");
@@ -113,7 +111,6 @@ internal class StructHelpers
113 Test.Assert(simple.Ffloat == 0); 111 Test.Assert(simple.Ffloat == 0);
114 Test.Assert(simple.Fdouble == 0); 112 Test.Assert(simple.Fdouble == 0);
115 Test.Assert(simple.Fbool == false); 113 Test.Assert(simple.Fbool == false);
116 Test.Assert(simple.Fvoid_ptr == IntPtr.Zero);
117 Test.Assert(simple.Fenum == Dummy.SampleEnum.V0); 114 Test.Assert(simple.Fenum == Dummy.SampleEnum.V0);
118 Test.Assert(simple.Fstring == null); 115 Test.Assert(simple.Fstring == null);
119 Test.Assert(simple.Fmstring == null); 116 Test.Assert(simple.Fmstring == null);
diff --git a/src/tests/efl_mono/dummy_test_object.c b/src/tests/efl_mono/dummy_test_object.c
index e6bec29362..6717b12476 100644
--- a/src/tests/efl_mono/dummy_test_object.c
+++ b/src/tests/efl_mono/dummy_test_object.c
@@ -4040,7 +4040,6 @@ void struct_simple_with_values(Dummy_StructSimple *simple)
4040 simple->ffloat = -16777216.0; 4040 simple->ffloat = -16777216.0;
4041 simple->fdouble = -9007199254740992.0; 4041 simple->fdouble = -9007199254740992.0;
4042 simple->fbool = EINA_TRUE; 4042 simple->fbool = EINA_TRUE;
4043 simple->fvoid_ptr = (void*) 0xFE;
4044 simple->fenum = DUMMY_SAMPLEENUM_V2; 4043 simple->fenum = DUMMY_SAMPLEENUM_V2;
4045 simple->fstring = "test/string"; 4044 simple->fstring = "test/string";
4046 simple->fmstring = strdup("test/mstring"); 4045 simple->fmstring = strdup("test/mstring");
@@ -4077,7 +4076,6 @@ Eina_Bool check_and_modify_struct_simple(Dummy_StructSimple *simple)
4077 && EQUAL(simple->ffloat, -16777216.0) 4076 && EQUAL(simple->ffloat, -16777216.0)
4078 && EQUAL(simple->fdouble, -9007199254740992.0) 4077 && EQUAL(simple->fdouble, -9007199254740992.0)
4079 && EQUAL(simple->fbool, EINA_TRUE) 4078 && EQUAL(simple->fbool, EINA_TRUE)
4080 && EQUAL(simple->fvoid_ptr, (void*) 0xFE)
4081 && EQUAL(simple->fenum, DUMMY_SAMPLEENUM_V2) 4079 && EQUAL(simple->fenum, DUMMY_SAMPLEENUM_V2)
4082 && STR_EQUAL(simple->fstring, "test/string") 4080 && STR_EQUAL(simple->fstring, "test/string")
4083 && STR_EQUAL(simple->fmstring, "test/mstring") 4081 && STR_EQUAL(simple->fmstring, "test/mstring")
diff --git a/src/tests/efl_mono/dummy_test_object.eo b/src/tests/efl_mono/dummy_test_object.eo
index 97b7cf6641..2273c23a20 100644
--- a/src/tests/efl_mono/dummy_test_object.eo
+++ b/src/tests/efl_mono/dummy_test_object.eo
@@ -51,7 +51,6 @@ struct @free(free) Dummy.StructSimple
51 ffloat: float; 51 ffloat: float;
52 fdouble: double; 52 fdouble: double;
53 fbool: bool; 53 fbool: bool;
54 fvoid_ptr: void_ptr;
55 fenum: Dummy.SampleEnum; 54 fenum: Dummy.SampleEnum;
56 // fboolptr: ptr(bool); // TODO 55 // fboolptr: ptr(bool); // TODO
57 // fbyteptr: ptr(byte); 56 // fbyteptr: ptr(byte);
@@ -379,27 +378,28 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface {
379 /* Eina Array */ 378 /* Eina Array */
380 379
381 /* Integer */ 380 /* Integer */
382 /*
383 eina_array_int_in { 381 eina_array_int_in {
384 params { 382 params {
385 @in arr: array<ptr(int)>; 383 @in arr: array<int>;
386 } 384 }
387 return: bool; 385 return: bool;
388 } 386 }
389 387
388 /*
390 eina_array_int_in_own { 389 eina_array_int_in_own {
391 params { 390 params {
392 @in arr: array<free(ptr(int),free) @owned> @owned; 391 @in arr: array<int> @owned; // <int @owned>
393 } 392 }
394 return: bool; 393 return: bool;
395 } 394 }
396 check_eina_array_int_in_own { 395 check_eina_array_int_in_own {
397 return: bool; 396 return: bool;
398 } 397 }
398 */
399 399
400 eina_array_int_out { 400 eina_array_int_out {
401 params { 401 params {
402 @out arr: array<ptr(int)>; 402 @out arr: array<int>;
403 } 403 }
404 return: bool; 404 return: bool;
405 } 405 }
@@ -407,22 +407,25 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface {
407 return: bool; 407 return: bool;
408 } 408 }
409 409
410 /*
410 eina_array_int_out_own { 411 eina_array_int_out_own {
411 params { 412 params {
412 @out arr: array<free(ptr(int),free) @owned> @owned; 413 @out arr: array<int> @owned; // <int @owned>
413 } 414 }
414 return: bool; 415 return: bool;
415 } 416 }
417 */
416 418
417 eina_array_int_return { 419 eina_array_int_return {
418 return: array<ptr(int)>; 420 return: array<int>;
419 } 421 }
420 check_eina_array_int_return { 422 check_eina_array_int_return {
421 return: bool; 423 return: bool;
422 } 424 }
423 425
426 /*
424 eina_array_int_return_own { 427 eina_array_int_return_own {
425 return: array<free(ptr(int),free) @owned> @owned; 428 return: array<int> @owned; // <int @owned>
426 } 429 }
427 */ 430 */
428 431
@@ -574,27 +577,28 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface {
574 /* Eina List */ 577 /* Eina List */
575 578
576 /* Integer */ 579 /* Integer */
577 /*
578 eina_list_int_in { 580 eina_list_int_in {
579 params { 581 params {
580 @in lst: list<ptr(int)>; 582 @in lst: list<int>;
581 } 583 }
582 return: bool; 584 return: bool;
583 } 585 }
584 586
587 /*
585 eina_list_int_in_own { 588 eina_list_int_in_own {
586 params { 589 params {
587 @in lst: list<free(ptr(int),free) @owned> @owned; 590 @in lst: list<int> @owned; // <int @owned>
588 } 591 }
589 return: bool; 592 return: bool;
590 } 593 }
591 check_eina_list_int_in_own { 594 check_eina_list_int_in_own {
592 return: bool; 595 return: bool;
593 } 596 }
597 */
594 598
595 eina_list_int_out { 599 eina_list_int_out {
596 params { 600 params {
597 @out lst: list<ptr(int)>; 601 @out lst: list<int>;
598 } 602 }
599 return: bool; 603 return: bool;
600 } 604 }
@@ -602,22 +606,25 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface {
602 return: bool; 606 return: bool;
603 } 607 }
604 608
609 /*
605 eina_list_int_out_own { 610 eina_list_int_out_own {
606 params { 611 params {
607 @out lst: list<free(ptr(int),free) @owned> @owned; 612 @out lst: list<int> @owned; // <int @owned>
608 } 613 }
609 return: bool; 614 return: bool;
610 } 615 }
616 */
611 617
612 eina_list_int_return { 618 eina_list_int_return {
613 return: list<ptr(int)>; 619 return: list<int>;
614 } 620 }
615 check_eina_list_int_return { 621 check_eina_list_int_return {
616 return: bool; 622 return: bool;
617 } 623 }
618 624
625 /*
619 eina_list_int_return_own { 626 eina_list_int_return_own {
620 return: list<free(ptr(int),free) @owned> @owned; 627 return: list<int> @owned; // <int @owned>
621 } 628 }
622 */ 629 */
623 630
@@ -769,27 +776,28 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface {
769 // Eina Hash // 776 // Eina Hash //
770 777
771 // Integer // 778 // Integer //
772 /*
773 eina_hash_int_in { 779 eina_hash_int_in {
774 params { 780 params {
775 @in hsh: hash<ptr(int), ptr(int)>; 781 @in hsh: hash<int, int>;
776 } 782 }
777 return: bool; 783 return: bool;
778 } 784 }
779 785
786 /*
780 eina_hash_int_in_own { 787 eina_hash_int_in_own {
781 params { 788 params {
782 @in hsh: hash<ptr(int), free(ptr(int),free) @owned> @owned; 789 @in hsh: hash<int, int> @owned; // <, int @owned>
783 } 790 }
784 return: bool; 791 return: bool;
785 } 792 }
786 check_eina_hash_int_in_own { 793 check_eina_hash_int_in_own {
787 return: bool; 794 return: bool;
788 } 795 }
796 */
789 797
790 eina_hash_int_out { 798 eina_hash_int_out {
791 params { 799 params {
792 @out hsh: hash<ptr(int), ptr(int)>; 800 @out hsh: hash<int, int>;
793 } 801 }
794 return: bool; 802 return: bool;
795 } 803 }
@@ -797,25 +805,28 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface {
797 return: bool; 805 return: bool;
798 } 806 }
799 807
808 /*
800 eina_hash_int_out_own { 809 eina_hash_int_out_own {
801 params { 810 params {
802 @out hsh: hash<ptr(int), free(ptr(int),free) @owned> @owned; 811 @out hsh: hash<int, int> @owned; // <, int @owned>
803 } 812 }
804 return: bool; 813 return: bool;
805 } 814 }
806 check_eina_hash_int_out_own { 815 check_eina_hash_int_out_own {
807 return: bool; 816 return: bool;
808 } 817 }
818 */
809 819
810 eina_hash_int_return { 820 eina_hash_int_return {
811 return: hash<ptr(int), ptr(int)>; 821 return: hash<int, int>;
812 } 822 }
813 check_eina_hash_int_return { 823 check_eina_hash_int_return {
814 return: bool; 824 return: bool;
815 } 825 }
816 826
827 /*
817 eina_hash_int_return_own { 828 eina_hash_int_return_own {
818 return: hash<ptr(int), free(ptr(int),free) @owned> @owned; 829 return: hash<int, int> @owned; // <, int @owned>
819 } 830 }
820 check_eina_hash_int_return_own { 831 check_eina_hash_int_return_own {
821 return: bool; 832 return: bool;