csharp: Change to new class API.
authorLauro Moura <lauromoura@expertisesolutions.com.br>
Thu, 29 Nov 2018 23:04:37 +0000 (21:04 -0200)
committerHermet Park <hermetpark@gmail.com>
Wed, 5 Dec 2018 05:51:19 +0000 (14:51 +0900)
Summary:
As discussed in T7204:

- Eo Interfaces/mixins -> C# Interfaces with concrete class
  implementations
- Eo Regular/Abstracts -> Proper C# classes
- Added some new generators and helper methods.
- Refactored the class generator, splitting into helper methods

Eo handles now are stored only in the "root" class in any given
inheritance tree (generally, Efl.Object), and accessible to each child.
Methods also are defined in a single place instead of repeatedly
generated in everyfile, reducing the size of the generated .dll from
30MB to around 4.5MB.

Mixins are generated as C# interfaces but any regular class it inherits
from is lost, as we can't have interfaces inheriting from regular
classes. This will be dealt with in a later commit.

Summary of API Changes:

- Merged Inherit/Concrete classes. (These suffixes disappear from
  regular classes).
- Interface still have implementations with 'Concrete' suffix for when
  they are returned from methods.
- Removed 'I' from interface names.
- Removed interfaces for regular/abstract Eo classes.
- Concrete classes for interfaces/mixins hold the event argument struct.
- Removed '_' from classes, enums, structs, etc, as indicated in C#
  naming conventions.
- Namespaces are now Camel.Cased.
- Renamed IWrapper's raw_handle/raw_klass to NativeHandle/NativeClass

Also renamed the test classes as after the namespace change, the
test namespace Test can conflict with the helper Test namespace.
(And use more meaningful names than Test.Testing...)

Also Fixes T7336 by removing a deprecated example and adding
efl_loop_timer_example to build system.

Fixes T7451 by hiding the class_get DllImports and renaming the IWrapper
fields. The native handlers are used in the manual binding.

Still need to work:

- As there are still some events names clashing (e.g. Efl.Ui.Bg with "resize"
  from Efl.Gfx.Entity and Efl.Gfx.Image), Events are currently declared on
  the interface and implemented "namespaced" in the classes,
  requiring the cast to the interface to access the event.
- The Mixin Conundrum. Mixin inheritance will be dealt in a future
  commit.

Depends on D7260

Reviewers: segfaultxavi, vitor.sousa, felipealmeida, Jaehyun_Cho

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7451, T7336

Differential Revision: https://phab.enlightenment.org/D7262

96 files changed:
src/Makefile_Efl_Mono.am
src/bin/eolian_mono/eolian/mono/async_function_definition.hh
src/bin/eolian_mono/eolian/mono/blacklist.hh
src/bin/eolian_mono/eolian/mono/enum_definition.hh
src/bin/eolian_mono/eolian/mono/events.hh
src/bin/eolian_mono/eolian/mono/function_definition.hh
src/bin/eolian_mono/eolian/mono/function_helpers.hh
src/bin/eolian_mono/eolian/mono/function_pointer.hh
src/bin/eolian_mono/eolian/mono/function_registration.hh
src/bin/eolian_mono/eolian/mono/helpers.hh
src/bin/eolian_mono/eolian/mono/klass.hh
src/bin/eolian_mono/eolian/mono/marshall_annotation.hh
src/bin/eolian_mono/eolian/mono/marshall_type.hh
src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh
src/bin/eolian_mono/eolian/mono/name_helpers.hh
src/bin/eolian_mono/eolian/mono/parameter.hh
src/bin/eolian_mono/eolian/mono/part_definition.hh
src/bin/eolian_mono/eolian/mono/struct_definition.hh
src/bin/eolian_mono/eolian/mono/type_impl.hh
src/bin/eolian_mono/eolian/mono/using_decl.hh
src/bin/eolian_mono/eolian/mono/utils.hh
src/bin/eolian_mono/eolian_mono.cc
src/bindings/mono/ecore_evas_mono/ecore_evas.cs
src/bindings/mono/efl_mono/efl_all.cs
src/bindings/mono/eina_mono/eina_accessor.cs
src/bindings/mono/eina_mono/eina_array.cs
src/bindings/mono/eina_mono/eina_binbuf.cs
src/bindings/mono/eina_mono/eina_common.cs
src/bindings/mono/eina_mono/eina_config.cs
src/bindings/mono/eina_mono/eina_container_common.cs
src/bindings/mono/eina_mono/eina_error.cs
src/bindings/mono/eina_mono/eina_hash.cs
src/bindings/mono/eina_mono/eina_inarray.cs
src/bindings/mono/eina_mono/eina_inlist.cs
src/bindings/mono/eina_mono/eina_iterator.cs
src/bindings/mono/eina_mono/eina_list.cs
src/bindings/mono/eina_mono/eina_log.cs
src/bindings/mono/eina_mono/eina_promises.cs
src/bindings/mono/eina_mono/eina_slice.cs
src/bindings/mono/eina_mono/eina_strbuf.cs
src/bindings/mono/eina_mono/eina_stringshare.cs
src/bindings/mono/eina_mono/eina_value.cs
src/bindings/mono/eldbus_mono/eldbus_common.cs
src/bindings/mono/eldbus_mono/eldbus_config.cs
src/bindings/mono/eldbus_mono/eldbus_connection.cs
src/bindings/mono/eldbus_mono/eldbus_message.cs
src/bindings/mono/eldbus_mono/eldbus_object.cs
src/bindings/mono/eldbus_mono/eldbus_proxy.cs
src/bindings/mono/eo_mono/iwrapper.cs
src/bindings/mono/eo_mono/workaround.cs
src/examples/ecore.mk
src/examples/ecore/efl_loop_callback_add_event.cs [deleted file]
src/examples/ecore/efl_loop_timer_example.cs [deleted file]
src/examples/ecore/efl_mono_loop_timer_example.cs [new file with mode: 0644]
src/examples/efl_mono/EoInherit01.cs
src/examples/efl_mono/FunctionPointer01.cs
src/examples/eina/EinaArray01.cs
src/examples/eina/EinaBinbuf01.cs
src/examples/eina/EinaError01.cs
src/examples/eina/EinaHash01.cs
src/examples/elementary/efl_ui_slider_mono.cs
src/examples/elementary/efl_ui_unit_converter.cs
src/examples/evas/evas_mono_box.cs
src/examples/evas/evas_mono_image.cs
src/examples/evas/evas_mono_image2.cs
src/examples/evas/evas_mono_rectangle.cs
src/examples/evas/evas_mono_table.cs
src/examples/evas/evas_mono_text.cs
src/lib/eolian_cxx/grammar/klass_def.hpp
src/tests/efl_mono/BasicDirection.cs
src/tests/efl_mono/Eina.cs
src/tests/efl_mono/Eo.cs
src/tests/efl_mono/EoPromises.cs
src/tests/efl_mono/Errors.cs
src/tests/efl_mono/Evas.cs
src/tests/efl_mono/Events.cs
src/tests/efl_mono/FunctionPointerMarshalling.cs
src/tests/efl_mono/FunctionPointers.cs
src/tests/efl_mono/Main.cs
src/tests/efl_mono/Parts.cs
src/tests/efl_mono/Promises.cs
src/tests/efl_mono/Strbuf.cs
src/tests/efl_mono/Strings.cs
src/tests/efl_mono/Structs.cs
src/tests/efl_mono/Value.cs
src/tests/efl_mono/ValueEolian.cs
src/tests/efl_mono/dummy_another_iface.eo [new file with mode: 0644]
src/tests/efl_mono/dummy_child.eo [new file with mode: 0644]
src/tests/efl_mono/dummy_numberwrapper.eo [new file with mode: 0644]
src/tests/efl_mono/dummy_test_iface.eo [new file with mode: 0644]
src/tests/efl_mono/dummy_test_object.eo [new file with mode: 0644]
src/tests/efl_mono/libefl_mono_native_test.c
src/tests/efl_mono/meson.build
src/tests/efl_mono/test_child.eo [deleted file]
src/tests/efl_mono/test_numberwrapper.eo [deleted file]
src/tests/efl_mono/test_testing.eo [deleted file]

index 78ebc073ecee4e796a005bd70d3923175183661b..792a8dc6e8a4110d876daa884e612e9c2beab0ac 100644 (file)
@@ -49,9 +49,11 @@ lib_efl_mono_libefl_mono_dll_sources = \
        $(efl_ecore_evas_mono_files)
 
 efl_mono_test_files = \
-       tests/efl_mono/test_testing.eo \
-       tests/efl_mono/test_child.eo \
-       tests/efl_mono/test_numberwrapper.eo \
+       tests/efl_mono/dummy_test_object.eo \
+       tests/efl_mono/dummy_test_iface.eo \
+       tests/efl_mono/dummy_another_iface.eo \
+       tests/efl_mono/dummy_child.eo \
+       tests/efl_mono/dummy_numberwrapper.eo \
        tests/efl_mono/mono_test_driver.sh
 
 EXTRA_DIST2 += \
@@ -384,12 +386,24 @@ tests_efl_mono_libefl_mono_native_test_la_LDFLAGS = -rpath $(abs_top_builddir)/t
 tests_efl_mono_libefl_mono_native_test_la_DEPENDENCIES = @USE_EINA_INTERNAL_LIBS@ @USE_EO_INTERNAL_LIBS@ @USE_ECORE_INTERNAL_LIBS@ @USE_ELDBUS_INTERNAL_LIBS@
 tests_efl_mono_libefl_mono_native_test_la_LIBTOOLFLAGS = --tag=disable-static
 
-tests/efl_mono/libefl_mono_native_test.c: tests/efl_mono/test_testing.eo.h tests/efl_mono/test_testing.eo.c tests/efl_mono/test_child.eo.h tests/efl_mono/test_child.eo.c tests/efl_mono/test_numberwrapper.eo.h tests/efl_mono/test_numberwrapper.eo.c
+tests/efl_mono/libefl_mono_native_test.c: \
+       tests/efl_mono/dummy_test_object.eo.h \
+       tests/efl_mono/dummy_test_object.eo.c \
+       tests/efl_mono/dummy_test_iface.eo.h \
+       tests/efl_mono/dummy_test_iface.eo.c \
+       tests/efl_mono/dummy_another_iface.eo.h \
+       tests/efl_mono/dummy_another_iface.eo.c \
+       tests/efl_mono/dummy_child.eo.h \
+       tests/efl_mono/dummy_child.eo.c \
+       tests/efl_mono/dummy_numberwrapper.eo.h \
+       tests/efl_mono/dummy_numberwrapper.eo.c
 
 # Intermediate C Sharp test DLL
-efl_mono_test_eolian_mono_files = tests/efl_mono/test_testing.eo.cs \
-tests/efl_mono/test_child.eo.cs \
-tests/efl_mono/test_numberwrapper.eo.cs
+efl_mono_test_eolian_mono_files = tests/efl_mono/dummy_test_object.eo.cs \
+tests/efl_mono/dummy_test_iface.eo.cs \
+tests/efl_mono/dummy_another_iface.eo.cs \
+tests/efl_mono/dummy_child.eo.cs \
+tests/efl_mono/dummy_numberwrapper.eo.cs
 
 tests/efl_mono/libefl_mono_test.dll: $(efl_mono_test_eolian_mono_files) tests/efl_mono/$(am__dirstamp) lib/efl_mono/libefl_mono.dll tests/efl_mono/libefl_mono_native_test.la tests/efl_mono/libefl_mono_test.dll.config
        @rm -f tests/efl_mono/libefl_mono_test.dll
@@ -461,7 +475,7 @@ tests/efl_mono/%.eo.cs: tests/efl_mono/%.eo $(_EOLIAN_MONO_DEP)
        $(MKDIR_P) $(dir $@); \
        $(EOLIAN_MONO) $(EOLIAN_FLAGS) $(EOLIAN_MONO_FLAGS) --dllimport "@DLIB_PREFIX_MONO@efl_mono_native_test@DLIB_SUFFIX_MONO@" -o $@ $(ALL_EO_REFS) $<
 
-CLEANFILES += tests/efl_mono/libefl_mono_test.dll tests/efl_mono/test_testing.eo.cs tests/efl_mono/test_child.eo.cs tests/efl_mono/test_numberwrapper.eo.cs tests/efl_mono/test_testing.eo.c tests/efl_mono/test_child.eo.c tests/efl_mono/test_numberwrapper.eo.c tests/efl_mono/test_testing.eo.h tests/efl_mono/test_child.eo.h tests/efl_mono/test_numberwrapper.eo.h tests/efl_mono/efl_mono.config
+CLEANFILES += tests/efl_mono/libefl_mono_test.dll tests/efl_mono/dummy_test_object.eo.cs tests/efl_mono/dummy_child.eo.cs tests/efl_mono/dummy_numberwrapper.eo.cs tests/efl_mono/dummy_test_object.eo.c tests/efl_mono/dummy_child.eo.c tests/efl_mono/dummy_numberwrapper.eo.c tests/efl_mono/dummy_test_object.eo.h tests/efl_mono/dummy_child.eo.h tests/efl_mono/dummy_numberwrapper.eo.h tests/efl_mono/efl_mono.config
 
 endif
 
index 3030c74e1eef8bf22174693c34cededd9bbe1d97..1dc705ad3a0835ece5a1ed3531e133d0870fb02e 100644 (file)
@@ -54,7 +54,7 @@ struct async_function_declaration_generator
       return true;
 
     if (!as_generator(
-            scope_tab << "System.Threading.Tasks.Task<eina.Value> " << name_helpers::managed_async_method_name(f) << "(" << *(parameter << ",") <<
+            scope_tab << "System.Threading.Tasks.Task<Eina.Value> " << name_helpers::managed_async_method_name(f) << "(" << *(parameter << ",") <<
                                     " System.Threading.CancellationToken token=default(System.Threading.CancellationToken));\n"
         ).generate(sink, f.parameters, context))
       return false;
@@ -89,10 +89,10 @@ struct async_function_definition_generator
     std::transform(f.parameters.begin(), f.parameters.end(), std::back_inserter(param_forwarding), parameter_forwarding);
 
     if(!as_generator(
-            scope_tab << "public System.Threading.Tasks.Task<eina.Value> " << name_helpers::managed_async_method_name(f) << "(" << *(parameter << ",") << " System.Threading.CancellationToken token)\n"
+            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"
             << scope_tab << "{\n"
-            << scope_tab << scope_tab << "eina.Future future = " << name_helpers::managed_method_name(f) << "(" << (string % ",") << ");\n"
-            << scope_tab << scope_tab << "return efl.eo.Globals.WrapAsync(future, token);\n"
+            << scope_tab << scope_tab << "Eina.Future future = " << name_helpers::managed_method_name(f) << "(" << (string % ",") << ");\n"
+            << scope_tab << scope_tab << "return Efl.Eo.Globals.WrapAsync(future, token);\n"
             << scope_tab << "}\n"
         ).generate(sink, std::make_tuple(f.parameters, param_forwarding), context))
       return false;
index e754bedc6890fe5507b18a5a058f7b9c62c10c43..779c69c8d243676646ce76881270443afa274e4d 100644 (file)
@@ -62,6 +62,8 @@ inline bool is_struct_blacklisted(std::string const& full_name)
        || full_name == "Eina.Slice"
        || full_name == "Eina.Rw_Slice"
        || full_name == "Eina.Promise"
+       || full_name == "Eina.Value"
+       || full_name == "Eina.Value_Type"
        || full_name == "Eina.Future";
 }
 
index 9261f5b2e6e100f4e41f68a9ed89d4bd20cae1a1..78af78af2c8bb7d591ac0a3cc236918d9fec2d8b 100644 (file)
@@ -27,16 +27,15 @@ struct enum_definition_generator
         (
          "public enum " << string << "\n{\n"
          )
-        .generate(sink, name_helpers::enum_managed_name(enum_), context))
+        .generate(sink, name_helpers::typedecl_managed_name(enum_), context))
        return false;
 
      // iterate enum fiels
      for(auto first = std::begin(enum_.fields)
              , last = std::end(enum_.fields); first != last; ++first)
        {
-          auto name = (*first).name;
+          auto name = name_helpers::enum_field_managed_name((*first).name);
           auto literal = (*first).value.literal;
-          name[0] = std::toupper(name[0]); // Hack to allow 'static' as a field name
           if (!as_generator
               (
                documentation << string << " = " << string << ",\n"
index a5fe8ec788a9d87a7e768614159ff51393187fae..426763626b233e68298ee84f53e524d123b9a1ca 100644 (file)
@@ -41,8 +41,8 @@ struct unpack_event_args_visitor
            {"bool", [&arg] { return arg + " != IntPtr.Zero"; }}
            , {"int", [&arg] { return arg + ".ToInt32()"; }}
            , {"uint", [&arg] { return "(uint)" + arg + ".ToInt32()";}}
-           , {"string", [&arg] { return "eina.StringConversion.NativeUtf8ToManagedString(" + arg + ")"; }}
-           , {"Eina.Error", [&arg] { return "(eina.Error)Marshal.PtrToStructure(" + arg + ", typeof(eina.Error))"; }}
+           , {"string", [&arg] { return "Eina.StringConversion.NativeUtf8ToManagedString(" + arg + ")"; }}
+           , {"Eina.Error", [&arg] { return "(Eina.Error)Marshal.PtrToStructure(" + arg + ", typeof(Eina.Error))"; }}
         };
 
       std::string full_type_name = name_helpers::type_full_eolian_name(regular);
@@ -71,6 +71,9 @@ struct unpack_event_args_visitor
    }
 };
 
+/*
+ * Generates a struct wrapping the argument of a given event.
+ */
 struct event_argument_wrapper_generator
 {
    template<typename OutputIterator, typename Context>
@@ -97,6 +100,11 @@ struct event_argument_wrapper_generator
    }
 } const event_argument_wrapper {};
 
+/*
+ * Generates an event declaration as a C# Interface member.
+ * In regular/abstract classes they are declared directly in their
+ * implementation in event_definition_generator.
+ */
 struct event_declaration_generator
 {
    template<typename OutputIterator, typename Context>
@@ -104,11 +112,9 @@ struct event_declaration_generator
    {
       std::string wrapper_args_type;
       std::string evt_name = name_helpers::managed_event_name(evt.name);
-      std::string evt_args_name = name_helpers::managed_event_args_name(evt);
 
-      efl::eina::optional<grammar::attributes::type_def> etype = evt.type;
-      if (etype.is_engaged())
-        wrapper_args_type = "<" + evt_args_name + ">";
+      if (evt.type.is_engaged())
+        wrapper_args_type = "<" + name_helpers::managed_event_args_name(evt) + ">";
 
       if (!as_generator(
                 documentation(1)
@@ -122,34 +128,39 @@ struct event_declaration_generator
 
 struct event_registration_generator
 {
-   attributes::klass_def const* klass;
+   attributes::klass_def const& klass;
+   attributes::klass_def const& leaf_klass;
+   bool is_inherited_event;
+
    template<typename OutputIterator, typename Context>
    bool generate(OutputIterator sink, attributes::event_def const& evt, Context const& context) const
    {
        std::string wrapper_event_name;
 
-       if (klass)
-            wrapper_event_name = name_helpers::translate_inherited_event_name(evt, *klass);
+       if (is_inherited_event && !helpers::is_unique_event(evt, leaf_klass))
+            wrapper_event_name = name_helpers::translate_inherited_event_name(evt, klass);
        else
             wrapper_event_name = name_helpers::managed_event_name(evt.name);
 
        return as_generator(scope_tab << scope_tab << "evt_" << wrapper_event_name << "_delegate = "
-                        << "new efl.Event_Cb(on_" << wrapper_event_name << "_NativeCallback);\n"
+                        << "new Efl.EventCb(on_" << wrapper_event_name << "_NativeCallback);\n"
                 ).generate(sink, attributes::unused, context);
    }
 };
 
 struct event_registration_parameterized
 {
-   event_registration_generator operator()(attributes::klass_def const* klass=NULL) const
+   event_registration_generator operator()(attributes::klass_def const& klass, attributes::klass_def const& leaf_klass) const
    {
-      return {klass};
+      bool is_inherited_event = klass != leaf_klass;
+      return {klass, leaf_klass, is_inherited_event};
    }
 } const event_registration;
 
 struct event_definition_generator
 {
    attributes::klass_def const& klass;
+   attributes::klass_def const& leaf_klass;
    bool is_inherited_event;
 
    template<typename OutputIterator, typename Context>
@@ -157,8 +168,12 @@ struct event_definition_generator
    {
       std::string managed_evt_name = name_helpers::managed_event_name(evt.name);
 
+      bool is_unique = helpers::is_unique_event(evt, leaf_klass);
+      bool use_explicit_impl = is_inherited_event && !is_unique;
+
+      // The name of the public event that goes in the public API.
       std::string wrapper_evt_name;
-      if (is_inherited_event)
+      if (use_explicit_impl)
         wrapper_evt_name = name_helpers::translate_inherited_event_name(evt, klass);
       else
         wrapper_evt_name = managed_evt_name;
@@ -167,14 +182,11 @@ struct event_definition_generator
       if (is_inherited_event)
         klass_name = name_helpers::klass_full_interface_name(klass);
       else
-        klass_name = name_helpers::klass_interface_name(klass);
-
+        klass_name = name_helpers::klass_concrete_name(klass);
 
-      std::string upper_c_name = utils::to_uppercase(evt.c_name);
       std::string wrapper_args_type = "EventArgs";
       std::string wrapper_args_template = "";
       std::string event_args = "EventArgs args = EventArgs.Empty;\n";
-      std::string visibility = is_inherit_context(context) ? "protected" : "private";
 
       efl::eina::optional<grammar::attributes::type_def> etype = evt.type;
 
@@ -196,68 +208,125 @@ struct event_definition_generator
            event_args = arg_initializer;
         }
 
-      // Wrapper event declaration
+      if(!as_generator("private static object " << wrapper_evt_name << "Key = new object();\n")
+              .generate(sink, attributes::unused, context))
+        return false;
+
       if(!as_generator(documentation(1)).generate(sink, evt, context))
         return false;
 
-      if(!as_generator(
-            scope_tab << visibility << " event EventHandler" << wrapper_args_template << " " << wrapper_evt_name << ";\n"
-            << scope_tab << "///<summary>Method to raise event "<< wrapper_evt_name << ".</summary>\n"
-            << scope_tab << visibility << " void On_" << wrapper_evt_name << "(" << wrapper_args_type << " e)\n"
-            << scope_tab << "{\n"
-            << scope_tab << scope_tab << "EventHandler" << wrapper_args_template << " evt;\n"
-            << scope_tab << scope_tab << "lock (eventLock) {\n"
-            << scope_tab << scope_tab << scope_tab << "evt = " << wrapper_evt_name << ";\n"
-            << scope_tab << scope_tab << "}\n"
-            << scope_tab << scope_tab << "if (evt != null) { evt(this, e); }\n"
-            << scope_tab << "}\n"
-            << scope_tab << "private void on_" << wrapper_evt_name << "_NativeCallback(System.IntPtr data, ref efl.Event_StructInternal evt)\n"
+      // Visible event declaration. Either a regular class member or an explicit interface implementation.
+      if (klass.type == attributes::class_type::interface_ || klass.type == attributes::class_type::mixin)
+      {
+         // Public event implementation.
+         if (!as_generator(
+                     scope_tab << (!use_explicit_impl ? "public " : " ") << "event EventHandler" << wrapper_args_template << " " << (use_explicit_impl ? (klass_name + ".") : "") << managed_evt_name << "\n"
+                  ).generate(sink, attributes::unused, context))
+           return false;
+      }
+      else // For inheritable classes event handling.
+      {
+         // We may have inherited an event with the same name as this concrete event, thus
+         // the concrete event would "hide" the interface one, requiring the new keyword.
+         std::string visibility = "public ";
+         if (!is_unique)
+           visibility += "new ";
+
+         if (!as_generator(
+               scope_tab << visibility << "event EventHandler" << wrapper_args_template << " " << wrapper_evt_name << "\n"
+               ).generate(sink, attributes::unused, context))
+           return false;
+      }
+
+      if (!generate_event_add_remove(sink, evt, wrapper_evt_name, context))
+        return false;
+
+      if (!generate_event_trigger(sink, wrapper_evt_name, wrapper_args_type, wrapper_args_template, context))
+        return false;
+
+      // Store the delegate for this event in this instance. This is initialized in register_event_proxies()
+      // We can't initialize them directly here as they depend on the member methods being valid (i.e.
+      // the constructor being called).
+      if (!as_generator(scope_tab << "Efl.EventCb evt_" << wrapper_evt_name << "_delegate;\n").generate(sink, attributes::unused, context))
+        return false;
+
+      // Callback to be given to C's callback_priority_add
+      if (!as_generator(
+            scope_tab << "private void on_" << wrapper_evt_name << "_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)\n"
             << scope_tab << "{\n"
             << scope_tab << scope_tab << event_args
             << scope_tab << scope_tab << "try {\n"
             << scope_tab << scope_tab << scope_tab << "On_" << wrapper_evt_name << "(args);\n"
             << scope_tab << scope_tab <<  "} catch (Exception e) {\n"
-            << scope_tab << scope_tab << scope_tab << "eina.Log.Error(e.ToString());\n"
-            << scope_tab << scope_tab << scope_tab << "eina.Error.Set(eina.Error.EFL_ERROR);\n"
+            << scope_tab << scope_tab << scope_tab << "Eina.Log.Error(e.ToString());\n"
+            << scope_tab << scope_tab << scope_tab << "Eina.Error.Set(Eina.Error.EFL_ERROR);\n"
             << scope_tab << scope_tab << "}\n"
-            << scope_tab << "}\n"
-            << scope_tab << "efl.Event_Cb evt_" << wrapper_evt_name << "_delegate;\n"
-            << scope_tab << "event EventHandler" << wrapper_args_template << " " << klass_name << "." << managed_evt_name << "{\n")
-              .generate(sink, NULL, context))
-          return false;
-
-       if (!as_generator(
-                   scope_tab << scope_tab << "add {\n"
-                   << scope_tab << scope_tab << scope_tab << "lock (eventLock) {\n"
-                   << scope_tab << scope_tab << scope_tab << scope_tab << "string key = \"_" << upper_c_name << "\";\n"
-                   << scope_tab << scope_tab << scope_tab << scope_tab << "if (add_cpp_event_handler(key, this.evt_" << wrapper_evt_name << "_delegate))\n"
-                   << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << wrapper_evt_name << " += value;\n"
-                   << scope_tab << scope_tab << scope_tab << scope_tab << "else\n"
-                   << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "eina.Log.Error($\"Error adding proxy for event {key}\");\n"
-                   << scope_tab << scope_tab << scope_tab << "}\n" // End of lock block
-                   << scope_tab << scope_tab << "}\n"
-                   << scope_tab << scope_tab << "remove {\n"
-                   << scope_tab << scope_tab << scope_tab << "lock (eventLock) {\n"
-                   << scope_tab << scope_tab << scope_tab << scope_tab << "string key = \"_" << upper_c_name << "\";\n"
-                   << scope_tab << scope_tab << scope_tab << scope_tab << "if (remove_cpp_event_handler(key, this.evt_" << wrapper_evt_name << "_delegate))\n"
-                   << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << wrapper_evt_name << " -= value;\n"
-                   << scope_tab << scope_tab << scope_tab << scope_tab << "else\n"
-                   << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "eina.Log.Error($\"Error removing proxy for event {key}\");\n"
-                   << scope_tab << scope_tab << scope_tab << "}\n" // End of lock block
-                   << scope_tab << scope_tab << "}\n"
-                   << scope_tab << "}\n")
-               .generate(sink, NULL, context))
-           return false;
+            << scope_tab << "}\n\n"
+            ).generate(sink, attributes::unused, context))
+        return false;
 
       return true;
    }
+
+   template<typename OutputIterator, typename Context>
+   bool generate_event_trigger(OutputIterator sink
+                              , std::string const& event_name
+                              , std::string const& event_args_type
+                              , std::string const& event_template_args
+                              , Context context) const
+   {
+      auto delegate_type = "EventHandler" + event_template_args;
+      if (!as_generator(
+            scope_tab << "///<summary>Method to raise event "<< event_name << ".</summary>\n"
+            << scope_tab << "public void On_" << event_name << "(" << event_args_type << " e)\n"
+            << scope_tab << "{\n"
+            << scope_tab << scope_tab << delegate_type << " evt;\n"
+            << scope_tab << scope_tab << "lock (eventLock) {\n"
+            << scope_tab << scope_tab << "evt = (" << delegate_type << ")eventHandlers[" << event_name << "Key];\n"
+            << scope_tab << scope_tab << "}\n"
+            << scope_tab << scope_tab << "evt?.Invoke(this, e);\n"
+            << scope_tab << "}\n"
+          ).generate(sink, nullptr, context))
+       return false;
+
+     return true;
+   }
+
+   template<typename OutputIterator, typename Context>
+   bool generate_event_add_remove(OutputIterator sink, attributes::event_def const &evt, const std::string& event_name, Context context) const
+   {
+      std::string upper_c_name = utils::to_uppercase(evt.c_name);
+      return as_generator(
+           scope_tab << "{\n"
+           << scope_tab << scope_tab << "add {\n"
+           << scope_tab << scope_tab << scope_tab << "lock (eventLock) {\n"
+           << scope_tab << scope_tab << scope_tab << scope_tab << "string key = \"_" << upper_c_name << "\";\n"
+           << scope_tab << scope_tab << scope_tab << scope_tab << "if (add_cpp_event_handler(key, this.evt_" << event_name << "_delegate)) {\n"
+           << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "eventHandlers.AddHandler(" << event_name << "Key , value);\n"
+           << scope_tab << scope_tab << scope_tab << scope_tab << "} else\n"
+           << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Error($\"Error adding proxy for event {key}\");\n"
+           << scope_tab << scope_tab << scope_tab << "}\n" // End of lock block
+           << scope_tab << scope_tab << "}\n"
+           << scope_tab << scope_tab << "remove {\n"
+           << scope_tab << scope_tab << scope_tab << "lock (eventLock) {\n"
+           << scope_tab << scope_tab << scope_tab << scope_tab << "string key = \"_" << upper_c_name << "\";\n"
+           << scope_tab << scope_tab << scope_tab << scope_tab << "if (remove_cpp_event_handler(key, this.evt_" << event_name << "_delegate)) { \n"
+           << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "eventHandlers.RemoveHandler(" << event_name << "Key , value);\n"
+           << scope_tab << scope_tab << scope_tab << scope_tab << "} else\n"
+           << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Error($\"Error removing proxy for event {key}\");\n"
+           << scope_tab << scope_tab << scope_tab << "}\n" // End of lock block
+           << scope_tab << scope_tab << "}\n"
+           << scope_tab << "}\n"
+           ).generate(sink, attributes::unused, context);
+   }
 };
 
 struct event_definition_parameterized
 {
-   event_definition_generator operator()(attributes::klass_def const& klass, bool is_inherited_event=false) const
+   event_definition_generator operator()(attributes::klass_def const& klass, attributes::klass_def const& leaf_klass) const
    {
-      return {klass, is_inherited_event};
+      bool is_inherited_event = klass != leaf_klass;
+      return {klass, leaf_klass, is_inherited_event};
    }
 } const event_definition;
 
index 7e44b2938b4405c057f68cd8f7650947c12ceac8..93765065b88c4c1ba227fbbedab3873bf0fa1c56 100644 (file)
@@ -83,22 +83,22 @@ struct native_function_definition_generator
         << ")\n"
         << scope_tab << "{\n"
         /****/
-        << scope_tab << scope_tab << "eina.Log.Debug(\"function " << string << " was called\");\n"
+        << scope_tab << scope_tab << "Eina.Log.Debug(\"function " << string << " was called\");\n"
         /****/
-        << scope_tab << scope_tab << "efl.eo.IWrapper wrapper = efl.eo.Globals.data_get(pd);\n"
+        << scope_tab << scope_tab << "Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);\n"
         << scope_tab << scope_tab << "if(wrapper != null) {\n"
         << scope_tab << scope_tab << scope_tab << eolian_mono::native_function_definition_preamble()
         << scope_tab << scope_tab << scope_tab << "try {\n"
         << scope_tab << scope_tab << scope_tab << scope_tab << (return_type != " void" ? "_ret_var = " : "") << "((" << klass_inherit_name << ")wrapper)." << string
         << "(" << (native_argument_invocation % ", ") << ");\n"
         << scope_tab << scope_tab << scope_tab << "} catch (Exception e) {\n"
-        << scope_tab << scope_tab << scope_tab << scope_tab << "eina.Log.Warning($\"Callback error: {e.ToString()}\");\n"
-        << scope_tab << scope_tab << scope_tab << scope_tab << "eina.Error.Set(eina.Error.EFL_ERROR);\n"
+        << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Warning($\"Callback error: {e.ToString()}\");\n"
+        << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Error.Set(Eina.Error.EFL_ERROR);\n"
         << scope_tab << scope_tab << scope_tab << "}\n"
         << eolian_mono::native_function_definition_epilogue(*klass)
         << scope_tab << scope_tab << "} else {\n"
         << scope_tab << scope_tab << scope_tab << (return_type != " void" ? "return " : "") << string
-        << "(efl.eo.Globals.efl_super(obj, " << klass_inherit_name << ".klass)" << *(", " << argument) << ");\n"
+        << "(Efl.Eo.Globals.efl_super(obj, " << klass_inherit_name << ".klass)" << *(", " << argument) << ");\n"
         << scope_tab << scope_tab << "}\n"
         << scope_tab << "}\n"
        )
@@ -137,7 +137,7 @@ struct function_definition_generator
   bool generate(OutputIterator sink, attributes::function_def const& f, Context const& context) const
   {
     EINA_CXX_DOM_LOG_DBG(eolian_mono::domain) << "function_definition_generator: " << f.c_name << std::endl;
-    if(do_super && f.is_static) // Static methods goes only on Concrete classes.
+    if(!do_super && f.is_static) // Static methods goes only on Concrete classes.
       return true;
     if(blacklist::is_function_blacklisted(f.c_name))
       return true;
@@ -145,7 +145,7 @@ struct function_definition_generator
     if(!as_generator
        ("\n\n" << scope_tab << "[System.Runtime.InteropServices.DllImport(" << context_find_tag<library_context>(context).actual_library_name(f.filename) << ")]\n"
         << scope_tab << eolian_mono::marshall_annotation(true)
-        << " private static extern "
+        << (do_super ? " protected " : " private ") << "static extern "
         << eolian_mono::marshall_type(true)
         << " " << string
         << "(System.IntPtr obj"
@@ -165,13 +165,19 @@ struct function_definition_generator
        (documentation(1)).generate(sink, f, context))
       return false;
 
+    std::string self = "this.NativeHandle";
+
+    // inherited is set in the constructor, true if this instance is from a pure C# class (not generated).
+    if (do_super && !f.is_static)
+      self = "(inherited ? Efl.Eo.Globals.efl_super(" + self + ", this.NativeClass) : " + self + ")";
+    else
+      self = name_helpers::klass_get_full_name(f.klass) + "()";
+
     if(!as_generator
-       (scope_tab << (do_super ? "virtual " : "") << "public " << (f.is_static ? "static " : "") << return_type << " " << string << "(" << (parameter % ", ")
+       (scope_tab << ((do_super && !f.is_static) ? "virtual " : "") << "public " << (f.is_static ? "static " : "") << return_type << " " << string << "(" << (parameter % ", ")
         << ") {\n "
         << eolian_mono::function_definition_preamble() << string << "("
-        << (do_super ? "efl.eo.Globals.efl_super(" : "")
-        << (f.is_static ? name_helpers::klass_get_full_name(f.klass) + "()": "this.raw_handle")
-        << (do_super ? ", this.raw_klass)" : "")
+        << self
         << *(", " << argument_invocation ) << ");\n"
         << eolian_mono::function_definition_epilogue()
         << " }\n")
index acfe850032c1d31a5d2c1aac96c82abde19440eb..06bf5d44ec8bd653723bbf4f55cf30e31fc68aa8 100644 (file)
@@ -34,14 +34,10 @@ struct native_function_definition_preamble_generator
           return false;
 
       if (!as_generator(
-                scope_tab << scope_tab << "//Placeholder in variables\n"
-                << *(scope_tab << scope_tab << native_convert_in_variable << "\n")
-                << scope_tab << scope_tab << "//Placeholder out variables\n"
-                << *(scope_tab << scope_tab << native_convert_out_variable << "\n")
-                << scope_tab << scope_tab << "//Function pointer wrappers\n"
-                << *(scope_tab << scope_tab << native_convert_function_pointer << "\n")
-                << scope_tab << scope_tab << "//Return variable and function call\n"
-                << scope_tab << scope_tab << scope_tab << native_convert_return_variable << "\n"
+                *(scope_tab << scope_tab << native_convert_in_variable)
+                << *(scope_tab << scope_tab << native_convert_out_variable)
+                << *(scope_tab << scope_tab << native_convert_function_pointer)
+                << scope_tab << scope_tab << scope_tab << native_convert_return_variable
                 ).generate(sink, std::make_tuple(f.parameters, f.parameters, f.parameters, f.return_type), context))
           return false;
 
@@ -61,13 +57,9 @@ struct function_definition_preamble_generator
           return false;
 
       if (!as_generator(
-                  scope_tab << scope_tab << "//Placeholder in variables\n"
-                  << *(scope_tab << scope_tab << convert_in_variable << "\n")
-                  << scope_tab << scope_tab << "//Placeholder out variables\n"
-                  << *(scope_tab << scope_tab << convert_out_variable << "\n")
-                  << scope_tab << scope_tab << "//Function pointers handling\n"
-                  << *(scope_tab << scope_tab << convert_function_pointer << "\n")
-                  << scope_tab << scope_tab << "//Return variable and function call\n"
+                  *(scope_tab << scope_tab << convert_in_variable)
+                  << *(scope_tab << scope_tab << convert_out_variable)
+                  << *(scope_tab << scope_tab << convert_function_pointer)
                   << scope_tab << scope_tab << convert_return_variable
                   ).generate(sink, std::make_tuple(f.parameters, f.parameters, f.parameters, f.return_type), context))
           return false;
@@ -90,11 +82,8 @@ struct native_function_definition_epilogue_generator
           return false;
 
       if (!as_generator(
-                  scope_tab << scope_tab << "//Assigning out variables\n"
-                  << *(scope_tab << scope_tab << native_convert_out_assign(*klass) << "\n")
-                  << scope_tab << scope_tab << "//Placeholder in ptr variables that need to be updated\n"
-                  << *(scope_tab << scope_tab << native_convert_in_ptr_assign << "\n")
-                  << scope_tab << scope_tab << "//Converting return variable\n"
+                  *(scope_tab << scope_tab << native_convert_out_assign(*klass))
+                  << *(scope_tab << scope_tab << native_convert_in_ptr_assign)
                   << scope_tab << scope_tab << native_convert_return(*klass)
                   ).generate(sink, std::make_tuple(f.parameters, f.parameters, f.return_type), context))
           return false;
@@ -110,12 +99,9 @@ struct function_definition_epilogue_generator
   bool generate(OutputIterator sink, attributes::function_def const& f, Context const& context) const
   { 
       if (!as_generator(
-                  scope_tab << scope_tab << "eina.Error.RaiseIfOccurred();\n"
-                  << scope_tab << scope_tab << "//Assigning out variables\n"
-                  << *(scope_tab << scope_tab << convert_out_assign << "\n")
-                  << scope_tab << scope_tab << "//Placeholder in ptr variables that need to be updated\n"
-                  << *(scope_tab << scope_tab << convert_in_ptr_assign << "\n")
-                  << scope_tab << scope_tab << "//Converting return variable\n"
+                  scope_tab << scope_tab << "Eina.Error.RaiseIfOccurred();\n"
+                  << *(scope_tab << scope_tab << convert_out_assign)
+                  << *(scope_tab << scope_tab << convert_in_ptr_assign)
                   << scope_tab << scope_tab << convert_return
                   ).generate(sink, std::make_tuple(f.parameters, f.parameters, f.return_type), context))
           return false;
index f373a1312157fe8401f48131465799e50c52b470..95c0e0fa1e0086ee10c86ecbe01ad440aadde355 100644 (file)
@@ -38,28 +38,29 @@ struct function_pointer {
       if (!name_helpers::open_namespaces(sink, f.namespaces, funcptr_ctx))
         return false;
 
+      std::string f_name = name_helpers::typedecl_managed_name(f);
+
       // C# visible delegate
       if (!as_generator(documentation
                   << "public delegate " << type << " " << string
                   << "(" << (parameter % ", ") << ");\n")
-              .generate(sink, std::make_tuple(f, f.return_type, name_helpers::escape_keyword(f.name), f.parameters), funcptr_ctx))
+              .generate(sink, std::make_tuple(f, f.return_type, f_name, f.parameters), funcptr_ctx))
           return false;
       // "Internal" delegate, 1-to-1 with the Unamaged function type
       if (!as_generator(marshall_native_annotation(true)
-                  << "internal delegate " << marshall_type(true) << " " << string // public?
+                  << "public delegate " << marshall_type(true) << " " << string // public?
                   << "Internal(IntPtr data" << *grammar::attribute_reorder<-1, -1>((", " << marshall_native_annotation << " " << marshall_parameter)) << ");\n")
-              .generate(sink, std::make_tuple(f.return_type, f.return_type, name_helpers::escape_keyword(f.name), f.parameters), funcptr_ctx))
+              .generate(sink, std::make_tuple(f.return_type, f.return_type, f_name, f.parameters), funcptr_ctx))
           return false;
 
-      std::string f_name = name_helpers::escape_keyword(f.name);
       // Wrapper type, with callback matching the Unamanaged one
       if (!as_generator("internal class " << f_name << "Wrapper\n"
                   << "{\n\n"
                   << scope_tab << "private " << f_name  << "Internal _cb;\n"
                   << scope_tab << "private IntPtr _cb_data;\n"
-                  << scope_tab << "private Eina_Free_Cb _cb_free_cb;\n\n"
+                  << scope_tab << "private EinaFreeCb _cb_free_cb;\n\n"
 
-                  << scope_tab << "internal " << f_name << "Wrapper (" << f_name << "Internal _cb, IntPtr _cb_data, Eina_Free_Cb _cb_free_cb)\n"
+                  << scope_tab << "internal " << f_name << "Wrapper (" << f_name << "Internal _cb, IntPtr _cb_data, EinaFreeCb _cb_free_cb)\n"
                   << scope_tab << "{\n"
                   << scope_tab << scope_tab << "this._cb = _cb;\n"
                   << scope_tab << scope_tab << "this._cb_data = _cb_data;\n"
@@ -88,8 +89,8 @@ struct function_pointer {
                   << scope_tab << scope_tab << "try {\n"
                   << scope_tab << scope_tab << scope_tab <<  (return_type != " void" ? "_ret_var = " : "") << "cb(" << (native_argument_invocation % ", ") << ");\n"
                   << scope_tab << scope_tab << "} catch (Exception e) {\n"
-                  << scope_tab << scope_tab << scope_tab << "eina.Log.Warning($\"Callback error: {e.ToString()}\");\n"
-                  << scope_tab << scope_tab << scope_tab << "eina.Error.Set(eina.Error.EFL_ERROR);\n"
+                  << scope_tab << scope_tab << scope_tab << "Eina.Log.Warning($\"Callback error: {e.ToString()}\");\n"
+                  << scope_tab << scope_tab << scope_tab << "Eina.Error.Set(Eina.Error.EFL_ERROR);\n"
                   << scope_tab << scope_tab << "}\n"
                   << native_function_definition_epilogue(nullptr)
                   << scope_tab << "}\n"
index 22fc42599b456f8ff2e3c8bdd6e1a03cebde8e79..e8a41047f9e9ffa64222244889ee69237d6ceee3 100644 (file)
@@ -40,7 +40,7 @@ struct function_registration_generator
 #ifdef _WIN32
        (scope_tab << scope_tab << "descs[" << index << "].api_func = Marshal.StringToHGlobalAnsi(\"" << string << "\");\n"
 #else
-       (scope_tab << scope_tab << "descs[" << index << "].api_func = efl.eo.Globals.dlsym(efl.eo.Globals.RTLD_DEFAULT, \"" << string << "\");\n"
+       (scope_tab << scope_tab << "descs[" << index << "].api_func = Efl.Eo.Globals.dlsym(Efl.Eo.Globals.RTLD_DEFAULT, \"" << string << "\");\n"
 #endif
         << scope_tab << scope_tab << "descs[" << index << "].func = Marshal.GetFunctionPointerForDelegate(" << name_helpers::klass_native_inherit_name(*klass) << "." << string << "_static_delegate);\n"
        )
index 40a99915ab06633597ca234583e42c27802c764f..ed72345009938a8bb98406e13564a16a2d48ec89 100644 (file)
@@ -65,6 +65,163 @@ inline bool need_pointer_conversion(attributes::regular_type_def const* regular)
    return false;
 }
 
+// While klass_def has immediate_inherits, we need a way to get all interfaces inherited by an interface
+// either directly or through another interface.
+std::set<attributes::klass_name, attributes::compare_klass_name_by_name> interface_inherits(attributes::klass_def const& cls)
+{
+   std::set<attributes::klass_name, attributes::compare_klass_name_by_name> inherits;
+
+   std::function<void(attributes::klass_name const&)> inherit_algo =
+       [&] (attributes::klass_name const& klass)
+       {
+          // TODO we could somehow cache klass_def instantiations
+          attributes::klass_def c(get_klass(klass, cls.unit), cls.unit);
+          for(auto&& inherit : c.immediate_inherits)
+            {
+               switch(inherit.type)
+                 {
+                 case attributes::class_type::mixin:
+                 case attributes::class_type::interface_:
+                   inherits.insert(inherit);
+                   inherit_algo(inherit);
+                   break;
+                 case attributes::class_type::regular:
+                 case attributes::class_type::abstract_:
+                   inherit_algo(inherit);
+                 default:
+                   break;
+                 }
+            }
+       };
+
+   inherit_algo(get_klass_name(cls));
+
+
+   return inherits;
+}
+
+// Returns the set of interfaces implemented by this type that haven't been implemented
+// by a regular parent class.
+std::set<attributes::klass_name, attributes::compare_klass_name_by_name> non_implemented_interfaces(attributes::klass_def const& cls)
+{
+   std::set<attributes::klass_name, attributes::compare_klass_name_by_name> implemented_interfaces;
+   std::set<attributes::klass_name, attributes::compare_klass_name_by_name> interfaces;
+
+   std::function<void(attributes::klass_name const&, bool)> inherit_algo =
+       [&] (attributes::klass_name const& klass, bool is_implemented)
+       {
+          // TODO we could somehow cache klass_def instantiations
+          attributes::klass_def c(get_klass(klass, cls.unit), cls.unit);
+          for(auto&& inherit : c.immediate_inherits)
+            {
+               switch(inherit.type)
+                 {
+                 case attributes::class_type::mixin:
+                 case attributes::class_type::interface_:
+                   interfaces.insert(inherit);
+                   if (is_implemented)
+                     implemented_interfaces.insert(inherit);
+                   inherit_algo(inherit, is_implemented);
+                   break;
+                 case attributes::class_type::abstract_:
+                 case attributes::class_type::regular:
+                   inherit_algo(inherit, true);
+                 default:
+                   break;
+                 }
+            }
+       };
+
+   inherit_algo(get_klass_name(cls), false);
+
+   for (auto&& inherit : implemented_interfaces)
+     interfaces.erase(inherit);
+
+
+   return interfaces;
+}
+
+
+/*
+ * Determines whether this class has any regular ancestor or not
+ */
+bool has_regular_ancestor(attributes::klass_def const& cls)
+{
+   auto inherits = cls.inherits;
+   std::function<bool(attributes::klass_name const&)> is_regular =
+       [&] (attributes::klass_name const& klass)
+       {
+          return klass.type == attributes::class_type::regular || klass.type == attributes::class_type::abstract_;
+       };
+
+   return std::any_of(inherits.begin(), inherits.end(), is_regular);
+}
+
+/*
+ * Gets all methods that this class should implement (i.e. that come from an unimplemented interface/mixin and the class itself)
+ */
+std::vector<attributes::function_def> get_all_implementable_methods(attributes::klass_def const& cls)
+{
+   std::vector<attributes::function_def> ret;
+
+   std::copy(cls.functions.begin(), cls.functions.end(), std::back_inserter(ret));
+
+   // Non implemented interfaces
+   std::set<attributes::klass_name, attributes::compare_klass_name_by_name> implemented_interfaces;
+   std::set<attributes::klass_name, attributes::compare_klass_name_by_name> interfaces;
+   std::function<void(attributes::klass_name const&, bool)> inherit_algo =
+       [&] (attributes::klass_name const &klass, bool is_implemented)
+       {
+           attributes::klass_def c(get_klass(klass, cls.unit), cls.unit);
+           for (auto&& inherit: c.immediate_inherits)
+             {
+                switch(inherit.type)
+                  {
+                  case attributes::class_type::mixin:
+                  case attributes::class_type::interface_:
+                    interfaces.insert(inherit);
+                    if (is_implemented)
+                      implemented_interfaces.insert(inherit);
+                    inherit_algo(inherit, is_implemented);
+                    break;
+                  case attributes::class_type::abstract_:
+                  case attributes::class_type::regular:
+                    inherit_algo(inherit, true);
+                  default:
+                    break;
+                  }
+             }
+       };
+
+   inherit_algo(attributes::get_klass_name(cls), false);
+
+   for (auto&& inherit : implemented_interfaces)
+     interfaces.erase(inherit);
+
+    for (auto&& inherit : interfaces)
+    {
+        attributes::klass_def klass(get_klass(inherit, cls.unit), cls.unit);
+        std::copy(klass.functions.cbegin(), klass.functions.cend(), std::back_inserter(ret));
+    }
+
+  return ret;
+}
+
+/*
+ * Checks whether the given is unique going up the inheritance tree from leaf_klass
+ */
+inline bool is_unique_event(attributes::event_def const& evt
+                         , attributes::klass_def const& leaf_klass)
+{
+  auto events = leaf_klass.get_all_events();
+  int i = 1;
+  return !std::any_of(events.cbegin(), events.cend(),
+                         [&evt, &i](const attributes::event_def &other) {
+                            return evt.name == other.name && i++ == 2;
+                     });
+}
+
+
 } // namespace helpers
 
 } // namespace eolian_mono
index 7a4051131b34e4230d70da890b7cc94f265cdba8..077a0fad075d819a1fb7d7d2d47f2337632a8635 100644 (file)
@@ -4,6 +4,7 @@
 #include "grammar/integral.hpp"
 #include "grammar/generator.hpp"
 #include "grammar/klass_def.hpp"
+#include "grammar/attribute_conditional.hpp"
 #include "blacklist.hh"
 
 #include "grammar/indentation.hpp"
@@ -35,11 +36,11 @@ static bool generate_static_cast_method(OutputIterator sink, grammar::attributes
 {
    return as_generator(
        scope_tab << "///<summary>Casts obj into an instance of this type.</summary>\n"
-       << scope_tab << "public static " << name_helpers::klass_interface_name(cls) << " static_cast(efl.IObject obj)\n"
+       << scope_tab << "public " << (helpers::has_regular_ancestor(cls) ? "new " : "") <<"static " << name_helpers::klass_concrete_name(cls) << " static_cast(Efl.Object obj)\n"
        << scope_tab << "{\n"
        << scope_tab << scope_tab << "if (obj == null)\n"
        << scope_tab << scope_tab << scope_tab << "throw new System.ArgumentNullException(\"obj\");\n"
-       << scope_tab << scope_tab << "return new " << name_helpers::klass_concrete_name(cls) << "(obj.raw_handle);\n"
+       << scope_tab << scope_tab << "return new " << name_helpers::klass_concrete_name(cls) << "(obj.NativeHandle);\n"
        << scope_tab << "}\n"
        ).generate(sink, nullptr, context);
 }
@@ -51,29 +52,29 @@ static bool generate_equals_method(OutputIterator sink, Context const &context)
        scope_tab << "///<summary>Verifies if the given object is equal to this one.</summary>\n" 
        << scope_tab << "public override bool Equals(object obj)\n"
        << scope_tab << "{\n"
-       << scope_tab << scope_tab << "var other = obj as efl.IObject;\n"
+       << scope_tab << scope_tab << "var other = obj as Efl.Object;\n"
        << scope_tab << scope_tab << "if (other == null)\n"
        << scope_tab << scope_tab << scope_tab << "return false;\n"
-       << scope_tab << scope_tab << "return this.raw_handle == other.raw_handle;\n"
+       << scope_tab << scope_tab << "return this.NativeHandle == other.NativeHandle;\n"
        << scope_tab << "}\n"
        << scope_tab << "///<summary>Gets the hash code for this object based on the native pointer it points to.</summary>\n"
        << scope_tab << "public override int GetHashCode()\n"
        << scope_tab << "{\n"
-       << scope_tab << scope_tab << "return this.raw_handle.ToInt32();\n"
+       << scope_tab << scope_tab << "return this.NativeHandle.ToInt32();\n"
        << scope_tab << "}\n"
        << scope_tab << "///<summary>Turns the native pointer into a string representation.</summary>\n"
        << scope_tab << "public override String ToString()\n"
        << scope_tab << "{\n"
-       << scope_tab << scope_tab << "return $\"{this.GetType().Name}@[{this.raw_handle.ToInt32():x}]\";\n"
+       << scope_tab << scope_tab << "return $\"{this.GetType().Name}@[{this.NativeHandle.ToInt32():x}]\";\n"
        << scope_tab << "}\n"
       ).generate(sink, nullptr, context);
 }
 
 /* Get the actual number of functions of a class, checking for blacklisted ones */
 static std::size_t
-get_inheritable_function_count(grammar::attributes::klass_def const& cls)
+get_implementable_function_count(grammar::attributes::klass_def const& cls)
 {
-   auto methods = cls.get_all_methods();
+   auto methods = helpers::get_all_implementable_methods(cls);
    return std::count_if(methods.cbegin(), methods.cend(), [](grammar::attributes::function_def const& func)
      {
         return !blacklist::is_function_blacklisted(func.c_name) && !func.is_static;
@@ -97,6 +98,9 @@ struct klass
      switch(cls.type)
        {
        case attributes::class_type::regular:
+         class_type = "class";
+         suffix = "CLASS";
+         break;
        case attributes::class_type::abstract_:
          class_type = "class";
          suffix = "CLASS";
@@ -117,6 +121,7 @@ struct klass
      auto methods = cls.get_all_methods();
 
      // Interface class
+     if(class_type == "interface")
      {
      auto iface_cxt = context_add_tag(class_context{class_context::interface}, context);
 
@@ -132,11 +137,12 @@ struct klass
      for(auto first = std::begin(cls.immediate_inherits)
            , last = std::end(cls.immediate_inherits); first != last; ++first)
        {
-         if(!as_generator("\n" << scope_tab << string << " ,").generate(sink, name_helpers::klass_full_interface_name(*first), iface_cxt))
-           return false;
+          if(first->type != attributes::class_type::regular && first->type != attributes::class_type::abstract_)
+            if(!as_generator("\n" << scope_tab << string << " ,").generate(sink, name_helpers::klass_full_interface_name(*first), iface_cxt))
+              return false;
        }
 
-     if(!as_generator("\n" << scope_tab << "efl.eo.IWrapper, IDisposable").generate(sink, attributes::unused, iface_cxt))
+     if(!as_generator("\n" << scope_tab << "Efl.Eo.IWrapper, IDisposable").generate(sink, attributes::unused, iface_cxt))
        return false;
 
      if(!as_generator("\n{\n").generate(sink, attributes::unused, iface_cxt))
@@ -154,85 +160,74 @@ struct klass
      for (auto &&p : cls.parts)
        if (!as_generator(
               documentation(1)
-              << name_helpers::klass_full_interface_name(p.klass) << " " << utils::capitalize(p.name) << "{ get;}\n"
+              << name_helpers::klass_full_concrete_or_interface_name(p.klass) << " " << utils::capitalize(p.name) << "{ get;}\n"
             ).generate(sink, p, iface_cxt))
          return false;
 
      // End of interface declaration
      if(!as_generator("}\n").generate(sink, attributes::unused, iface_cxt)) return false;
+
      }
 
-     // Concrete class
-     // if(class_type == "class")
+     // Events arguments go in the top namespace to avoid the Concrete suffix clutter in interface events.
+     // Regular/abstract class events go here too for consistency.
+     if(!as_generator(*(event_argument_wrapper)).generate(sink, cls.events, context))
+       return false;
+
+     bool root = !helpers::has_regular_ancestor(cls);
+     std::set<attributes::klass_name, attributes::compare_klass_name_by_name> inherit_interfaces = helpers::non_implemented_interfaces(cls);
+     std::vector<attributes::klass_name> inherit_classes;
+     std::copy_if(cls.immediate_inherits.begin(), cls.immediate_inherits.end()
+                  , std::back_inserter(inherit_classes)
+                  , [] (attributes::klass_name const& klass)
+                    {
+                       switch (klass.type)
+                         {
+                          case attributes::class_type::regular:
+                          case attributes::class_type::abstract_:
+                            return true;
+                          default:
+                            return false;
+                         };
+                    });
+
+     // Concrete class for interfaces, mixins, etc.
+     if(class_type != "class")
        {
          auto concrete_cxt = context_add_tag(class_context{class_context::concrete}, context);
          auto concrete_name = name_helpers::klass_concrete_name(cls);
          auto interface_name = name_helpers::klass_interface_name(cls);
+
          if(!as_generator
             (
              documentation
-             << "sealed public class " << concrete_name << " : " << interface_name << "\n{\n"
-             << scope_tab << "System.IntPtr handle;\n"
-             << scope_tab << "///<summary>Pointer to the native instance.</summary>\n"
-             << scope_tab << "public System.IntPtr raw_handle {\n"
-             << scope_tab << scope_tab << "get { return handle; }\n"
-             << scope_tab << "}\n"
-             << scope_tab << "///<summary>Pointer to the native class description.</summary>\n"
-             << scope_tab << "public System.IntPtr raw_klass {\n"
-             << scope_tab << scope_tab << "get { return efl.eo.Globals.efl_class_get(handle); }\n"
-             << scope_tab << "}\n"
-             << scope_tab << "///<summary>Delegate for function to be called from inside the native constructor.</summary>\n"
-             << scope_tab << "public delegate void ConstructingMethod(" << interface_name << " obj);\n"
-             << scope_tab << "///<summary>Returns the pointer the underlying Eo class object. Used internally on class methods.</summary>\n"
-             << scope_tab << "[System.Runtime.InteropServices.DllImport(" << context_find_tag<library_context>(concrete_cxt).actual_library_name(cls.filename)
-             << ")] public static extern System.IntPtr\n"
+             << "sealed public class " << concrete_name << " : " << "\n"
+             << (klass_full_concrete_or_interface_name % ",") << "\n"
+             << (inherit_classes.size() > 0 ? ", " : "" ) << interface_name << "\n"
+             << scope_tab << *(", " << name_helpers::klass_full_concrete_or_interface_name) << "\n"
+             << "{\n"
+            ).generate(sink, std::make_tuple(cls, inherit_classes, inherit_interfaces), concrete_cxt))
+              return false;
+
+         if (!generate_fields(sink, cls, concrete_cxt))
+           return false;
+
+         if (!as_generator
+            (
+             scope_tab << "[System.Runtime.InteropServices.DllImport(" << context_find_tag<library_context>(concrete_cxt).actual_library_name(cls.filename)
+             << ")] internal static extern System.IntPtr\n"
              << scope_tab << scope_tab << name_helpers::klass_get_name(cls) << "();\n"
-             << (class_type == "class" ? "" : "/*")
-             << scope_tab << "///<summary>Creates a new instance.</summary>\n"
-             << scope_tab << "///<param>Parent instance.</param>\n"
-             << scope_tab << "///<param>Delegate to call constructing methods that should be run inside the constructor.</param>\n"
-             << scope_tab << "public " << concrete_name << "(efl.IObject parent = null, ConstructingMethod init_cb=null)\n"
-             << scope_tab << "{\n"
-             << scope_tab << scope_tab << "System.IntPtr klass = " << name_helpers::klass_get_name(cls) << "();\n"
-             << scope_tab << scope_tab << "System.IntPtr parent_ptr = System.IntPtr.Zero;\n"
-             << scope_tab << scope_tab << "if(parent != null)\n"
-             << scope_tab << scope_tab << scope_tab << "parent_ptr = parent.raw_handle;\n"
-             << scope_tab << scope_tab << "handle = efl.eo.Globals._efl_add_internal_start(\"file\", 0, klass, parent_ptr, 1, 0);\n"
-             << scope_tab << scope_tab << "register_event_proxies();\n"
-             << scope_tab << scope_tab << "if (init_cb != null) {\n"
-             << scope_tab << scope_tab << scope_tab << "init_cb(this);\n"
-             << scope_tab << scope_tab << "}\n"
-             << scope_tab << scope_tab << "handle = efl.eo.Globals._efl_add_end(handle, 1, 0);\n" // replace handle with the actual final handle
-             << scope_tab << scope_tab << "eina.Error.RaiseIfOccurred();\n"
-             << scope_tab << "}\n"
-             << (class_type == "class" ? "" : "*/")
              << scope_tab << "///<summary>Constructs an instance from a native pointer.</summary>\n"
              << scope_tab << "public " << concrete_name << "(System.IntPtr raw)\n"
              << scope_tab << "{\n"
              << scope_tab << scope_tab << "handle = raw;\n"
              << scope_tab << scope_tab << "register_event_proxies();\n"
              << scope_tab << "}\n"
-             << scope_tab << "///<summary>Destructor.</summary>\n"
-             << scope_tab << "~" << concrete_name << "()\n"
-             << scope_tab << "{\n"
-             << scope_tab << scope_tab << "Dispose(false);\n"
-             << scope_tab << "}\n"
-             << scope_tab << "///<summary>Releases the underlying native instance.</summary>\n"
-             << scope_tab << "internal void Dispose(bool disposing)\n"
-             << scope_tab << "{\n"
-             << scope_tab << scope_tab << "if (handle != System.IntPtr.Zero) {\n"
-             << scope_tab << scope_tab << scope_tab << "efl.eo.Globals.efl_unref(handle);\n"
-             << scope_tab << scope_tab << scope_tab << "handle = System.IntPtr.Zero;\n"
-             << scope_tab << scope_tab << "}\n"
-             << scope_tab << "}\n"
-             << scope_tab << "///<summary>Releases the underlying native instance.</summary>\n"
-             << scope_tab << "public void Dispose()\n"
-             << scope_tab << "{\n"
-             << scope_tab << scope_tab << "Dispose(true);\n"
-             << scope_tab << scope_tab << "GC.SuppressFinalize(this);\n"
-             << scope_tab << "}\n"
             )
-            .generate(sink, cls, concrete_cxt))
+            .generate(sink, attributes::unused, concrete_cxt))
+           return false;
+
+         if (!generate_dispose_methods(sink, cls, concrete_cxt))
            return false;
 
          if (!generate_static_cast_method(sink, cls, concrete_cxt))
@@ -249,100 +244,53 @@ struct klass
 
          // Parts
          if(!as_generator(*(part_definition))
-            .generate(sink, cls.get_all_parts(), concrete_cxt)) return false;
+            .generate(sink, cls.parts, concrete_cxt)) return false;
 
          // Concrete function definitions
+         auto implemented_methods = helpers::get_all_implementable_methods(cls);
          if(!as_generator(*(function_definition))
-            .generate(sink, methods, concrete_cxt)) return false;
+            .generate(sink, implemented_methods, concrete_cxt)) return false;
 
          // Async wrappers
-         if(!as_generator(*(async_function_definition)).generate(sink, methods, concrete_cxt))
-           return false;
-
-         if(!as_generator(*(event_argument_wrapper)).generate(sink, cls.events, context))
+         if(!as_generator(*(async_function_definition)).generate(sink, implemented_methods, concrete_cxt))
            return false;
 
          if(!as_generator("}\n").generate(sink, attributes::unused, concrete_cxt)) return false;
+
        }
 
-     // Inherit class
+     // Inheritable class
      if(class_type == "class")
        {
         auto inherit_cxt = context_add_tag(class_context{class_context::inherit}, context);
-        bool cls_has_string_return = has_string_return(cls);
-        bool cls_has_stringshare_return = has_stringshare_return(cls);
-
-        auto interface_name = name_helpers::klass_interface_name(cls);
-        auto inherit_name = name_helpers::klass_inherit_name(cls);
-        auto native_inherit_name = name_helpers::klass_native_inherit_name(cls);
-
 
-         if(!as_generator
+        // Class header
+        if(!as_generator
             (
              documentation
-             << "public " << class_type << " " << inherit_name << " : " << interface_name << "\n{\n"
-             << scope_tab << "System.IntPtr handle;\n"
-             << scope_tab << "internal static System.IntPtr klass = System.IntPtr.Zero;\n"
-             << scope_tab << "private static readonly object klassAllocLock = new object();\n"
-             << scope_tab << (cls_has_string_return ? ("internal Dictionary<String, IntPtr> cached_strings = new Dictionary<String, IntPtr>();") : "") << "\n"
-             << scope_tab << (cls_has_stringshare_return ? ("internal Dictionary<String, IntPtr> cached_stringshares = new Dictionary<String, IntPtr>();") : "") << "\n"
-             << scope_tab << "///<summary>Pointer to the native instance.</summary>\n"
-             << scope_tab << "public System.IntPtr raw_handle {\n"
-             << scope_tab << scope_tab << "get { return handle; }\n"
-             << scope_tab << "}\n"
-             << scope_tab << "///<summary>Pointer to the native class description.</summary>\n"
-             << scope_tab << "public System.IntPtr raw_klass {\n"
-             << scope_tab << scope_tab << "get { return klass; }\n"
-             << scope_tab << "}\n"
-             << scope_tab << "///<summary>Delegate for function to be called from inside the native constructor.</summary>\n"
-             << scope_tab << "public delegate void ConstructingMethod(" << interface_name << " obj);\n"
-             << scope_tab << "[System.Runtime.InteropServices.DllImport(" << context_find_tag<library_context>(inherit_cxt).actual_library_name(cls.filename)
-             << ")] private static extern System.IntPtr\n"
-             << scope_tab << scope_tab << name_helpers::klass_get_name(cls) << "();\n"
-             << scope_tab << "///<summary>Creates a new instance.</summary>\n"
-             << scope_tab << "///<param>Parent instance.</param>\n"
-             << scope_tab << "///<param>Delegate to call constructing methods that should be run inside the constructor.</param>\n"
-             << scope_tab << "public " << inherit_name << "(efl.IObject parent = null, ConstructingMethod init_cb=null)\n"
-             << scope_tab << "{\n"
-             << scope_tab << scope_tab << "if (klass == System.IntPtr.Zero) {\n"
-             << scope_tab << scope_tab << scope_tab << "lock (klassAllocLock) {\n"
-             << scope_tab << scope_tab << scope_tab << scope_tab << "if (klass == System.IntPtr.Zero) {\n"
-             << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "klass = efl.eo.Globals.register_class(new efl.eo.Globals.class_initializer(" << native_inherit_name << ".class_initializer), \"" << cls.eolian_name << "\", " << name_helpers::klass_get_name(cls) << "());\n"
-             << scope_tab << scope_tab << scope_tab << scope_tab << "}\n"
-             << scope_tab << scope_tab << scope_tab << "}\n"
-             << scope_tab << scope_tab << "}\n"
-             << scope_tab << scope_tab << "handle = efl.eo.Globals.instantiate_start(klass, parent);\n"
-             << scope_tab << scope_tab << "register_event_proxies();\n"
-             << scope_tab << scope_tab << "if (init_cb != null) {\n"
-             << scope_tab << scope_tab << scope_tab << "init_cb(this);\n"
-             << scope_tab << scope_tab << "}\n"
-             << scope_tab << scope_tab << "efl.eo.Globals.data_set(this);\n"
-             << scope_tab << scope_tab << "handle = efl.eo.Globals.instantiate_end(handle);\n"
-             << scope_tab << scope_tab << "eina.Error.RaiseIfOccurred();\n"
-             << scope_tab << "}\n"
-             << scope_tab << "///<summary>Destructor.</summary>\n"
-             << scope_tab << "~" << inherit_name << "()\n"
-             << scope_tab << "{\n"
-             << scope_tab << scope_tab << "Dispose(false);\n"
-             << scope_tab << "}\n"
-             << scope_tab << "///<summary>Releases the underlying native instance.</summary>\n"
-             << scope_tab << "protected virtual void Dispose(bool disposing)\n"
-             << scope_tab << "{\n"
-             << scope_tab << scope_tab << "if (handle != System.IntPtr.Zero) {\n"
-             << scope_tab << scope_tab << scope_tab << "efl.eo.Globals.efl_unref(handle);\n"
-             << scope_tab << scope_tab << scope_tab << "handle = System.IntPtr.Zero;\n"
-             << scope_tab << scope_tab << "}\n"
-             << scope_tab << "}\n"
-             << scope_tab << "///<summary>Releases the underlying native instance.</summary>\n"
-             << scope_tab << "public void Dispose()\n"
-             << scope_tab << "{\n"
-             << scope_tab << (cls_has_string_return ? "efl.eo.Globals.free_dict_values(cached_strings);" : "") << "\n"
-             << scope_tab << (cls_has_stringshare_return ? "efl.eo.Globals.free_stringshare_values(cached_stringshares);" : "") << "\n"
-             << scope_tab << scope_tab << "Dispose(true);\n"
-             << scope_tab << scope_tab << "GC.SuppressFinalize(this);\n"
-             << scope_tab << "}\n"
-            )
-            .generate(sink, cls, inherit_cxt))
+             << "public " << class_type << " " << name_helpers::klass_concrete_name(cls) << " : "
+             << (klass_full_concrete_or_interface_name % ",") // classes
+             << (inherit_classes.empty() ? "" : ",")
+             << " Efl.Eo.IWrapper" << (root ? ", IDisposable" : "")
+             << (inherit_interfaces.empty() ? "" : ",")
+             << (klass_full_concrete_or_interface_name % ",") // interfaces
+             << "\n{\n"
+             )
+           .generate(sink, std::make_tuple(cls, inherit_classes, inherit_interfaces), inherit_cxt))
+           return false;
+
+
+         // Class body
+         if(!generate_fields(sink, cls, inherit_cxt))
+           return false;
+
+         if (!generate_constructors(sink, cls, inherit_cxt))
+           return false;
+
+         if (!generate_dispose_methods(sink, cls, inherit_cxt))
+           return false;
+
+         if (!generate_static_cast_method(sink, cls, inherit_cxt))
            return false;
 
          if (!generate_equals_method(sink, inherit_cxt))
@@ -356,20 +304,21 @@ struct klass
 
          // Parts
          if(!as_generator(*(part_definition))
-            .generate(sink, cls.get_all_parts(), inherit_cxt)) return false;
+            .generate(sink, cls.parts, inherit_cxt)) return false;
 
          // Inherit function definitions
+         auto implemented_methods = helpers::get_all_implementable_methods(cls);
          if(!as_generator(*(function_definition(true)))
-            .generate(sink, methods, inherit_cxt)) return false;
+            .generate(sink, implemented_methods, inherit_cxt)) return false;
 
          // Async wrappers
-         if(!as_generator(*(async_function_definition(true))).generate(sink, methods, inherit_cxt))
+         if(!as_generator(*(async_function_definition(true))).generate(sink, implemented_methods, inherit_cxt))
            return false;
 
          if(!as_generator("}\n").generate(sink, attributes::unused, inherit_cxt)) return false;
        }
 
-     std::size_t function_count = get_inheritable_function_count(cls);
+     std::size_t function_count = get_implementable_function_count(cls);
 
      int function_registration_index = 0;
      auto index_generator = [&function_registration_index]
@@ -394,7 +343,7 @@ struct klass
 
          // Native wrapper registration
          if(!as_generator(*(function_registration(index_generator, cls)))
-            .generate(sink, methods, inative_cxt)) return false;
+            .generate(sink, helpers::get_all_implementable_methods(cls), inative_cxt)) return false;
 
          if(!as_generator
             (   scope_tab << scope_tab << "IntPtr descs_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(descs[0])*" << function_count << ");\n"
@@ -409,7 +358,7 @@ struct klass
              << scope_tab << scope_tab << "ops.count = (UIntPtr)" << function_count << ";\n"
              << scope_tab << scope_tab << "IntPtr ops_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(ops));\n"
              << scope_tab << scope_tab << "Marshal.StructureToPtr(ops, ops_ptr, false);\n"
-             << scope_tab << scope_tab << "efl.eo.Globals.efl_class_functions_set(klass, ops_ptr, IntPtr.Zero);\n"
+             << scope_tab << scope_tab << "Efl.Eo.Globals.efl_class_functions_set(klass, ops_ptr, IntPtr.Zero);\n"
             ).generate(sink, attributes::unused, inative_cxt)) return false;
 
 
@@ -419,7 +368,7 @@ struct klass
          //
          // Native method definitions
          if(!as_generator(*(native_function_definition(cls)))
-            .generate(sink, methods, inative_cxt)) return false;
+            .generate(sink, helpers::get_all_implementable_methods(cls), inative_cxt)) return false;
 
          if(!as_generator("}\n").generate(sink, attributes::unused, inative_cxt)) return false;
        }
@@ -430,12 +379,223 @@ struct klass
      return true;
    }
 
+   template <typename OutputIterator, typename Context>
+   bool generate_fields(OutputIterator sink, attributes::klass_def const& cls, Context const& context) const
+   {
+     std::string visibility = is_inherit_context(context) ? "protected " : "private ";
+     bool root = !helpers::has_regular_ancestor(cls);
+     bool is_inherit = is_inherit_context(context);
+
+     std::string class_getter = "return Efl.Eo.Globals.efl_class_get(handle);";
+
+     // The klass field is static but there is no problem if multiple C# classes inherit from this generated one
+     // as it is just a simple wrapper, forwarding the Eo calls either to the user API (where C#'s virtual method
+     // resolution kicks in) or to the base implementation (efl_super).
+     if (is_inherit)
+       {
+          if(!as_generator(
+             scope_tab << "public " << (root ? "" : "new ") <<  "static System.IntPtr klass = System.IntPtr.Zero;\n"
+             ).generate(sink, attributes::unused, context))
+            return false;
+          class_getter = "return klass;";
+       }
+
+     std::string raw_klass_modifier;
+     if (!root)
+       raw_klass_modifier = "override ";
+     else if (is_inherit)
+       raw_klass_modifier = "virtual ";
+
+     if(!as_generator(
+                scope_tab << "///<summary>Pointer to the native class description.</summary>\n"
+                << scope_tab << "public " << raw_klass_modifier << "System.IntPtr NativeClass {\n"
+                << scope_tab << scope_tab << "get {\n"
+                << scope_tab << scope_tab << scope_tab << class_getter << "\n" //return klass; }\n"
+                << scope_tab << scope_tab << "}\n"
+                << scope_tab << "}\n"
+            ).generate(sink, attributes::unused, context))
+         return false;
+
+     // The remaining fields aren't needed in children classes.
+     if (!root)
+       return true;
+
+     if (cls.get_all_events().size() > 0)
+        if (!as_generator(scope_tab << (is_inherit ? "protected " : "private ") << "EventHandlerList eventHandlers = new EventHandlerList();\n").generate(sink, attributes::unused, context))
+          return false;
+
+     if (is_inherit)
+      {
+         if (!as_generator(
+                scope_tab << "private static readonly object klassAllocLock = new object();\n"
+                << scope_tab << "protected bool inherited;\n"
+                ).generate(sink, attributes::unused, context))
+           return false;
+      }
+
+     return as_generator(
+                scope_tab << visibility << " System.IntPtr handle;\n"
+                << scope_tab << "public Dictionary<String, IntPtr> cached_strings = new Dictionary<String, IntPtr>();" << "\n"
+                << scope_tab << "public Dictionary<String, IntPtr> cached_stringshares = new Dictionary<String, IntPtr>();" << "\n"
+                << scope_tab << "///<summary>Pointer to the native instance.</summary>\n"
+                << scope_tab << "public System.IntPtr NativeHandle {\n"
+                << scope_tab << scope_tab << "get { return handle; }\n"
+                << scope_tab << "}\n"
+             ).generate(sink, attributes::unused, context);
+   }
+
+   template <typename OutputIterator, typename Context>
+   bool generate_constructors(OutputIterator sink, attributes::klass_def const& cls, Context const& context) const
+   {
+     bool root = !helpers::has_regular_ancestor(cls);
+     auto inherit_name = name_helpers::klass_concrete_name(cls);
+     auto native_inherit_name = name_helpers::klass_native_inherit_name(cls);
+
+     if(!as_generator(
+             scope_tab << "///<summary>Delegate for function to be called from inside the native constructor.</summary>\n"
+             << scope_tab << "public" << (root ? "" : " new") << " delegate void ConstructingMethod(" << inherit_name << " obj);\n"
+             << scope_tab << "[System.Runtime.InteropServices.DllImport(" << context_find_tag<library_context>(context).actual_library_name(cls.filename)
+             << ")] internal static extern System.IntPtr\n"
+             << scope_tab << scope_tab << name_helpers::klass_get_name(cls) << "();\n"
+            ).generate(sink, attributes::unused, context))
+       return false;
+
+
+     if (!root)
+       {
+          return as_generator(
+                     scope_tab << "///<summary>Creates a new instance.</summary>\n"
+                     << scope_tab << "///<param name=\"parent\">Parent instance.</param>\n"
+                     << scope_tab << "///<param name=\"init_cb\">Delegate to call constructing methods that should be run inside the constructor.</param>\n"
+                     << scope_tab << "public " << inherit_name << "(Efl.Object parent = null, ConstructingMethod init_cb=null) : base(" << native_inherit_name << ".class_initializer, \"" << inherit_name << "\", " << name_helpers::klass_get_name(cls) <<  "(), typeof(" << inherit_name << "), parent, ref klass)\n"
+                     << scope_tab << "{\n"
+                     << scope_tab << scope_tab << "if (init_cb != null) {\n"
+                     << scope_tab << scope_tab << scope_tab << "init_cb(this);\n"
+                     << scope_tab << scope_tab << "}\n"
+                     << scope_tab << scope_tab << "FinishInstantiation();\n"
+                     << scope_tab << "}\n"
+
+                     << scope_tab << "///<summary>Internal constructor to forward the wrapper initialization to the root class.</summary>\n"
+                     << scope_tab << "protected " << inherit_name << "(Efl.Eo.Globals.class_initializer class_initializer, String klass_name, IntPtr base_klass, Type managed_type, Efl.Object parent, ref IntPtr target_klass) : base(class_initializer, klass_name, base_klass, managed_type, parent, ref target_klass) {}\n"
+
+                     << scope_tab << "///<summary>Constructs an instance from a native pointer.</summary>\n"
+                     << scope_tab << "public " << inherit_name << "(System.IntPtr raw)" << (root ? "" : " : base(raw)") << "\n"
+                     << scope_tab << "{\n"
+                     << scope_tab << scope_tab << (root ? "handle = raw;\n" : "")
+                     << scope_tab << scope_tab << "register_event_proxies();\n"
+                     << scope_tab << "}\n"
+                  ).generate(sink, attributes::unused, context);
+       }
+
+     // Detailed constructors go only in root classes.
+     return as_generator(
+             scope_tab << "///<summary>Creates a new instance.</summary>\n"
+             << scope_tab << "///<param name=\"parent\">Parent instance.</param>\n"
+             << scope_tab << "///<param name=\"init_cb\">Delegate to call constructing methods that should be run inside the constructor.</param>\n"
+             << scope_tab << "public " << inherit_name << "(Efl.Object parent = null, ConstructingMethod init_cb=null) : this(" << native_inherit_name << ".class_initializer, \"" << inherit_name << "\", " << name_helpers::klass_get_name(cls) << "(), typeof(" << inherit_name << "), parent, ref klass)\n"
+             << scope_tab << "{\n"
+             << scope_tab << scope_tab << "if (init_cb != null) {\n"
+             << scope_tab << scope_tab << scope_tab << "init_cb(this);\n"
+             << scope_tab << scope_tab << "}\n"
+             << scope_tab << scope_tab << "FinishInstantiation();\n"
+             << scope_tab << "}\n"
+
+             << scope_tab << "protected " << inherit_name << "(Efl.Eo.Globals.class_initializer class_initializer, String klass_name, IntPtr base_klass, Type managed_type, Efl.Object parent, ref IntPtr target_klass)\n"
+             << scope_tab << "{\n"
+             << scope_tab << scope_tab << "inherited = this.GetType() != managed_type;\n"
+             << scope_tab << scope_tab << "IntPtr actual_klass = base_klass;\n"
+             << scope_tab << scope_tab << "if (inherited) {\n"
+             << scope_tab << scope_tab << scope_tab << "if (target_klass == System.IntPtr.Zero) {\n"
+             << scope_tab << scope_tab << scope_tab << scope_tab << "lock (klassAllocLock) {\n"
+             << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "if (target_klass == System.IntPtr.Zero) {\n"
+             << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "target_klass = Efl.Eo.Globals.register_class(class_initializer, klass_name, base_klass);\n"
+             << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "if (target_klass == System.IntPtr.Zero) {\n"
+             << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "throw new System.InvalidOperationException(\"Failed to initialize class '" << inherit_name << "'\");\n"
+             << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "}\n"
+             << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "}\n"
+             << scope_tab << scope_tab << scope_tab << scope_tab << "}\n"
+             << scope_tab << scope_tab << scope_tab << "}\n"
+             << scope_tab << scope_tab << scope_tab << "actual_klass = target_klass;\n"
+             << scope_tab << scope_tab << "}\n"
+             << scope_tab << scope_tab << "handle = Efl.Eo.Globals.instantiate_start(actual_klass, parent);\n"
+             << scope_tab << scope_tab << "register_event_proxies();\n"
+             << scope_tab << "}\n"
+
+             << scope_tab << "protected void FinishInstantiation()\n"
+             << scope_tab << "{\n"
+             << scope_tab << scope_tab << "if (inherited) {\n"
+             << scope_tab << scope_tab << scope_tab << "Efl.Eo.Globals.data_set(this);\n"
+             << scope_tab << scope_tab << "}\n"
+             << scope_tab << scope_tab << "handle = Efl.Eo.Globals.instantiate_end(handle);\n"
+             << scope_tab << scope_tab << "Eina.Error.RaiseIfOccurred();\n"
+             << scope_tab << "}\n"
+
+             << scope_tab << "///<summary>Constructs an instance from a native pointer.</summary>\n"
+             << scope_tab << "public " << inherit_name << "(System.IntPtr raw)\n"
+             << scope_tab << "{\n"
+             << scope_tab << scope_tab << "handle = raw;\n"
+             << scope_tab << scope_tab << "register_event_proxies();\n"
+             << scope_tab << "}\n"
+             ).generate(sink, attributes::unused, context);
+   }
+
+
+   template <typename OutputIterator, typename Context>
+   bool generate_dispose_methods(OutputIterator sink, attributes::klass_def const& cls, Context const& context) const
+   {
+     std::string name = join_namespaces(cls.namespaces, '.') + cls.eolian_name;
+     if (helpers::has_regular_ancestor(cls))
+       return true;
+
+     std::string visibility = is_inherit_context(context) ? "protected virtual " : "";
+
+     auto inherit_name = name_helpers::klass_concrete_name(cls);
+
+     return as_generator(
+
+             scope_tab << "///<summary>Destructor.</summary>\n"
+             << scope_tab << "~" << inherit_name << "()\n"
+             << scope_tab << "{\n"
+             << scope_tab << scope_tab << "Dispose(false);\n"
+             << scope_tab << "}\n"
+
+             << scope_tab << "///<summary>Releases the underlying native instance.</summary>\n"
+             << scope_tab << visibility << "void Dispose(bool disposing)\n"
+             << scope_tab << "{\n"
+             << scope_tab << scope_tab << "if (handle != System.IntPtr.Zero) {\n"
+             << scope_tab << scope_tab << scope_tab << "Efl.Eo.Globals.efl_unref(handle);\n"
+             << scope_tab << scope_tab << scope_tab << "handle = System.IntPtr.Zero;\n"
+             << scope_tab << scope_tab << "}\n"
+             << scope_tab << "}\n"
+
+             << scope_tab << "///<summary>Releases the underlying native instance.</summary>\n"
+             << scope_tab << "public void Dispose()\n"
+             << scope_tab << "{\n"
+             << scope_tab << "Efl.Eo.Globals.free_dict_values(cached_strings);" << "\n"
+             << scope_tab << "Efl.Eo.Globals.free_stringshare_values(cached_stringshares);" << "\n"
+             << scope_tab << scope_tab << "Dispose(true);\n"
+             << scope_tab << scope_tab << "GC.SuppressFinalize(this);\n"
+             << scope_tab << "}\n"
+             ).generate(sink, attributes::unused, context);
+   }
+
    template <typename OutputIterator, typename Context>
    bool generate_events_registration(OutputIterator sink, attributes::klass_def const& cls, Context const& context) const
    {
+     bool root = !helpers::has_regular_ancestor(cls);
+     std::string virtual_modifier = " ";
+
+     if (!root)
+       virtual_modifier = "override ";
+     else
+       {
+          if (is_inherit_context(context))
+             virtual_modifier = "virtual ";
+       }
+
      // Event proxy registration
      if (!as_generator(
-            scope_tab << "private void register_event_proxies()\n"
+            scope_tab << (is_inherit_context(context) || !root ? "protected " : "") << virtual_modifier << "void register_event_proxies()\n"
             << scope_tab << "{\n"
          )
          .generate(sink, NULL, context))
@@ -443,15 +603,23 @@ struct klass
 
      // Generate event registrations here
 
+     if (!root)
+       if (!as_generator(scope_tab << scope_tab << "base.register_event_proxies();\n").generate(sink, NULL, context))
+         return false;
+
      // Assigning the delegates
-     if (!as_generator(*(event_registration())).generate(sink, cls.events, context))
+     if (!as_generator(*(event_registration(cls, cls))).generate(sink, cls.events, context))
        return false;
 
-     for (auto&& c : cls.inherits)
+     for (auto&& c : helpers::non_implemented_interfaces(cls))
        {
+          // Only non-regular types (which declare events through interfaces) need to register them.
+          if (c.type == attributes::class_type::regular)
+            continue;
+
           attributes::klass_def klass(get_klass(c, cls.unit), cls.unit);
 
-          if (!as_generator(*(event_registration(&klass))).generate(sink, klass.events, context))
+          if (!as_generator(*(event_registration(klass, cls))).generate(sink, klass.events, context))
              return false;
        }
 
@@ -470,53 +638,59 @@ struct klass
      if (!has_events(cls))
          return true;
 
-     std::string visibility = is_inherit_context(context) ? "protected" : "private";
+     std::string visibility = is_inherit_context(context) ? "protected " : "private ";
 
-     if (!as_generator(scope_tab << "private readonly object eventLock = new object();\n"
-             << scope_tab << "private Dictionary<string, int> event_cb_count = new Dictionary<string, int>();\n")
-             .generate(sink, NULL, context))
-         return false;
+     if (!helpers::has_regular_ancestor(cls))
+       {
+         if (!as_generator(scope_tab << visibility << "readonly object eventLock = new object();\n"
+                 << scope_tab << visibility << "Dictionary<string, int> event_cb_count = new Dictionary<string, int>();\n")
+                 .generate(sink, NULL, context))
+             return false;
 
      // Callback registration functions
      if (!as_generator(
-            scope_tab << "private bool add_cpp_event_handler(string key, efl.Event_Cb evt_delegate) {\n"
+            scope_tab << visibility << "bool add_cpp_event_handler(string key, Efl.EventCb evt_delegate) {\n"
             << scope_tab << scope_tab << "int event_count = 0;\n"
             << scope_tab << scope_tab << "if (!event_cb_count.TryGetValue(key, out event_count))\n"
             << scope_tab << scope_tab << scope_tab << "event_cb_count[key] = event_count;\n"
             << scope_tab << scope_tab << "if (event_count == 0) {\n"
-            << scope_tab << scope_tab << scope_tab << "IntPtr desc = efl.Event_Description.GetNative(key);\n"
+
+            << scope_tab << scope_tab << scope_tab << "IntPtr desc = Efl.EventDescription.GetNative(key);\n"
             << scope_tab << scope_tab << scope_tab << "if (desc == IntPtr.Zero) {\n"
-            << scope_tab << scope_tab << scope_tab << scope_tab << "eina.Log.Error($\"Failed to get native event {key}\");\n"
+            << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Error($\"Failed to get native event {key}\");\n"
             << scope_tab << scope_tab << scope_tab << scope_tab << "return false;\n"
             << scope_tab << scope_tab << scope_tab << "}\n"
-            << scope_tab << scope_tab << scope_tab << "bool result = efl.eo.Globals.efl_event_callback_priority_add(handle, desc, 0, evt_delegate, System.IntPtr.Zero);\n"
+
+            << scope_tab << scope_tab << scope_tab << " bool result = Efl.Eo.Globals.efl_event_callback_priority_add(handle, desc, 0, evt_delegate, System.IntPtr.Zero);\n"
             << scope_tab << scope_tab << scope_tab << "if (!result) {\n"
-            << scope_tab << scope_tab << scope_tab << scope_tab << "eina.Log.Error($\"Failed to add event proxy for event {key}\");\n"
+            << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Error($\"Failed to add event proxy for event {key}\");\n"
             << scope_tab << scope_tab << scope_tab << scope_tab << "return false;\n"
             << scope_tab << scope_tab << scope_tab << "}\n"
-            << scope_tab << scope_tab << scope_tab << "eina.Error.RaiseIfOccurred();\n"
+            << scope_tab << scope_tab << scope_tab << "Eina.Error.RaiseIfOccurred();\n"
             << scope_tab << scope_tab << "} \n"
             << scope_tab << scope_tab << "event_cb_count[key]++;\n"
             << scope_tab << scope_tab << "return true;\n"
             << scope_tab << "}\n"
-            << scope_tab << "private bool remove_cpp_event_handler(string key, efl.Event_Cb evt_delegate) {\n"
+            << scope_tab << visibility << "bool remove_cpp_event_handler(string key, Efl.EventCb evt_delegate) {\n"
             << scope_tab << scope_tab << "int event_count = 0;\n"
             << scope_tab << scope_tab << "if (!event_cb_count.TryGetValue(key, out event_count))\n"
             << scope_tab << scope_tab << scope_tab << "event_cb_count[key] = event_count;\n"
             << scope_tab << scope_tab << "if (event_count == 1) {\n"
-            << scope_tab << scope_tab << scope_tab << "IntPtr desc = efl.Event_Description.GetNative(key);\n"
+
+            << scope_tab << scope_tab << scope_tab << "IntPtr desc = Efl.EventDescription.GetNative(key);\n"
             << scope_tab << scope_tab << scope_tab << "if (desc == IntPtr.Zero) {\n"
-            << scope_tab << scope_tab << scope_tab << scope_tab << "eina.Log.Error($\"Failed to get native event {key}\");\n"
+            << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Error($\"Failed to get native event {key}\");\n"
             << scope_tab << scope_tab << scope_tab << scope_tab << "return false;\n"
             << scope_tab << scope_tab << scope_tab << "}\n"
-            << scope_tab << scope_tab << scope_tab << "bool result = efl.eo.Globals.efl_event_callback_del(handle, desc, evt_delegate, System.IntPtr.Zero);\n"
+
+            << scope_tab << scope_tab << scope_tab << "bool result = Efl.Eo.Globals.efl_event_callback_del(handle, desc, evt_delegate, System.IntPtr.Zero);\n"
             << scope_tab << scope_tab << scope_tab << "if (!result) {\n"
-            << scope_tab << scope_tab << scope_tab << scope_tab << "eina.Log.Error($\"Failed to remove event proxy for event {key}\");\n"
+            << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Error($\"Failed to remove event proxy for event {key}\");\n"
             << scope_tab << scope_tab << scope_tab << scope_tab << "return false;\n"
             << scope_tab << scope_tab << scope_tab << "}\n"
-            << scope_tab << scope_tab << scope_tab << "eina.Error.RaiseIfOccurred();\n"
+            << scope_tab << scope_tab << scope_tab << "Eina.Error.RaiseIfOccurred();\n"
             << scope_tab << scope_tab << "} else if (event_count == 0) {\n"
-            << scope_tab << scope_tab << scope_tab << "eina.Log.Error($\"Trying to remove proxy for event {key} when there is nothing registered.\");\n"
+            << scope_tab << scope_tab << scope_tab << "Eina.Log.Error($\"Trying to remove proxy for event {key} when there is nothing registered.\");\n"
             << scope_tab << scope_tab << scope_tab << "return false;\n"
             << scope_tab << scope_tab << "} \n"
             << scope_tab << scope_tab << "event_cb_count[key]--;\n"
@@ -525,16 +699,20 @@ struct klass
             )
              .generate(sink, NULL, context))
          return false;
+       }
 
      // Self events
-     if (!as_generator(*(event_definition(cls))).generate(sink, cls.events, context))
+     if (!as_generator(*(event_definition(cls, cls))).generate(sink, cls.events, context))
        return false;
 
      // Inherited events
-     for (auto&& c : cls.inherits)
+
+     // For now, as mixins can inherit from regular classes, we can't filter out inherited events.
+     auto inherits = helpers::non_implemented_interfaces(cls);
+     for (auto&& c : inherits)
        {
           attributes::klass_def klass(get_klass(c, cls.unit), cls.unit);
-          if (!as_generator(*(event_definition(klass, true))).generate(sink, klass.events, context))
+          if (!as_generator(*(event_definition(klass, cls))).generate(sink, klass.events, context))
             return false;
        }
      return true;
index a2426569ab42174c5f139cab6ca096483256829b..6ddb990da82a66426b74d8755b83b8a6ef1317c2 100644 (file)
@@ -53,34 +53,34 @@ struct marshall_annotation_visitor_generate
            // signed primitives
           {"bool", nullptr, [&] { return " [MarshalAs(UnmanagedType.U1)]"; }},
           {"string", true, [&] {
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringPassOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringPassOwnershipMarshaler))]";
           }},
           {"string", false, [&] {
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringKeepOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))]";
           }},
           {"mstring", true, [&] {
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringPassOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringPassOwnershipMarshaler))]";
           }},
           {"mstring", false, [&] {
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringKeepOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))]";
           }},
           {"stringshare", true, [&] {
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringsharePassOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringsharePassOwnershipMarshaler))]";
           }},
           {"stringshare", false, [&] {
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringshareKeepOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringshareKeepOwnershipMarshaler))]";
           }},
           {"any_value_ptr", true, [&] {
-                    return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(eina.ValueMarshalerOwn))]";
+                    return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Eina.ValueMarshalerOwn))]";
           }},
           {"any_value_ptr", false, [&] {
-                    return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(eina.ValueMarshaler))]";
+                    return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Eina.ValueMarshaler))]";
           }},
           {"strbuf", true, [&] {
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StrbufPassOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufPassOwnershipMarshaler))]";
           }},
           {"strbuf", false, [&] {
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StrbufKeepOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufKeepOwnershipMarshaler))]";
           }},
         };
       match const return_match_table[] =
@@ -88,34 +88,34 @@ struct marshall_annotation_visitor_generate
            // signed primitives
           {"bool", nullptr, [&] { return " [return: MarshalAs(UnmanagedType.U1)]"; }},
           {"string", true, [&] {
-                return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringPassOwnershipMarshaler))]";
+                return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringPassOwnershipMarshaler))]";
           }},
           {"string", false, [&] {
-                return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringKeepOwnershipMarshaler))]";
+                return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))]";
           }},
           {"mstring", true, [&] {
-                return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringPassOwnershipMarshaler))]";
+                return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringPassOwnershipMarshaler))]";
           }},
           {"mstring", false, [&] {
-                return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringKeepOwnershipMarshaler))]";
+                return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))]";
           }},
           {"stringshare", true, [&] {
-                return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringsharePassOwnershipMarshaler))]";
+                return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringsharePassOwnershipMarshaler))]";
           }},
           {"stringshare", false, [&] {
-                return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringshareKeepOwnershipMarshaler))]";
+                return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringshareKeepOwnershipMarshaler))]";
           }},
           {"any_value_ptr", true, [&] {
-                    return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(eina.ValueMarshalerOwn))]";
+                    return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Eina.ValueMarshalerOwn))]";
           }},
           {"any_value_ptr", false, [&] {
-                    return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(eina.ValueMarshaler))]";
+                    return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Eina.ValueMarshaler))]";
           }},
           {"strbuf", true, [&] {
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StrbufPassOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufPassOwnershipMarshaler))]";
           }},
           {"strbuf", false, [&] {
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StrbufKeepOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufKeepOwnershipMarshaler))]";
           }},
         };
 
@@ -142,11 +142,11 @@ struct marshall_annotation_visitor_generate
    }
    bool operator()(attributes::klass_name const& klass_name) const
    {
-     const char no_return_prefix[] = "[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(efl.eo.MarshalTest<";
-     const char return_prefix[] = "[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(efl.eo.MarshalTest<";
+     const char no_return_prefix[] = "[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Efl.Eo.MarshalTest<";
+     const char return_prefix[] = "[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Efl.Eo.MarshalTest<";
      return as_generator
        ((is_return ? return_prefix : no_return_prefix)
-        << string << ", efl.eo." << (klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag") << ">))]"
+        << string << ", Efl.Eo." << (klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag") << ">))]"
         ).generate(sink, name_helpers::klass_full_concrete_name(klass_name), *context);
    }
    bool operator()(attributes::complex_type_def const& c) const
@@ -154,7 +154,7 @@ struct marshall_annotation_visitor_generate
      if (c.outer.base_type == "future")
        {
           std::string prefix = is_return ? "return: " : "";
-          return as_generator("[" << prefix << "MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(eina.FutureMarshaler))]").generate(sink, nullptr, *context);
+          return as_generator("[" << prefix << "MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Eina.FutureMarshaler))]").generate(sink, nullptr, *context);
        }
      return true;
    }
@@ -187,26 +187,26 @@ struct marshall_native_annotation_visitor_generate
            // signed primitives
           {"bool", nullptr, [&] { return " [MarshalAs(UnmanagedType.U1)]"; }},
           {"string", true, [&] {
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringPassOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringPassOwnershipMarshaler))]";
           }},
           {"string", false, [&] {
                 if (is_out)
                    return "";
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringKeepOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))]";
           }},
           {"stringshare", true, [&] {
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringsharePassOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringsharePassOwnershipMarshaler))]";
           }},
           {"stringshare", false, [&] {
                 if (is_out)
                     return "";
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringshareKeepOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringshareKeepOwnershipMarshaler))]";
           }},
           {"strbuf", true, [&] {
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StrbufPassOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufPassOwnershipMarshaler))]";
           }},
           {"strbuf", false, [&] {
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StrbufKeepOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufKeepOwnershipMarshaler))]";
           }},
         };
       match const return_match_table[] =
@@ -214,18 +214,18 @@ struct marshall_native_annotation_visitor_generate
            // signed primitives
           {"bool", nullptr, [&] { return " [return: MarshalAs(UnmanagedType.U1)]"; }},
           {"string", true, [&] {
-                return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringPassOwnershipMarshaler))]";
+                return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringPassOwnershipMarshaler))]";
           }},
           {"string", false, [&] { return ""; }},
           {"stringshare", true, [&] {
-                return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringsharePassOwnershipMarshaler))]";
+                return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringsharePassOwnershipMarshaler))]";
           }},
           {"stringshare", false, [&] { return ""; }},
           {"strbuf", true, [&] {
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StrbufPassOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufPassOwnershipMarshaler))]";
           }},
           {"strbuf", false, [&] {
-                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StrbufKeepOwnershipMarshaler))]";
+                return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufKeepOwnershipMarshaler))]";
           }},
         };
 
@@ -252,11 +252,11 @@ struct marshall_native_annotation_visitor_generate
    }
    bool operator()(attributes::klass_name const& klass_name) const
    {
-     const char no_return_prefix[] = "[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(efl.eo.MarshalTest<";
-     const char return_prefix[] = "[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(efl.eo.MarshalTest<";
+     const char no_return_prefix[] = "[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Efl.Eo.MarshalTest<";
+     const char return_prefix[] = "[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Efl.Eo.MarshalTest<";
      return as_generator
        ((is_return ? return_prefix : no_return_prefix)
-        << string << ", efl.eo." << (klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag") << ">))]"
+        << string << ", Efl.Eo." << (klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag") << ">))]"
         ).generate(sink, name_helpers::klass_full_concrete_name(klass_name), *context);
    }
    bool operator()(attributes::complex_type_def const& c) const
@@ -264,7 +264,7 @@ struct marshall_native_annotation_visitor_generate
      if (c.outer.base_type == "future")
        {
           std::string prefix = is_return ? "return: " : "";
-          return as_generator("[" << prefix << "MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(eina.FutureMarshaler))]").generate(sink, nullptr, *context);
+          return as_generator("[" << prefix << "MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Eina.FutureMarshaler))]").generate(sink, nullptr, *context);
        }
      return true;
    }
index 79ce8b638016c6e59c08b2c71e8a4edd216e85fb..add954ade2d63eff631f8844fda19403697be9d9 100644 (file)
@@ -22,7 +22,7 @@ struct marshall_native_annotation_visitor_generate;
  *
  * For example, Eina.Value can be marshaled either as an eina.Value instance through
  * CustomMarshallers if we have a ptr(Eina.Value) or through the intermediate
- * eina.Value_Native blittable struct if it is passed by value.
+ * eina.ValueNative blittable struct if it is passed by value.
  *
  * For details, check marshall_type_impl.h with the actual conversion rules.
  */
index 95970dedd63441ccdb5638278bb8605fe05f17f8..e14369ad7bb62231afa1e1b4dc37d4f9e7e55e46 100644 (file)
@@ -94,7 +94,7 @@ struct marshall_type_visitor_generate
               {
                 regular_type_def r = regular;
                 r.base_qualifier.qualifier ^= qualifier_info::is_ref;
-                return replace_base_type(r, " eina.Strbuf");
+                return replace_base_type(r, " Eina.Strbuf");
               }}
            , {"Binbuf", true, [&]
               {
@@ -115,9 +115,9 @@ struct marshall_type_visitor_generate
                 regular_type_def r = regular;
                 r.namespaces.clear();
                 if (is_ptr)
-                    r.base_type = " eina.Value";
+                    r.base_type = " Eina.Value";
                 else
-                    r.base_type = " eina.Value_Native";
+                    r.base_type = " Eina.ValueNative";
                 return r;
                }}
            , {"any_value", false, [&]
@@ -125,23 +125,23 @@ struct marshall_type_visitor_generate
                 regular_type_def r = regular;
                 r.namespaces.clear();
                 if (is_ptr)
-                    r.base_type = " eina.Value";
+                    r.base_type = " Eina.Value";
                 else
-                    r.base_type = " eina.Value_Native";
+                    r.base_type = " Eina.ValueNative";
                 return r;
                }}
            , {"any_value_ptr", true, [&]
                {
                 regular_type_def r = regular;
                 r.namespaces.clear();
-                r.base_type = " eina.Value";
+                r.base_type = " Eina.Value";
                 return r;
                }}
            , {"any_value_ptr", false, [&]
                {
                 regular_type_def r = regular;
                 r.namespaces.clear();
-                r.base_type = " eina.Value";
+                r.base_type = " Eina.Value";
                 return r;
                }}
            , {"void", nullptr, [&]
index b1a03056efe1acd28a45bdd5437f166a91acedb8..05bf783384145b127bc58bb6cd89568b97f431be 100644 (file)
@@ -36,6 +36,10 @@ inline bool is_iequal(std::string const& lhs, std::string const& rhs)
 {
   return strcasecmp(lhs.c_str(), rhs.c_str()) == 0;
 }
+inline bool is_equal(std::string const& lhs, std::string const& rhs)
+{
+  return lhs == rhs;
+}
 }
 
 inline std::string identity(std::string const& str)
@@ -45,21 +49,21 @@ inline std::string identity(std::string const& str)
 
 inline std::string escape_keyword(std::string const& name)
 {
-  using detail::is_iequal;
-  if(is_iequal(name, "delete")
-     || is_iequal(name, "do")
-     || is_iequal(name,  "lock")
-     || is_iequal(name, "event")
-     || is_iequal(name, "in")
-     || is_iequal(name, "object")
-     || is_iequal(name, "interface")
-     || is_iequal(name, "string")
-     || is_iequal(name, "internal")
-     || is_iequal(name, "fixed")
-     || is_iequal(name, "base"))
+  using detail::is_equal;
+  if(is_equal(name, "delete")
+     || is_equal(name, "do")
+     || is_equal(name, "lock")
+     || is_equal(name, "event")
+     || is_equal(name, "in")
+     || is_equal(name, "object")
+     || is_equal(name, "interface")
+     || is_equal(name, "string")
+     || is_equal(name, "internal")
+     || is_equal(name, "fixed")
+     || is_equal(name, "base"))
     return "kw_" + name;
 
-  if (is_iequal(name, "Finalize"))
+  if (is_equal(name, "Finalize"))
     return name + "Add"; // Eo's Finalize is actually the end of efl_add.
   return name;
 }
@@ -169,7 +173,7 @@ void reorder_verb(std::vector<std::string> &names)
 
 inline std::string managed_namespace(std::string const& ns)
 {
-  return utils::to_lowercase(escape_keyword(ns));
+  return escape_keyword(utils::remove_all(ns, '_'));
 }
 
 inline std::string managed_method_name(attributes::function_def const& f)
@@ -208,7 +212,7 @@ inline std::string type_full_eolian_name(attributes::regular_type_def const& typ
 
 inline std::string type_full_managed_name(attributes::regular_type_def const& type)
 {
-   return join_namespaces(type.namespaces, '.', managed_namespace) + type.base_type;
+   return join_namespaces(type.namespaces, '.', managed_namespace) + utils::remove_all(type.base_type, '_');
 }
 
 inline std::string struct_full_eolian_name(attributes::struct_def const& struct_)
@@ -216,9 +220,22 @@ inline std::string struct_full_eolian_name(attributes::struct_def const& struct_
    return join_namespaces(struct_.namespaces, '.') + struct_.cxx_name;
 }
 
-inline std::string enum_managed_name(attributes::enum_def const& enum_)
+template<typename T>
+inline std::string typedecl_managed_name(T const& item)
+{
+   return utils::remove_all(item.cxx_name, '_');
+}
+
+inline std::string typedecl_managed_name(attributes::function_def const& func)
 {
-   return enum_.cxx_name;
+   return utils::remove_all(func.name, '_');
+}
+
+
+inline std::string enum_field_managed_name(std::string name)
+{
+   std::vector<std::string> names = utils::split(name, '_');
+   return utils::to_pascal_case(names);
 }
 
 inline std::string to_field_name(std::string const& in)
@@ -226,41 +243,106 @@ inline std::string to_field_name(std::string const& in)
   return utils::capitalize(in);
 }
 
-// Class name translation (interface/concrete/inherit/etc)
-template<typename T>
-inline std::string klass_interface_name(T const& klass)
+inline std::string managed_part_name(attributes::part_def const& part)
 {
-  return "I" + klass.eolian_name;
+  std::vector<std::string> names = utils::split(part.name, '_');
+  return utils::to_pascal_case(names);
 }
 
-template<typename T>
-inline std::string klass_full_interface_name(T const& klass)
+// Class name translation (interface/concrete/inherit/etc)
+struct klass_interface_name_generator
 {
-  return join_namespaces(klass.namespaces, '.', managed_namespace) + klass_interface_name(klass);
-}
+
+  template <typename T>
+  std::string operator()(T const& klass) const
+  {
+    return utils::remove_all(klass.eolian_name, '_');
+  }
+    
+  template <typename OutputIterator, typename Attr, typename Context>
+  bool generate(OutputIterator sink, Attr const& attribute, Context const& context) const
+  {
+    return as_generator((*this).operator()<Attr>(attribute)).generate(sink, attributes::unused, context);
+  }
+} klass_interface_name;
+  
+struct klass_full_interface_name_generator
+{
+  template <typename T>
+  std::string operator()(T const& klass) const
+  {
+    return join_namespaces(klass.namespaces, '.', managed_namespace) + klass_interface_name(klass);
+  }
+    
+  template <typename OutputIterator, typename Attr, typename Context>
+  bool generate(OutputIterator sink, Attr const& attribute, Context const& context) const
+  {
+    return as_generator((*this).operator()<Attr>(attribute)).generate(sink, attributes::unused, context);
+  }
+} klass_full_interface_name;
 
 template<typename T>
 inline std::string klass_concrete_name(T const& klass)
 {
-  return klass.eolian_name;
+  std::string name = utils::remove_all(klass.eolian_name, '_');
+  if (klass.type == attributes::class_type::regular || klass.type == attributes::class_type::abstract_)
+    return name;
+  return name + "Concrete";
 }
 
-template<typename T>
-inline std::string klass_full_concrete_name(T const& klass)
+struct klass_full_concrete_name_generator
 {
-  return join_namespaces(klass.namespaces, '.', managed_namespace) + klass_concrete_name(klass);
-}
+  template <typename T>
+  std::string operator()(T const& klass) const
+  {
+    return join_namespaces(klass.namespaces, '.', managed_namespace) + klass_concrete_name(klass);
+  }
+    
+  template <typename OutputIterator, typename Attr, typename Context>
+  bool generate(OutputIterator sink, Attr const& attribute, Context const& context) const
+  {
+    return as_generator((*this).operator()<Attr>(attribute)).generate(sink, attributes::unused, context);
+  }
+} klass_full_concrete_name;
+
+struct klass_full_concrete_or_interface_name_generator
+{
+  template <typename T>
+  std::string operator()(T const& klass) const
+  {
+    switch(klass.type)
+    {
+    case attributes::class_type::abstract_:
+    case attributes::class_type::regular:
+      return klass_full_concrete_name(klass);
+    }
+    return klass_full_interface_name(klass);
+
+  }
+
+  template <typename OutputIterator, typename Context>
+  bool generate(OutputIterator, attributes::unused_type, Context const&) const
+  {
+    return true;
+  }
+
+  template <typename OutputIterator, typename Attr, typename Context>
+  bool generate(OutputIterator sink, Attr const& attribute, Context const& context) const
+  {
+    return as_generator((*this).operator()<Attr>(attribute)).generate(sink, attributes::unused, context);
+  }
+} klass_full_concrete_or_interface_name;
 
 template<typename T>
 inline std::string klass_inherit_name(T const& klass)
 {
-  return klass.eolian_name + "Inherit";
+  return klass_concrete_name(klass);
 }
 
 template<typename T>
 inline std::string klass_native_inherit_name(T const& klass)
 {
-  return klass.eolian_name + "NativeInherit";
+  return klass_concrete_name(klass) + "NativeInherit";
 }
 
 template<typename T>
@@ -282,17 +364,20 @@ inline std::string managed_event_name(std::string const& name)
 
 inline std::string managed_event_args_short_name(attributes::event_def const& evt)
 {
-   return name_helpers::managed_event_name(evt.name) + "_Args";
+   std::string ret;
+     ret = klass_interface_name(evt.klass);
+   return ret + name_helpers::managed_event_name(evt.name) + "_Args";
 }
 
 inline std::string managed_event_args_name(attributes::event_def evt)
 {
-   return klass_full_concrete_name(evt.klass) + "." + managed_event_args_short_name(evt);
+   return join_namespaces(evt.klass.namespaces, '.', managed_namespace) +
+          managed_event_args_short_name(evt);
 }
 
 inline std::string translate_inherited_event_name(const attributes::event_def &evt, const attributes::klass_def &klass)
 {
-   return join_namespaces(klass.namespaces, '_') + klass.cxx_name + "_" + managed_event_name(evt.name);
+   return join_namespaces(klass.namespaces, '_') + klass_interface_name(klass) + "_" + managed_event_name(evt.name);
 }
 
 // Open/close namespaces
@@ -318,4 +403,34 @@ bool close_namespaces(OutputIterator sink, std::vector<std::string> const& names
 
 } // namespace eolian_mono
 
+
+namespace efl { namespace eolian { namespace grammar {
+
+template <>
+struct is_eager_generator<eolian_mono::name_helpers::klass_interface_name_generator> : std::true_type {};
+template <>
+struct is_generator<eolian_mono::name_helpers::klass_interface_name_generator> : std::true_type {};
+
+template <>
+struct is_eager_generator<eolian_mono::name_helpers::klass_full_interface_name_generator> : std::true_type {};
+template <>
+struct is_generator<eolian_mono::name_helpers::klass_full_interface_name_generator> : std::true_type {};
+
+template <>
+struct is_eager_generator<eolian_mono::name_helpers::klass_full_concrete_or_interface_name_generator> : std::true_type {};
+template <>
+struct is_generator<eolian_mono::name_helpers::klass_full_concrete_or_interface_name_generator> : std::true_type {};
+
+template <>
+struct is_eager_generator<eolian_mono::name_helpers::klass_full_concrete_name_generator> : std::true_type {};
+template <>
+struct is_generator<eolian_mono::name_helpers::klass_full_concrete_name_generator> : std::true_type {};
+
+namespace type_traits {
+template <>
+struct attributes_needed<struct ::eolian_mono::name_helpers::klass_full_concrete_or_interface_name_generator> : std::integral_constant<int, 1> {};
+}
+      
+} } }
+      
 #endif
index 55ea6f4115d86cc1a83b98dca270131b471500ab..70d22fb97e1bc3f13bf8d1a467168e08e811d841 100644 (file)
@@ -458,7 +458,7 @@ struct marshall_parameter_generator
             ).generate(sink, std::make_tuple(param, param_name), context);
 
       return as_generator(
-               "IntPtr " << param_name << "_data, " << type << "Internal " << param_name << ", Eina_Free_Cb "
+               "IntPtr " << param_name << "_data, " << type << "Internal " << param_name << ", EinaFreeCb "
                << param_name << "_free_cb"
            ).generate(sink, param, context);
    }
@@ -527,7 +527,7 @@ struct argument_invocation_generator
      else if (param.type.original_type.visit(is_fp_visitor{}))
        {
           std::string param_name = escape_keyword(param.param_name);
-          return as_generator("GCHandle.ToIntPtr(" << param_name << "_handle), " << type << "Wrapper.Cb, efl.eo.Globals.free_gchandle")
+          return as_generator("GCHandle.ToIntPtr(" << param_name << "_handle), " << type << "Wrapper.Cb, Efl.Eo.Globals.free_gchandle")
              .generate(sink, param.type, context);
        }
      else
@@ -553,7 +553,7 @@ struct native_convert_in_variable_generator
       if (param.type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion(param, regular))
         {
            return as_generator(
-                "var " << string << " = eina.PrimitiveConversion.PointerToManaged<" << type << ">(" << escape_keyword(param.param_name) << ");\n"
+                "var " << string << " = Eina.PrimitiveConversion.PointerToManaged<" << type << ">(" << escape_keyword(param.param_name) << ");\n"
              ).generate(sink, std::make_tuple(in_variable_name(param.param_name), param.type), context);
         }
       else if (helpers::need_struct_conversion(regular))
@@ -565,7 +565,7 @@ struct native_convert_in_variable_generator
       else if (param.type.c_type == "Eina_Binbuf *" || param.type.c_type == "const Eina_Binbuf *")
         {
            return as_generator(
-                "var " << string << " = new eina.Binbuf(" << escape_keyword(param.param_name) << ", " << (param.type.has_own ? "true" : "false") << ");\n"
+                "var " << string << " = new Eina.Binbuf(" << escape_keyword(param.param_name) << ", " << (param.type.has_own ? "true" : "false") << ");\n"
              ).generate(sink, in_variable_name(param.param_name), context);
         }
      else if (param.type.c_type == "Eina_Hash *" || param.type.c_type == "const Eina_Hash *")
@@ -622,7 +622,7 @@ struct convert_in_variable_generator
       if (param.type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion(param, regular))
         {
            return as_generator(
-                "var " << string << " = eina.PrimitiveConversion.ManagedToPointerAlloc(" << escape_keyword(param.param_name) << ");\n"
+                "var " << string << " = Eina.PrimitiveConversion.ManagedToPointerAlloc(" << escape_keyword(param.param_name) << ");\n"
              ).generate(sink, in_variable_name(param.param_name), context);
         }
       else if (helpers::need_struct_conversion(regular))
@@ -813,7 +813,7 @@ struct native_convert_out_variable_generator
               )
         {
            return as_generator(
-               "eina.Binbuf " << string << " = default(eina.Binbuf);\n"
+               "Eina.Binbuf " << string << " = default(Eina.Binbuf);\n"
              ).generate(sink, out_variable_name(param.param_name), context);
         }
       else if (param_is_acceptable(param, "Eina_Array *", WANT_OWN, WANT_OUT)
@@ -886,7 +886,7 @@ struct convert_out_assign_generator
       if (param.type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion_in_return(param.type, param.direction))
         {
            bool ret = as_generator(
-                string << " = eina.PrimitiveConversion.PointerToManaged<" << type << ">(" << out_variable_name(param.param_name) << ");\n"
+                string << " = Eina.PrimitiveConversion.PointerToManaged<" << type << ">(" << out_variable_name(param.param_name) << ");\n"
              ).generate(sink, std::make_tuple(escape_keyword(param.param_name), param.type), context);
 
            if (param.type.has_own)
@@ -908,7 +908,7 @@ struct convert_out_assign_generator
               )
         {
            return as_generator(
-               string << " = new eina.Binbuf(" << string << ", " << (param.type.has_own ? "true" : "false") << ");\n"
+               string << " = new Eina.Binbuf(" << string << ", " << (param.type.has_own ? "true" : "false") << ");\n"
              ).generate(sink, std::make_tuple(escape_keyword(param.param_name), out_variable_name(param.param_name)), context);
         }
       else if (param_is_acceptable(param, "Eina_Hash *", WANT_OWN, WANT_OUT)
@@ -1032,7 +1032,7 @@ struct convert_return_generator
      if (ret_type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion_in_return(ret_type, attributes::parameter_direction::unknown))
        {
           return as_generator(
-               "var __ret_tmp = eina.PrimitiveConversion.PointerToManaged<" << type << ">(_ret_var);\n"
+               "var __ret_tmp = Eina.PrimitiveConversion.PointerToManaged<" << type << ">(_ret_var);\n"
                << scope_tab << scope_tab << (ret_type.has_own ? ("Marshal.FreeHGlobal(_ret_var);\n"): "\n")
                << scope_tab << scope_tab << "return __ret_tmp;\n"
             ).generate(sink, ret_type, context);
@@ -1045,7 +1045,7 @@ struct convert_return_generator
        }
      else if (ret_type.c_type == "Eina_Binbuf *" || ret_type.c_type == "const Eina_Binbuf *")
        {
-           if (!as_generator("var _binbuf_ret = new eina.Binbuf(_ret_var, " << std::string{ret_type.has_own ? "true" : "false"} << ");\n"
+           if (!as_generator("var _binbuf_ret = new Eina.Binbuf(_ret_var, " << std::string{ret_type.has_own ? "true" : "false"} << ");\n"
                              << scope_tab << scope_tab << "return _binbuf_ret;\n")
              .generate(sink, attributes::unused, context))
              return false;
@@ -1104,7 +1104,7 @@ struct native_convert_out_assign_generator
       if (param.type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion_in_return(param.type, param.direction))
         {
            return as_generator(
-                string << " = eina.PrimitiveConversion.ManagedToPointerAlloc(" << string << ");\n"
+                string << " = Eina.PrimitiveConversion.ManagedToPointerAlloc(" << string << ");\n"
              ).generate(sink, std::make_tuple(escape_keyword(param.param_name), out_variable_name(param.param_name)), context);
         }
       else if (helpers::need_struct_conversion(regular))
@@ -1121,7 +1121,7 @@ struct native_convert_out_assign_generator
                 return false;
              }
            return as_generator(
-                string << "= efl.eo.Globals.cached_stringshare_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_stringshares, " << string << ");\n"
+                string << "= Efl.Eo.Globals.cached_stringshare_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_stringshares, " << string << ");\n"
               ).generate(sink, std::make_tuple(escape_keyword(param.param_name), out_variable_name(param.param_name)), context);
         }
       else if (param_is_acceptable(param, "const char *", !WANT_OWN, WANT_OUT))
@@ -1132,7 +1132,7 @@ struct native_convert_out_assign_generator
                 return false;
              }
            return as_generator(
-                string << "= efl.eo.Globals.cached_string_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_strings, " << string << ");\n"
+                string << "= Efl.Eo.Globals.cached_string_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_strings, " << string << ");\n"
               ).generate(sink, std::make_tuple(escape_keyword(param.param_name), out_variable_name(param.param_name)), context);
         }
       else if (param_is_acceptable(param, "Eina_Binbuf *", WANT_OWN, WANT_OUT)
@@ -1251,7 +1251,7 @@ struct native_convert_return_generator
      if (ret_type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion_in_return(ret_type, attributes::parameter_direction::unknown) )
        {
           return as_generator(
-               "return eina.PrimitiveConversion.ManagedToPointerAlloc(_ret_var);\n"
+               "return Eina.PrimitiveConversion.ManagedToPointerAlloc(_ret_var);\n"
             ).generate(sink, attributes::unused, context);
        }
      else if (helpers::need_struct_conversion(regular))
@@ -1270,7 +1270,7 @@ struct native_convert_return_generator
                     return false;
                  }
                return as_generator(
-                    "return efl.eo.Globals.cached_string_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_strings, _ret_var);\n"
+                    "return Efl.Eo.Globals.cached_string_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_strings, _ret_var);\n"
                  ).generate(sink, attributes::unused, context);
             }
           else
@@ -1288,7 +1288,7 @@ struct native_convert_return_generator
                     return false;
                  }
               return as_generator(
-                   "return efl.eo.Globals.cached_stringshare_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_stringshares, _ret_var);\n"
+                   "return Efl.Eo.Globals.cached_stringshare_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_stringshares, _ret_var);\n"
                 ).generate(sink, attributes::unused, context);
            }
          else
index 94fc3cb63c5e508c7324a4fe18a0f95a103824c1..bd12ee2a40b9b0759d1f0894725feaa246f76cd4 100644 (file)
@@ -18,14 +18,13 @@ struct part_definition_generator
   template <typename OutputIterator, typename Context>
   bool generate(OutputIterator sink, attributes::part_def const& part, Context const& context) const
   {
-     auto part_interface_name = name_helpers::klass_full_interface_name(part.klass);
-     auto part_klass_name = name_helpers::klass_full_concrete_name(part.klass);
+     auto part_klass_name = name_helpers::klass_full_concrete_or_interface_name(part.klass);
      return as_generator(scope_tab << documentation
-                       << scope_tab << "public " << part_interface_name << " " << utils::capitalize(part.name) << "\n"
+                       << scope_tab << "public " << part_klass_name << " " << name_helpers::managed_part_name(part) << "\n"
                        << scope_tab << "{\n"
                        << scope_tab << scope_tab << "get\n"
                        << scope_tab << scope_tab << "{\n"
-                       << scope_tab << scope_tab << scope_tab << "efl.IObject obj = efl_part_get(raw_handle, \"" << part.name << "\");\n"
+                       << scope_tab << scope_tab << scope_tab << "Efl.Object obj = efl_part_get(NativeHandle, \"" << part.name << "\");\n"
                        << scope_tab << scope_tab << scope_tab << "return " << part_klass_name << ".static_cast(obj);\n"
                        << scope_tab << scope_tab << "}\n"
                        << scope_tab << "}\n"
index 58007a2cdda4a341e276f854ed6d39e1432e40c2..99347ed1dcc6eab18d6b55be6bd0f7db859fbd26 100644 (file)
@@ -18,12 +18,12 @@ namespace eolian_mono {
 
 inline std::string binding_struct_name(attributes::struct_def const& struct_)
 {
-   return struct_.cxx_name;
+    return name_helpers::typedecl_managed_name(struct_);
 }
 
 inline std::string binding_struct_internal_name(attributes::struct_def const& struct_)
 {
-   return struct_.cxx_name + "_StructInternal";
+   return binding_struct_name(struct_) + "_StructInternal";
 }
 
 struct struct_definition_generator
@@ -175,7 +175,7 @@ struct to_internal_field_convert_generator
       if (klass)
         {
            if (!as_generator(
-                 scope_tab << scope_tab << "_internal_struct." << string << " = _external_struct." << string << ".raw_handle;\n")
+                 scope_tab << scope_tab << "_internal_struct." << string << " = _external_struct." << string << ".NativeHandle;\n")
                .generate(sink, std::make_tuple(field_name, field_name), context))
              return false;
         }
@@ -196,7 +196,7 @@ struct to_internal_field_convert_generator
       else if (field.type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion(regular))
         {
            if (!as_generator(
-                 scope_tab << scope_tab << "_internal_struct." << string << " = eina.PrimitiveConversion.ManagedToPointerAlloc(_external_struct." << string << ");\n")
+                 scope_tab << scope_tab << "_internal_struct." << string << " = Eina.PrimitiveConversion.ManagedToPointerAlloc(_external_struct." << string << ");\n")
                .generate(sink, std::make_tuple(field_name, field_name), context))
              return false;
         }
@@ -210,14 +210,14 @@ struct to_internal_field_convert_generator
       else if (regular && (regular->base_type == "string" || regular->base_type == "mstring"))
         {
            if (!as_generator(
-                 scope_tab << scope_tab << "_internal_struct." << string << " = eina.MemoryNative.StrDup(_external_struct." << string << ");\n")
+                 scope_tab << scope_tab << "_internal_struct." << string << " = Eina.MemoryNative.StrDup(_external_struct." << string << ");\n")
                .generate(sink, std::make_tuple(field_name, field_name), context))
              return false;
         }
       else if (regular && regular->base_type == "stringshare")
         {
            if (!as_generator(
-                 scope_tab << scope_tab << "_internal_struct." << string << " = eina.Stringshare.eina_stringshare_add(_external_struct." << string << ");\n")
+                 scope_tab << scope_tab << "_internal_struct." << string << " = Eina.Stringshare.eina_stringshare_add(_external_struct." << string << ");\n")
                .generate(sink, std::make_tuple(field_name, field_name), context))
              return false;
         }
@@ -273,9 +273,9 @@ struct to_external_field_convert_generator
            if (!as_generator(
                  "\n"
                  << scope_tab << scope_tab << "_external_struct." << string
-                 << " = (" << interface_name << ") System.Activator.CreateInstance(typeof("
+                 << " = (" << concrete_name << ") System.Activator.CreateInstance(typeof("
                  << concrete_name << "), new System.Object[] {_internal_struct." << string << "});\n"
-                 << scope_tab << scope_tab << "efl.eo.Globals.efl_ref(_internal_struct." << string << ");\n\n")
+                 << scope_tab << scope_tab << "Efl.Eo.Globals.efl_ref(_internal_struct." << string << ");\n\n")
                .generate(sink, std::make_tuple(field_name, field_name, field_name), context))
              return false;
         }
@@ -308,7 +308,7 @@ struct to_external_field_convert_generator
       else if (field.type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion(regular))
         {
            if (!as_generator(
-                 scope_tab << scope_tab << "_external_struct." << string << " = eina.PrimitiveConversion.PointerToManaged<" << type << ">(_internal_struct." << string << ");\n")
+                 scope_tab << scope_tab << "_external_struct." << string << " = Eina.PrimitiveConversion.PointerToManaged<" << type << ">(_internal_struct." << string << ");\n")
                .generate(sink, std::make_tuple(field_name, field.type, field_name), context))
              return false;
         }
@@ -322,7 +322,7 @@ struct to_external_field_convert_generator
       else if (regular && (regular->base_type == "string" || regular->base_type == "mstring" || regular->base_type == "stringshare"))
         {
            if (!as_generator(
-                 scope_tab << scope_tab << "_external_struct." << string << " = eina.StringConversion.NativeUtf8ToManagedString(_internal_struct." << string << ");\n")
+                 scope_tab << scope_tab << "_external_struct." << string << " = Eina.StringConversion.NativeUtf8ToManagedString(_internal_struct." << string << ");\n")
                .generate(sink, std::make_tuple(field_name, field_name), context))
              return false;
         }
@@ -339,14 +339,14 @@ struct to_external_field_convert_generator
       else if (field.type.c_type == "Eina_Value" || field.type.c_type == "const Eina_Value")
         {
            if (!as_generator(
-                 scope_tab << scope_tab << "_external_struct." << string << " = new eina.Value(_internal_struct." << string << ");\n"
+                 scope_tab << scope_tab << "_external_struct." << string << " = new Eina.Value(_internal_struct." << string << ");\n"
                ).generate(sink, std::make_tuple(field_name, field_name), context))
              return false;
         }
       else if (field.type.c_type == "Eina_Value *" || field.type.c_type == "const Eina_Value *")
         {
            if (!as_generator(
-                 scope_tab << scope_tab << "_external_struct." << string << " = new eina.Value(_internal_struct." << string << ", eina.Ownership.Unmanaged);\n"
+                 scope_tab << scope_tab << "_external_struct." << string << " = new Eina.Value(_internal_struct." << string << ", Eina.Ownership.Unmanaged);\n"
                ).generate(sink, std::make_tuple(field_name, field_name), context))
              return false;
         }
@@ -369,8 +369,8 @@ struct struct_binding_conversion_functions_generator
      // Open conversion class
      if (!as_generator
          (
-          "/// <summary>Conversion class for struct " << struct_.cxx_name << "</summary>\n"
-          "public static class " << struct_.cxx_name << "_StructConversion\n{\n"
+          "/// <summary>Conversion class for struct " << name_helpers::typedecl_managed_name(struct_) << "</summary>\n"
+          "public static class " << name_helpers::typedecl_managed_name(struct_) << "_StructConversion\n{\n"
          )
          .generate(sink, nullptr, context))
        return false;
index 09c4bc198dfa9a51ab9a3a133da182934f4d9fc2..3e4ae8d124c7015b22fd15bf37017b26a963c456 100644 (file)
@@ -117,7 +117,7 @@ struct visitor_generate
               }}
            , {"Eina.Error", nullptr, [&] // Eina.Error
               {
-                return regular_type_def{" eina.Error", regular.base_qualifier, {}};
+                return regular_type_def{" Eina.Error", regular.base_qualifier, {}};
               }} // TODO
            , {"string", nullptr, [&]
               {
@@ -139,16 +139,16 @@ struct visitor_generate
               }}
            , {"strbuf", nullptr, [&]
               {
-                return regular_type_def{" eina.Strbuf", regular.base_qualifier, {}};
+                return regular_type_def{" Eina.Strbuf", regular.base_qualifier, {}};
               }}
            , {"any_value", true, [&]
-              { return regular_type_def{" eina.Value", regular.base_qualifier, {}};
+              { return regular_type_def{" Eina.Value", regular.base_qualifier, {}};
               }}
            , {"any_value", false, [&]
-              { return regular_type_def{" eina.Value", regular.base_qualifier, {}};
+              { return regular_type_def{" Eina.Value", regular.base_qualifier, {}};
               }}
            , {"any_value_ptr", nullptr, [&] 
-              { return regular_type_def{" eina.Value", regular.base_qualifier, {}};
+              { return regular_type_def{" Eina.Value", regular.base_qualifier, {}};
               }} // FIXME add proper support for any_value_ptr
         };
         std::string full_type_name = name_helpers::type_full_eolian_name(regular);
@@ -237,7 +237,10 @@ struct visitor_generate
    }
    bool operator()(attributes::klass_name klass) const
    {
-     return as_generator(string).generate(sink, name_helpers::klass_full_interface_name(klass), *context);
+     if(klass.type == attributes::class_type::regular || klass.type == attributes::class_type::abstract_)
+       return as_generator(string).generate(sink, name_helpers::klass_full_concrete_name(klass), *context);
+     else
+       return as_generator(string).generate(sink, name_helpers::klass_full_interface_name(klass), *context);
    }
    bool operator()(attributes::complex_type_def const& complex) const
    {
@@ -255,51 +258,51 @@ struct visitor_generate
         {"list", nullptr, nullptr, [&]
          {
            complex_type_def c = complex;
-           c.outer.base_type = "eina.List";
+           c.outer.base_type = "Eina.List";
            return c;
          }}
         , {"inlist", nullptr, nullptr, [&]
            {
            complex_type_def c = complex;
-           c.outer.base_type = "eina.Inlist";
+           c.outer.base_type = "Eina.Inlist";
            return c;
          }}
         , {"array", nullptr, nullptr, [&]
            {
            complex_type_def c = complex;
-           c.outer.base_type = "eina.Array";
+           c.outer.base_type = "Eina.Array";
            return c;
          }}
         , {"inarray", nullptr, nullptr, [&]
            {
            complex_type_def c = complex;
-           c.outer.base_type = "eina.Inarray";
+           c.outer.base_type = "Eina.Inarray";
            return c;
          }}
         , {"hash", nullptr, nullptr
            , [&]
            {
              complex_type_def c = complex;
-             c.outer.base_type = "eina.Hash";
+             c.outer.base_type = "Eina.Hash";
              return c;
          }}
         , {"future", nullptr, nullptr, [&]
            {
-             (*this)(regular_type_def{" eina.Future", complex.outer.base_qualifier, {}});
+             (*this)(regular_type_def{" Eina.Future", complex.outer.base_qualifier, {}});
              return attributes::type_def::variant_type();
            }           
           }
         , {"iterator", nullptr, nullptr, [&]
            {
              complex_type_def c = complex;
-             c.outer.base_type = "eina.Iterator";
+             c.outer.base_type = "Eina.Iterator";
              return c;
            }           
           }
         , {"accessor", nullptr, nullptr, [&]
            {
              complex_type_def c = complex;
-             c.outer.base_type = "eina.Accessor";
+             c.outer.base_type = "Eina.Accessor";
              return c;
            }           
           }
index fdea162f59836622ecc6d75c3fd9d58d9a6b34a1..3d8b70339218352ecae1ed2789b900411aa00df7 100644 (file)
 namespace eolian_mono {
 
 namespace grammar = efl::eolian::grammar;
-using efl::eolian::grammar::as_generator;
-using efl::eolian::grammar::string;
-using efl::eolian::grammar::html_escaped_string;
-using efl::eolian::grammar::operator<<;
-using efl::eolian::grammar::operator%;
-using efl::eolian::grammar::operator*;
-using efl::eolian::grammar::scope_tab;
-using efl::eolian::grammar::lower_case;
-using efl::eolian::grammar::upper_case;
-using efl::eolian::grammar::lit;
-using efl::eolian::grammar::qualifier_info;
-using efl::eolian::grammar::context_find_tag;
+using grammar::as_generator;
+using grammar::string;
+using grammar::html_escaped_string;
+using grammar::operator<<;
+using grammar::operator%;
+using grammar::operator*;
+using grammar::scope_tab;
+using grammar::lower_case;
+using grammar::upper_case;
+using grammar::lit;
+using grammar::qualifier_info;
+using grammar::context_find_tag;
+using grammar::attribute_conditional;
 
 }
 
index 0e1c2efc2960e11c373cdfd367679c9a5d33545d..0912db8a715272af2868efc6f947afc72073eb41 100644 (file)
@@ -2,6 +2,7 @@
 #define EOLIAN_MONO_UTILS_HPP
 
 #include <string>
+#include <vector>
 #include <sstream>
 #include <iterator>
 #include <algorithm>
@@ -63,6 +64,12 @@ namespace eolian_mono { namespace utils {
 
         return ret;
     }
+
+   inline std::string remove_all(std::string name, char target)
+   {
+       name.erase(std::remove(name.begin(), name.end(), target), name.end());
+       return name;
+   }
 } }
 
 #endif
index e142725f7d33fe442da05663a0b679d6b2e0ab77..328b9830522c50e9e41cc567a0ce437cc4eb59bc 100644 (file)
@@ -128,7 +128,10 @@ run(options_type const& opts)
    if (!as_generator("#pragma warning disable CS1591\n").generate(iterator, efl::eolian::grammar::attributes::unused, efl::eolian::grammar::context_null()))
      throw std::runtime_error("Failed to generate pragma to disable missing docs");
 
-   if (!as_generator("using System;\nusing System.Runtime.InteropServices;\nusing System.Collections.Generic;\n")
+   if (!as_generator("using System;\n"
+                     "using System.Runtime.InteropServices;\n"
+                     "using System.Collections.Generic;\n"
+                     "using System.ComponentModel;\n")
      .generate(iterator, efl::eolian::grammar::attributes::unused, efl::eolian::grammar::context_null()))
      {
         throw std::runtime_error("Failed to generate file preamble");
index c7a27dde294350e9fb32a59fd4ecac1321c766a3..fbbea7d9e1bce314212504e42d68abf626e405a5 100644 (file)
@@ -29,9 +29,9 @@ public class EcoreEvas
         ecore_evas_show(handle);
     }
 
-    public efl.canvas.IObject canvas
+    public Efl.Canvas.Object canvas
     {
-        get { return new efl.canvas.Object(ecore_evas_get(handle)); }
+        get { return new Efl.Canvas.Object(ecore_evas_get(handle)); }
     }
     
 }
index 0206ea1063e424a65d87703a7830c720cc99dd73..a8436bd8e5308ca386e85ecdb69f9e1c35773efa 100644 (file)
@@ -4,9 +4,9 @@ using System;
 using System.Runtime.InteropServices;
 using System.Threading;
 
-using static efl.UnsafeNativeMethods;
+using static Efl.UnsafeNativeMethods;
 
-namespace efl {
+namespace Efl {
 
 static class UnsafeNativeMethods {
     [DllImport(efl.Libs.Ecore)] public static extern void ecore_init();
@@ -28,15 +28,15 @@ public enum Components {
 public static class All {
     private static bool InitializedUi = false;
 
-    public static void Init(efl.Components components=Components.Basic) {
-        eina.Config.Init();
-        efl.eo.Config.Init();
+    public static void Init(Efl.Components components=Components.Basic) {
+        Eina.Config.Init();
+        Efl.Eo.Config.Init();
         ecore_init();
         evas_init();
         eldbus.Config.Init();
 
         if (components == Components.Ui) {
-            efl.ui.Config.Init();
+            Efl.Ui.Config.Init();
             InitializedUi = true;
         }
     }
@@ -48,17 +48,17 @@ public static class All {
         System.GC.WaitForPendingFinalizers();
 
         if (InitializedUi)
-            efl.ui.Config.Shutdown();
+            Efl.Ui.Config.Shutdown();
         eldbus.Config.Shutdown();
         evas_shutdown();
         ecore_shutdown();
-        efl.eo.Config.Shutdown();
-        eina.Config.Shutdown();
+        Efl.Eo.Config.Shutdown();
+        Eina.Config.Shutdown();
     }
 }
 
 // Placeholder. Will move to elm_config.cs later
-namespace ui {
+namespace Ui {
 
 public static class Config {
     public static void Init() {
@@ -70,7 +70,7 @@ public static class Config {
 #endif
         elm_init(0, IntPtr.Zero);
 
-        elm_policy_set((int)elm.Policy.Quit, (int)elm.Policy_Quit.Last_window_hidden);
+        elm_policy_set((int)Elm.Policy.Quit, (int)Elm.PolicyQuit.LastWindowHidden);
     }
     public static void Shutdown() {
         elm_shutdown();
index b3af7cccde13d6b729315c8c1dc0e642b0c71102..c3c09c49665295e5751efab8f57624145948ecef 100644 (file)
@@ -3,11 +3,11 @@ using System.Collections;
 using System.Collections.Generic;
 using System.Runtime.InteropServices;
 
-using static eina.TraitFunctions;
+using static Eina.TraitFunctions;
 
-using static eina.AccessorNativeFunctions;
+using static Eina.AccessorNativeFunctions;
 
-namespace eina {
+namespace Eina {
 
 internal class AccessorNativeFunctions
 {
index 86e69fc407995abf244cf36b651394738ee293eb..f4dd49d69e6c17fa2b3a7c7633b06a68abc47584 100644 (file)
@@ -4,10 +4,10 @@ using System;
 using System.Runtime.InteropServices;
 using System.Collections.Generic;
 
-using static eina.TraitFunctions;
-using static eina.ArrayNativeFunctions;
+using static Eina.TraitFunctions;
+using static Eina.ArrayNativeFunctions;
 
-namespace eina {
+namespace Eina {
 
 public static class ArrayNativeFunctions
 {
@@ -272,9 +272,9 @@ public class Array<T> : IEnumerable<T>, IDisposable
     }
 
 
-    public eina.Iterator<T> GetIterator()
+    public Eina.Iterator<T> GetIterator()
     {
-        return new eina.Iterator<T>(eina_array_iterator_new(Handle), true, false);
+        return new Eina.Iterator<T>(eina_array_iterator_new(Handle), true, false);
     }
 
     public IEnumerator<T> GetEnumerator()
@@ -292,9 +292,9 @@ public class Array<T> : IEnumerable<T>, IDisposable
     }
 
     /// <summary> Gets an Accessor for this Array.</summary>
-    public eina.Accessor<T> GetAccessor()
+    public Eina.Accessor<T> GetAccessor()
     {
-        return new eina.Accessor<T>(eina_array_accessor_new(Handle), Ownership.Managed);
+        return new Eina.Accessor<T>(eina_array_accessor_new(Handle), Ownership.Managed);
     }
 }
 
index ecfbfc3705735bc6b6a9ac660d5e80ad53a6240f..20a4c2d0ce4a8b6a5bd73f5960acd7f4c37f0153 100644 (file)
@@ -3,7 +3,7 @@
 using System;
 using System.Runtime.InteropServices;
 
-namespace eina {
+namespace Eina {
 
 public class Binbuf : IDisposable
 {
@@ -16,7 +16,7 @@ public class Binbuf : IDisposable
     [DllImport(efl.Libs.Eina)] public static extern byte
         eina_binbuf_append_length(IntPtr buf, byte[] str, UIntPtr length);
     [DllImport(efl.Libs.Eina)] public static extern byte
-        eina_binbuf_append_slice(IntPtr buf, eina.Slice slice);
+        eina_binbuf_append_slice(IntPtr buf, Eina.Slice slice);
     [DllImport(efl.Libs.Eina)] public static extern byte
         eina_binbuf_append_buffer(IntPtr buf, IntPtr data);
     [DllImport(efl.Libs.Eina)] public static extern byte
@@ -24,7 +24,7 @@ public class Binbuf : IDisposable
     [DllImport(efl.Libs.Eina)] public static extern byte
         eina_binbuf_insert_length(IntPtr buf, byte[] str, UIntPtr length, UIntPtr pos);
     [DllImport(efl.Libs.Eina)] public static extern byte
-        eina_binbuf_insert_slice(IntPtr buf, eina.Slice slice, UIntPtr pos);
+        eina_binbuf_insert_slice(IntPtr buf, Eina.Slice slice, UIntPtr pos);
     [DllImport(efl.Libs.Eina)] public static extern byte
         eina_binbuf_insert_char(IntPtr buf, byte c, UIntPtr pos);
     [DllImport(efl.Libs.Eina)] public static extern byte
@@ -35,7 +35,7 @@ public class Binbuf : IDisposable
         eina_binbuf_string_free(IntPtr buf);
     [DllImport(efl.Libs.Eina)] public static extern UIntPtr
         eina_binbuf_length_get(IntPtr buf);
-    [DllImport(efl.Libs.Eina)] public static extern eina.Slice
+    [DllImport(efl.Libs.Eina)] public static extern Eina.Slice
         eina_binbuf_slice_get(IntPtr buf);
 
     public IntPtr Handle {get;set;} = IntPtr.Zero;
@@ -146,7 +146,7 @@ public class Binbuf : IDisposable
         return 0 != eina_binbuf_append_char(Handle, c);
     }
 
-    public bool Append(eina.Slice slice)
+    public bool Append(Eina.Slice slice)
     {
         return 0 != eina_binbuf_append_slice(Handle, slice);
     }
@@ -166,7 +166,7 @@ public class Binbuf : IDisposable
         return 0 != eina_binbuf_insert_char(Handle, c, (UIntPtr)pos);
     }
 
-    public bool Insert(eina.Slice slice, uint pos)
+    public bool Insert(Eina.Slice slice, uint pos)
     {
         return 0 != eina_binbuf_insert_slice(Handle, slice, (UIntPtr)pos);
     }
@@ -203,7 +203,7 @@ public class Binbuf : IDisposable
         return eina_binbuf_length_get(Handle);
     }
 
-    eina.Slice GetSlice()
+    Eina.Slice GetSlice()
     {
         return eina_binbuf_slice_get(Handle);
     }
index 2a9766cd4d6173b23c70654da616984dea57a7f0..e2ddc7097856222ecdb48d4b40c415507cafe9b7 100644 (file)
@@ -4,13 +4,13 @@ using System;
 using System.Text;
 using System.Runtime.InteropServices;
 
-namespace eina
+namespace Eina
 {
 namespace Callbacks
 {
 
-public delegate int Eina_Compare_Cb(IntPtr data1, IntPtr data2);
-public delegate void Eina_Free_Cb(IntPtr data);
+public delegate int EinaCompareCb(IntPtr data1, IntPtr data2);
+public delegate void EinaFreeCb(IntPtr data);
 
 }
 
@@ -107,11 +107,11 @@ public static class PrimitiveConversion
    {
        if (nat == IntPtr.Zero)
        {
-           eina.Log.Error("Null pointer for primitive type.");
+           Eina.Log.Error("Null pointer for primitive type.");
            return default(T);
        }
 
-       var w = Marshal.PtrToStructure<eina.ConvertWrapper<T> >(nat);
+       var w = Marshal.PtrToStructure<Eina.ConvertWrapper<T> >(nat);
        return w.val;
    }
 
index b5a0053372f48e55461f69fe0fb7ed5911bfce4b..6bc03974391c60370f5dce305430ebb8cd28ed64 100644 (file)
@@ -3,7 +3,7 @@
 using System;
 using System.Runtime.InteropServices;
 
-namespace eina {
+namespace Eina {
 
 public class Config {
     [DllImport(efl.Libs.Eina)] private static extern int eina_init();
@@ -11,11 +11,11 @@ public class Config {
 
     public static void Init() {
         if (eina_init() == 0)
-            throw (new efl.EflException("Failed to initialize Eina"));
+            throw (new Efl.EflException("Failed to initialize Eina"));
 
         // Initialize the submodules here
-        eina.Log.Init();
-        eina.Error.Init();
+        Eina.Log.Init();
+        Eina.Error.Init();
     }
 
     public static int Shutdown() {
index d40ddd8a23bfe8af8a1210bb7650083b9d7654ac..838a7edb0797ef9b35df65bd41848ee08cfeedd4 100644 (file)
@@ -5,14 +5,14 @@ using System.Linq;
 using System.Runtime.InteropServices;
 using System.Collections.Generic;
 
-using eina.Callbacks;
-using static eina.HashNativeFunctions;
-using static eina.InarrayNativeFunctions;
-using static eina.InlistNativeFunctions;
-using static eina.NativeCustomExportFunctions;
-using static eina.ContainerCommonData;
+using Eina.Callbacks;
+using static Eina.HashNativeFunctions;
+using static Eina.InarrayNativeFunctions;
+using static Eina.InlistNativeFunctions;
+using static Eina.NativeCustomExportFunctions;
+using static Eina.ContainerCommonData;
 
-namespace eina {
+namespace Eina {
 
 public enum ElementType { NumericType, StringType, ObjectType };
 
@@ -150,7 +150,7 @@ public class StringElementTraits<T> : IBaseElementTraits<T>
     {
         if (nat == IntPtr.Zero)
         {
-            eina.Log.Error("Null pointer for Inlist node.");
+            Eina.Log.Error("Null pointer for Inlist node.");
             return default(T);
         }
         var w = Marshal.PtrToStructure< InlistNode<IntPtr> >(nat);
@@ -204,15 +204,15 @@ public class EflObjectElementTraits<T> : IBaseElementTraits<T>
 
     public IntPtr ManagedToNativeAlloc(T man)
     {
-        IntPtr h = ((efl.eo.IWrapper)man).raw_handle;
+        IntPtr h = ((Efl.Eo.IWrapper)man).NativeHandle;
         if (h == IntPtr.Zero)
             return h;
-        return efl.eo.Globals.efl_ref(h);
+        return Efl.Eo.Globals.efl_ref(h);
     }
 
     public IntPtr ManagedToNativeAllocRef(T man, bool refs)
     {
-        IntPtr h = refs ? ManagedToNativeAlloc(man) : ((efl.eo.IWrapper)man).raw_handle;
+        IntPtr h = refs ? ManagedToNativeAlloc(man) : ((Efl.Eo.IWrapper)man).NativeHandle;
         return intPtrTraits.ManagedToNativeAlloc(h);
     }
 
@@ -235,7 +235,7 @@ public class EflObjectElementTraits<T> : IBaseElementTraits<T>
     public void NativeFree(IntPtr nat)
     {
         if (nat != IntPtr.Zero)
-            efl.eo.Globals.efl_unref(nat);
+            Efl.Eo.Globals.efl_unref(nat);
     }
 
     public void NativeFreeRef(IntPtr nat, bool unrefs)
@@ -276,7 +276,7 @@ public class EflObjectElementTraits<T> : IBaseElementTraits<T>
     {
         if (nat == IntPtr.Zero)
             return default(T);
-        return (T) Activator.CreateInstance(concreteType, efl.eo.Globals.efl_ref(nat));
+        return (T) Activator.CreateInstance(concreteType, Efl.Eo.Globals.efl_ref(nat));
     }
 
     public T NativeToManagedRef(IntPtr nat)
@@ -290,7 +290,7 @@ public class EflObjectElementTraits<T> : IBaseElementTraits<T>
     {
         if (nat == IntPtr.Zero)
         {
-            eina.Log.Error("Null pointer for Inlist node.");
+            Eina.Log.Error("Null pointer for Inlist node.");
             return default(T);
         }
         var w = Marshal.PtrToStructure< InlistNode<IntPtr> >(nat);
@@ -384,7 +384,7 @@ public abstract class PrimitiveElementTraits<T>
     {
         if (nat == IntPtr.Zero)
         {
-            eina.Log.Error("Null pointer on primitive/struct container.");
+            Eina.Log.Error("Null pointer on primitive/struct container.");
             return default(T);
         }
         return PrimitiveConversion.PointerToManaged<T>(nat);
@@ -399,7 +399,7 @@ public abstract class PrimitiveElementTraits<T>
     {
         if (nat == IntPtr.Zero)
         {
-            eina.Log.Error("Null pointer for Inlist node.");
+            Eina.Log.Error("Null pointer for Inlist node.");
             return default(T);
         }
         var w = Marshal.PtrToStructure< InlistNode<T> >(nat);
@@ -503,7 +503,7 @@ public static class TraitFunctions
 {
     public static bool IsEflObject(System.Type type)
     {
-        return typeof(efl.eo.IWrapper).IsAssignableFrom(type);
+        return typeof(Efl.Eo.IWrapper).IsAssignableFrom(type);
     }
 
     public static bool IsString(System.Type type)
@@ -511,7 +511,7 @@ public static class TraitFunctions
         return type == typeof(string);
     }
 
-    public static eina.ElementType GetElementTypeCode(System.Type type)
+    public static Eina.ElementType GetElementTypeCode(System.Type type)
     {
         if (IsEflObject(type))
             return ElementType.ObjectType;
index 4271df8ceaac719ac2eb2726d5af57e64b6500f7..00e8f91c6d6a8dcba7894c346c1d7887ffd34aaa 100644 (file)
@@ -3,7 +3,7 @@
 using System;
 using System.Runtime.InteropServices;
 
-namespace eina {
+namespace Eina {
 
 public struct Error : IComparable<Error>
 {
@@ -36,7 +36,7 @@ public struct Error : IComparable<Error>
     }
     public override string ToString()
     {
-        return "eina.Error(" + code + ")";
+        return "Eina.Error(" + code + ")";
     }
 
     internal static void Init()
@@ -62,7 +62,7 @@ public struct Error : IComparable<Error>
     public static String MsgGet(Error error)
     {
         IntPtr cstr = eina_error_msg_get(error);
-        return eina.StringConversion.NativeUtf8ToManagedString(cstr);
+        return Eina.StringConversion.NativeUtf8ToManagedString(cstr);
     }
 
     public static void RaiseIfOccurred()
@@ -75,7 +75,7 @@ public struct Error : IComparable<Error>
     public static void Raise(Error e)
     {
         if (e != 0)
-            throw (new efl.EflException(MsgGet(e)));
+            throw (new Efl.EflException(MsgGet(e)));
     }
 
     public static void Clear()
index 7b05f4e1736d99caf1491e5b12ebfc98f837165e..590033e7ab54fdbbbff63e7a8bc7ce5265311e43 100644 (file)
@@ -4,12 +4,12 @@ using System;
 using System.Runtime.InteropServices;
 using System.Collections.Generic;
 
-using static eina.TraitFunctions;
-using static eina.IteratorNativeFunctions;
-using static eina.HashNativeFunctions;
-using eina.Callbacks;
+using static Eina.TraitFunctions;
+using static Eina.IteratorNativeFunctions;
+using static Eina.HashNativeFunctions;
+using Eina.Callbacks;
 
-namespace eina
+namespace Eina
 {
 
 [StructLayout(LayoutKind.Sequential)]
@@ -365,14 +365,14 @@ public class Hash<TKey, TValue> : IEnumerable<KeyValuePair<TKey, TValue>>, IDi
         return eina_hash_population(Handle);
     }
 
-    public eina.Iterator<TKey> Keys()
+    public Eina.Iterator<TKey> Keys()
     {
-        return new eina.Iterator<TKey>(EinaHashIteratorKeyNew<TKey>(Handle), true, false);
+        return new Eina.Iterator<TKey>(EinaHashIteratorKeyNew<TKey>(Handle), true, false);
     }
 
-    public eina.Iterator<TValue> Values()
+    public Eina.Iterator<TValue> Values()
     {
-        return new eina.Iterator<TValue>(eina_hash_iterator_data_new(Handle), true, false);
+        return new Eina.Iterator<TValue>(eina_hash_iterator_data_new(Handle), true, false);
     }
 
     public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator()
@@ -382,7 +382,7 @@ public class Hash<TKey, TValue> : IEnumerable<KeyValuePair<TKey, TValue>>, IDi
         {
             for (IntPtr tuplePtr; eina_iterator_next(itr, out tuplePtr);)
             {
-                var tuple = Marshal.PtrToStructure<eina.HashTupleNative>(tuplePtr);
+                var tuple = Marshal.PtrToStructure<Eina.HashTupleNative>(tuplePtr);
                 var key = NativeToManagedRef<TKey>(tuple.key);
                 var val = NativeToManaged<TValue>(tuple.data);
                 yield return new KeyValuePair<TKey, TValue>(key, val);
index a9d3116a34df45825f49bc3667499d370b837ffe..d81f2ad239cd57a8856637900758e84d96e78a4a 100644 (file)
@@ -4,10 +4,10 @@ using System;
 using System.Runtime.InteropServices;
 using System.Collections.Generic;
 
-using static eina.TraitFunctions;
-using static eina.InarrayNativeFunctions;
+using static Eina.TraitFunctions;
+using static Eina.InarrayNativeFunctions;
 
-namespace eina {
+namespace Eina {
 
 public static class InarrayNativeFunctions
 {
@@ -298,14 +298,14 @@ public class Inarray<T> : IEnumerable<T>, IDisposable
         return true;
     }
 
-    public eina.Iterator<T> GetIterator()
+    public Eina.Iterator<T> GetIterator()
     {
-        return new eina.Iterator<T>(eina_inarray_iterator_new(Handle), true, false);
+        return new Eina.Iterator<T>(eina_inarray_iterator_new(Handle), true, false);
     }
 
-    public eina.Iterator<T> GetReversedIterator()
+    public Eina.Iterator<T> GetReversedIterator()
     {
-        return new eina.Iterator<T>(eina_inarray_iterator_reversed_new(Handle), true, false);
+        return new Eina.Iterator<T>(eina_inarray_iterator_reversed_new(Handle), true, false);
     }
 
     public IEnumerator<T> GetEnumerator()
@@ -323,9 +323,9 @@ public class Inarray<T> : IEnumerable<T>, IDisposable
     }
 
     /// <summary> Gets an Accessor for this Array.</summary>
-    public eina.Accessor<T> GetAccessor()
+    public Eina.Accessor<T> GetAccessor()
     {
-        return new eina.AccessorInArray<T>(eina_inarray_accessor_new(Handle), Ownership.Managed);
+        return new Eina.AccessorInArray<T>(eina_inarray_accessor_new(Handle), Ownership.Managed);
     }
 }
 
index c3392a2db83e9b498378eca4a869f33d26e9c69f..0bf09d0b85f2e33153ad8f273e8c21e2ed474627 100644 (file)
@@ -4,11 +4,11 @@ using System;
 using System.Runtime.InteropServices;
 using System.Collections.Generic;
 
-using static eina.TraitFunctions;
-using static eina.InlistNativeFunctions;
-using eina.Callbacks;
+using static Eina.TraitFunctions;
+using static Eina.InlistNativeFunctions;
+using Eina.Callbacks;
 
-namespace eina {
+namespace Eina {
 
 public static class InlistNativeFunctions
 {
@@ -296,9 +296,9 @@ public class Inlist<T> : IEnumerable<T>, IDisposable
     }
 
 
-    public eina.Iterator<T> GetIterator()
+    public Eina.Iterator<T> GetIterator()
     {
-        return new eina.Iterator<T>(eina_inlist_iterator_wrapper_new_custom_export_mono(Handle), true, false);
+        return new Eina.Iterator<T>(eina_inlist_iterator_wrapper_new_custom_export_mono(Handle), true, false);
     }
 
     public IEnumerator<T> GetEnumerator()
@@ -315,9 +315,9 @@ public class Inlist<T> : IEnumerable<T>, IDisposable
     }
 
     /// <summary> Gets an Accessor for this List.</summary>
-    public eina.Accessor<T> GetAccessor()
+    public Eina.Accessor<T> GetAccessor()
     {
-        return new eina.AccessorInList<T>(eina_inlist_accessor_new(Handle), Ownership.Managed);
+        return new Eina.AccessorInList<T>(eina_inlist_accessor_new(Handle), Ownership.Managed);
     }
 }
 
index 77f61c189b0ddfb01d44fcf398723a76e1154a38..56ebab3f0ce80a21a05a6bf7c27166158ab4b752 100644 (file)
@@ -4,10 +4,10 @@ using System;
 using System.Runtime.InteropServices;
 using System.Collections.Generic;
 
-using static eina.TraitFunctions;
-using static eina.IteratorNativeFunctions;
+using static Eina.TraitFunctions;
+using static Eina.IteratorNativeFunctions;
 
-namespace eina {
+namespace Eina {
 
 public static class IteratorNativeFunctions
 {
index 03c2ba90e761b5a9b486e73e9feab6ba3bf252bb..8ad4a2f6cfdec412bccdf0f902b912f12d596bf3 100644 (file)
@@ -4,11 +4,11 @@ using System;
 using System.Runtime.InteropServices;
 using System.Collections.Generic;
 
-using static eina.TraitFunctions;
-using static eina.ListNativeFunctions;
-using eina.Callbacks;
+using static Eina.TraitFunctions;
+using static Eina.ListNativeFunctions;
+using Eina.Callbacks;
 
-namespace eina {
+namespace Eina {
 
 public static class ListNativeFunctions
 {
@@ -328,14 +328,14 @@ public class List<T> : IEnumerable<T>, IDisposable
     }
 
 
-    public eina.Iterator<T> GetIterator()
+    public Eina.Iterator<T> GetIterator()
     {
-        return new eina.Iterator<T>(eina_list_iterator_new(Handle), true, false);
+        return new Eina.Iterator<T>(eina_list_iterator_new(Handle), true, false);
     }
 
-    public eina.Iterator<T> GetReversedIterator()
+    public Eina.Iterator<T> GetReversedIterator()
     {
-        return new eina.Iterator<T>(eina_list_iterator_reversed_new(Handle), true, false);
+        return new Eina.Iterator<T>(eina_list_iterator_reversed_new(Handle), true, false);
     }
 
     public IEnumerator<T> GetEnumerator()
@@ -352,9 +352,9 @@ public class List<T> : IEnumerable<T>, IDisposable
     }
 
     /// <summary> Gets an Accessor for this List.</summary>
-    public eina.Accessor<T> GetAccessor()
+    public Eina.Accessor<T> GetAccessor()
     {
-        return new eina.Accessor<T>(eina_list_accessor_new(Handle), Ownership.Managed);
+        return new Eina.Accessor<T>(eina_list_accessor_new(Handle), Ownership.Managed);
     }
 }
 
index c5e456c3a6bd2e74b13b23bdbb0994a98e0f4970..855c0f3836b3b4db7925bef0b85a3f619f621644 100644 (file)
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
 using System.Runtime.CompilerServices;
 using System.Diagnostics.Contracts;
 
-namespace eina { // Manual wrappers around eina functions
+namespace Eina { // Manual wrappers around eina functions
 
 public class Log
 {
index b617b3a986e1f22f5e34853cbd309709f89e2567..395288cbc5bcba827bb89ce10af33f63985ae6d5 100644 (file)
@@ -4,9 +4,9 @@ using System.Collections.Generic;
 using System.Linq;
 
 
-using static eina.EinaNative.PromiseNativeMethods;
+using static Eina.EinaNative.PromiseNativeMethods;
 
-namespace eina {
+namespace Eina {
 
 namespace EinaNative {
 
@@ -21,10 +21,10 @@ static internal class PromiseNativeMethods
     internal static extern IntPtr eina_promise_new(IntPtr scheduler, Promise_Cancel_Cb cancel_cb, IntPtr data);
 
     [DllImport(efl.Libs.Eina)]
-    internal static extern void eina_promise_resolve(IntPtr scheduler, eina.Value_Native value);
+    internal static extern void eina_promise_resolve(IntPtr scheduler, Eina.ValueNative value);
 
     [DllImport(efl.Libs.Eina)]
-    internal static extern void eina_promise_reject(IntPtr scheduler, eina.Error reason);
+    internal static extern void eina_promise_reject(IntPtr scheduler, Eina.Error reason);
 
     [DllImport(efl.Libs.Eina)]
     internal static extern IntPtr eina_future_new(IntPtr promise);
@@ -41,7 +41,7 @@ static internal class PromiseNativeMethods
     [DllImport(efl.Libs.Eina)]
     internal static extern IntPtr eina_future_chain_array(IntPtr prev, FutureDesc[] desc);
 
-    internal delegate eina.Value_Native FutureCb(IntPtr data, eina.Value_Native value, IntPtr dead_future);
+    internal delegate Eina.ValueNative FutureCb(IntPtr data, Eina.ValueNative value, IntPtr dead_future);
 
     [StructLayout(LayoutKind.Sequential)]
     internal struct FutureDesc
@@ -82,10 +82,10 @@ public class Promise : IDisposable
     /// </summary>
     public Promise(CancelCb cancelCb=null)
     {
-        efl.ILoop loop = efl.App.GetLoopMain();
+        Efl.Loop loop = Efl.App.GetLoopMain();
 
         // Should we be able to pass different schedulers?
-        IntPtr scheduler = efl_loop_future_scheduler_get(loop.raw_handle);
+        IntPtr scheduler = efl_loop_future_scheduler_get(loop.NativeHandle);
 
         IntPtr cb_data = IntPtr.Zero;
 
@@ -112,7 +112,7 @@ public class Promise : IDisposable
         if (cb != null)
             cb();
         else
-            eina.Log.Info("Null promise CancelCb found");
+            Eina.Log.Info("Null promise CancelCb found");
         handle.Free();
     }
 
@@ -133,7 +133,7 @@ public class Promise : IDisposable
     {
         if (Handle != IntPtr.Zero)
         {
-            eina_promise_reject(Handle, eina.Error.ECANCELED);
+            eina_promise_reject(Handle, Eina.Error.ECANCELED);
             Handle = IntPtr.Zero;
         }
     }
@@ -149,7 +149,7 @@ public class Promise : IDisposable
     ///
     /// This will make all futures attached to it to be called with the given value as payload.
     /// </summary>
-    public void Resolve(eina.Value value)
+    public void Resolve(Eina.Value value)
     {
         SanityChecks();
         eina_promise_resolve(this.Handle, value);
@@ -162,10 +162,10 @@ public class Promise : IDisposable
     /// <summary>
     /// Rejects a promise.
     ///
-    /// The future chain attached to this promise will be called with an eina.Value of type
-    /// eina.ValueType.Error and payload eina.Error.ECANCELED.
+    /// The future chain attached to this promise will be called with an Eina.Value of type
+    /// Eina.ValueType.Error and payload Eina.Error.ECANCELED.
     /// </summary>
-    public void Reject(eina.Error reason)
+    public void Reject(Eina.Error reason)
     {
         SanityChecks();
         eina_promise_reject(this.Handle, reason);
@@ -182,13 +182,13 @@ public class Future
     /// <summary>
     /// Callback attached to a future and to be called when resolving/rejecting a promise.
     ///
-    /// The eina.Value as argument can come with an eina.Error.ECANCELED as payload if the
+    /// The Eina.Value as argument can come with an Eina.Error.ECANCELED as payload if the
     /// promise/future was rejected/cancelled.
     ///
     /// The return value usually is same as the argument, forwarded, but can be changed in
     /// case were the chain act as a transforming pipeline.
     /// </summary>
-    public delegate eina.Value ResolvedCb(eina.Value value);
+    public delegate Eina.Value ResolvedCb(Eina.Value value);
 
     public IntPtr Handle { get; internal set; }
 
@@ -197,7 +197,7 @@ public class Future
     /// </summary>
     public Future(IntPtr handle)
     {
-        Handle = ThenRaw(handle, (eina.Value value) => {
+        Handle = ThenRaw(handle, (Eina.Value value) => {
             Handle = IntPtr.Zero;
             return value;
         });
@@ -212,7 +212,7 @@ public class Future
     public Future(Promise promise, ResolvedCb cb=null)
     {
         IntPtr intermediate = eina_future_new(promise.Handle);
-        Handle = ThenRaw(intermediate, (eina.Value value) => {
+        Handle = ThenRaw(intermediate, (Eina.Value value) => {
             if (cb != null)
                 value = cb(value);
             Handle = IntPtr.Zero;
@@ -229,7 +229,7 @@ public class Future
     /// <summary>
     /// Cancels this future and the chain it belongs to, along with the promise linked against it.
     ///
-    /// The callbacks will still be called with eina.Error.ECANCELED as payload. The promise cancellation
+    /// The callbacks will still be called with Eina.Error.ECANCELED as payload. The promise cancellation
     /// callback will also be called if present.
     /// </summary>
     public void Cancel()
@@ -263,14 +263,14 @@ public class Future
         desc.data = GCHandle.ToIntPtr(handle);
         return eina_future_then_from_desc(previous, desc);
     }
-    private static eina.Value_Native NativeResolvedCb(IntPtr data, eina.Value_Native value, IntPtr dead_future)
+    private static Eina.ValueNative NativeResolvedCb(IntPtr data, Eina.ValueNative value, IntPtr dead_future)
     {
         GCHandle handle = GCHandle.FromIntPtr(data);
         ResolvedCb cb = handle.Target as ResolvedCb;
         if (cb != null)
             value = cb(value);
         else
-            eina.Log.Warning("Failed to get future callback.");
+            Eina.Log.Warning("Failed to get future callback.");
         handle.Free();
         return value;
     }
@@ -310,7 +310,7 @@ public class Future
                 GCHandle handle = GCHandle.FromIntPtr(descs[i].data);
                 handle.Free();
             }
-            eina.Log.Error($"Failed to create native future description for callbacks. Error: {e.ToString()}");
+            Eina.Log.Error($"Failed to create native future description for callbacks. Error: {e.ToString()}");
             return null;
         }
         return new Future(eina_future_chain_array(Handle, descs));
index c75c156fd7b76fa855dc3b370959f5f34917f86f..649ffc5d98ba6604494a2246f2faf5ea9cddf14a 100644 (file)
@@ -3,7 +3,7 @@
 using System;
 using System.Runtime.InteropServices;
 
-namespace eina {
+namespace Eina {
 
 public interface ISliceBase
 {
@@ -40,7 +40,7 @@ public struct Slice : ISliceBase
 }
 
 [StructLayout(LayoutKind.Sequential)]
-public struct Rw_Slice : ISliceBase
+public struct RwSlice : ISliceBase
 {
     public UIntPtr Len {get;set;}
     public IntPtr Mem {get;set;}
@@ -51,13 +51,13 @@ public struct Rw_Slice : ISliceBase
         set { Len = (UIntPtr) value; }
     }
 
-    public Rw_Slice(IntPtr mem, UIntPtr len)
+    public RwSlice(IntPtr mem, UIntPtr len)
     {
         Mem = mem;
         Len = len;
     }
 
-    public Rw_Slice PinnedDataSet(IntPtr mem, UIntPtr len)
+    public RwSlice PinnedDataSet(IntPtr mem, UIntPtr len)
     {
         Mem = mem;
         Len = len;
@@ -77,7 +77,7 @@ public struct Rw_Slice : ISliceBase
 
 public static class Eina_SliceUtils
 {
-    public static byte[] GetBytes(this eina.ISliceBase slc)
+    public static byte[] GetBytes(this Eina.ISliceBase slc)
     {
         var size = (int)(slc.Len);
         byte[] mArray = new byte[size];
index 310f9a92927500c8360d0dbf9649960205b22b01..9d7a982abb81cbb64433175c4fd155006d991216 100644 (file)
@@ -1,9 +1,9 @@
 using System;
 using System.Runtime.InteropServices;
 
-using static eina.EinaNative.StrbufNativeMethods;
+using static Eina.EinaNative.StrbufNativeMethods;
 
-namespace eina
+namespace Eina
 {
 namespace EinaNative
 {
index 4e464c27b16ecb4e507f4200a3e26e55734e3008..83ea31ee6d7a73dc5c3e1747ed064282e9df1802 100644 (file)
@@ -4,7 +4,7 @@ using System;
 using System.Runtime.InteropServices;
 
 
-namespace eina {
+namespace Eina {
 
 public class Stringshare {
     [DllImport(efl.Libs.Eina)] public static extern System.IntPtr
index 3712f1fc51453a1f9eb95a560c589b4880c8e242..4deeb1ad638906865474010db13c7c0c68fed84c 100644 (file)
@@ -10,11 +10,11 @@ using System.Security;
 using System.Diagnostics.CodeAnalysis;
 using System.Runtime.Serialization;
 
-using static eina.EinaNative.UnsafeNativeMethods;
-using static eina.TraitFunctions;
+using static Eina.EinaNative.UnsafeNativeMethods;
+using static Eina.TraitFunctions;
 
 
-namespace eina {
+namespace Eina {
 
 namespace EinaNative {
 
@@ -270,11 +270,11 @@ static internal class UnsafeNativeMethods {
 
     [DllImport(efl.Libs.Eina)]
     [return: MarshalAsAttribute(UnmanagedType.U1)]
-    internal static extern bool eina_value_optional_pget(IntPtr handle, out eina.EinaNative.Value_Array output);
+    internal static extern bool eina_value_optional_pget(IntPtr handle, out Eina.EinaNative.Value_Array output);
 
     [DllImport(efl.Libs.Eina)]
     [return: MarshalAsAttribute(UnmanagedType.U1)]
-    internal static extern bool eina_value_optional_pget(IntPtr handle, out eina.EinaNative.Value_List output);
+    internal static extern bool eina_value_optional_pget(IntPtr handle, out Eina.EinaNative.Value_List output);
 
     [DllImport(efl.Libs.Eina)]
     [return: MarshalAsAttribute(UnmanagedType.U1)]
@@ -325,11 +325,11 @@ static internal class UnsafeNativeMethods {
 
     [DllImport(efl.Libs.CustomExports)]
     [return: MarshalAsAttribute(UnmanagedType.U1)]
-    internal static extern bool eina_value_pset_wrapper(IntPtr handle, ref eina.EinaNative.Value_Array ptr);
+    internal static extern bool eina_value_pset_wrapper(IntPtr handle, ref Eina.EinaNative.Value_Array ptr);
 
     [DllImport(efl.Libs.CustomExports)]
     [return: MarshalAsAttribute(UnmanagedType.U1)]
-    internal static extern bool eina_value_pset_wrapper(IntPtr handle, ref eina.EinaNative.Value_List ptr);
+    internal static extern bool eina_value_pset_wrapper(IntPtr handle, ref Eina.EinaNative.Value_List ptr);
 
     [DllImport(efl.Libs.Eina)]
     [return: MarshalAsAttribute(UnmanagedType.U1)]
@@ -394,14 +394,14 @@ static internal class UnsafeNativeMethods {
 
 /// <summary>Struct for passing Values by value to Unmanaged functions.</summary>
 [StructLayout(LayoutKind.Sequential)]
-public struct Value_Native
+public struct ValueNative
 {
     public IntPtr Type;
     public IntPtr Value; // Atually an Eina_Value_Union, but it is padded to 8 bytes.
 
     public override string ToString()
     {
-        return $"Value_Native<Type:0x{Type.ToInt64():x}, Value:0x{Value.ToInt64():x}>";
+        return $"ValueNative<Type:0x{Type.ToInt64():x}, Value:0x{Value.ToInt64():x}>";
     }
 }
 
@@ -582,7 +582,7 @@ static class ValueTypeBridge
 
     private static void LoadTypes()
     {
-        eina.Config.Init(); // Make sure eina is initialized.
+        Eina.Config.Init(); // Make sure eina is initialized.
 
         ManagedToNative.Add(ValueType.SByte, type_sbyte());
         NativeToManaged.Add(type_sbyte(), ValueType.SByte);
@@ -669,9 +669,9 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
     // Ok EINA_VALUE_TYPE_DOUBLE: double -- double
     // EINA_VALUE_TYPE_STRINGSHARE: const char * -- string
     // Ok EINA_VALUE_TYPE_STRING: const char * -- string
-    // Ok EINA_VALUE_TYPE_ARRAY: Eina_Value_Array -- eina.Array?
-    // Ok EINA_VALUE_TYPE_LIST: Eina_Value_List -- eina.List?
-    // EINA_VALUE_TYPE_HASH: Eina_Value_Hash -- eina.Hash?
+    // Ok EINA_VALUE_TYPE_ARRAY: Eina_Value_Array -- Eina.Array?
+    // Ok EINA_VALUE_TYPE_LIST: Eina_Value_List -- Eina.List?
+    // EINA_VALUE_TYPE_HASH: Eina_Value_Hash -- Eina.Hash?
     // EINA_VALUE_TYPE_TIMEVAL: struct timeval -- FIXME
     // EINA_VALUE_TYPE_BLOB: Eina_Value_Blob -- FIXME
     // EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct -- FIXME
@@ -686,7 +686,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
     /// <summary> Whether this is an Optional value (meaning it can have a value or not). </summary>
     public bool Optional {
         get {
-            return GetValueType() == eina.ValueType.Optional;
+            return GetValueType() == Eina.ValueType.Optional;
         }
         /* protected set {
             // Should we expose this?
@@ -700,7 +700,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
     public bool Empty {
         get {
             SanityChecks();
-            return GetValueType() == eina.ValueType.Empty;
+            return GetValueType() == Eina.ValueType.Empty;
         }
     }
 
@@ -745,7 +745,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
 
         this.Handle = Alloc();
         if (this.Handle == IntPtr.Zero)
-            throw new OutOfMemoryException("Failed to allocate memory for eina.Value");
+            throw new OutOfMemoryException("Failed to allocate memory for Eina.Value");
 
         // Initialize to EINA_VALUE_EMPTY before performing any other operation on this value.
         MemoryNative.Memset(this.Handle, 0, eina_value_sizeof());
@@ -779,19 +779,19 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
     }
 
     /// <summary>Constructor to build value from Values_Natives passed by value from C.</summary>
-    public Value(Value_Native value)
+    public Value(ValueNative value)
     {
         IntPtr tmp = IntPtr.Zero;
         try {
             this.Handle = Alloc();
             if (value.Type == IntPtr.Zero) // Got an EINA_VALUE_EMPTY by value.
-                MemoryNative.Memset(this.Handle, 0, Marshal.SizeOf(typeof(Value_Native)));
+                MemoryNative.Memset(this.Handle, 0, Marshal.SizeOf(typeof(ValueNative)));
             else
             {
-                // We allocate this intermediate Value_Native using malloc to allow freeing with
+                // We allocate this intermediate ValueNative using malloc to allow freeing with
                 // free(), avoiding a call to eina_value_flush that would wipe the underlying value contents
                 // for pointer types like string.
-                tmp = MemoryNative.Alloc(Marshal.SizeOf(typeof(Value_Native)));
+                tmp = MemoryNative.Alloc(Marshal.SizeOf(typeof(ValueNative)));
                 Marshal.StructureToPtr(value, tmp, false); // Can't get the address of a struct directly.
                 this.Handle = Alloc();
 
@@ -811,19 +811,19 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
     }
 
     /// <summary>Implicit conversion from managed value to native struct representation.</summary>
-    public static implicit operator Value_Native(Value v)
+    public static implicit operator ValueNative(Value v)
     {
         return v.GetNative();
     }
 
     /// <summary>Implicit conversion from native struct representation to managed wrapper.</summary>
-    public static implicit operator Value(Value_Native v)
+    public static implicit operator Value(ValueNative v)
     {
         return new Value(v);
     }
 
     /// <summary>Creates an Value instance from a given array description.</summary>
-    private static Value FromArrayDesc(eina.EinaNative.Value_Array arrayDesc)
+    private static Value FromArrayDesc(Eina.EinaNative.Value_Array arrayDesc)
     {
         Value value = new Value();
         value.Setup(ValueType.Array, ValueType.String); // Placeholder values to be overwritten by the following pset call.
@@ -833,7 +833,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
     }
 
     /// <summary>Creates an Value instance from a given array description.</summary>
-    private static Value FromListDesc(eina.EinaNative.Value_List listDesc)
+    private static Value FromListDesc(Eina.EinaNative.Value_List listDesc)
     {
         Value value = new Value();
         value.Setup(ValueType.List, ValueType.String); // Placeholder values to be overwritten by the following pset call.
@@ -898,7 +898,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
             throw new ObjectDisposedException(base.GetType().Name);
 
         // Can't call setup with Empty value type (would give an eina error)
-        if (type == eina.ValueType.Empty)
+        if (type == Eina.ValueType.Empty)
         {
             // Need to cleanup as it may point to payload outside the underlying Eina_Value (like arrays and strings).
             if (!Empty)
@@ -989,10 +989,10 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
         Flushed = true;
     }
 
-    /// <summary>Get a Value_Native struct with the *value* pointed by this eina.Value.</summary>
-    public Value_Native GetNative()
+    /// <summary>Get a ValueNative struct with the *value* pointed by this Eina.Value.</summary>
+    public ValueNative GetNative()
     {
-        Value_Native value = (Value_Native)Marshal.PtrToStructure(this.Handle, typeof(Value_Native));
+        ValueNative value = (ValueNative)Marshal.PtrToStructure(this.Handle, typeof(ValueNative));
         return value;
     }
 
@@ -1007,7 +1007,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
 
         if (!GetValueType().IsNumeric())
             throw (new ArgumentException(
-                        "Trying to set numeric value on a non-numeric eina.Value"));
+                        "Trying to set numeric value on a non-numeric Eina.Value"));
         return eina_value_set_wrapper_uchar(this.Handle, value);
     }
 
@@ -1022,7 +1022,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
 
         if (!GetValueType().IsNumeric())
             throw (new ArgumentException(
-                        "Trying to set numeric value on a non-numeric eina.Value"));
+                        "Trying to set numeric value on a non-numeric Eina.Value"));
         return eina_value_set_wrapper_char(this.Handle, value);
     }
 
@@ -1037,7 +1037,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
 
         if (!GetValueType().IsNumeric())
             throw (new ArgumentException(
-                        "Trying to set numeric value on a non-numeric eina.Value"));
+                        "Trying to set numeric value on a non-numeric Eina.Value"));
         return eina_value_set_wrapper_short(this.Handle, value);
     }
 
@@ -1052,7 +1052,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
 
         if (!GetValueType().IsNumeric())
             throw (new ArgumentException(
-                        "Trying to set numeric value on a non-numeric eina.Value"));
+                        "Trying to set numeric value on a non-numeric Eina.Value"));
         return eina_value_set_wrapper_ushort(this.Handle, value);
     }
 
@@ -1068,7 +1068,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
 
         if (!GetValueType().IsNumeric())
             throw (new ArgumentException(
-                        "Trying to set numeric value on a non-numeric eina.Value"));
+                        "Trying to set numeric value on a non-numeric Eina.Value"));
         return eina_value_set_wrapper_uint(this.Handle, value);
     }
 
@@ -1084,7 +1084,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
 
         if (!GetValueType().IsNumeric())
             throw (new ArgumentException(
-                        "Trying to set numeric value on a non-numeric eina.Value"));
+                        "Trying to set numeric value on a non-numeric Eina.Value"));
         return eina_value_set_wrapper_int(this.Handle, value);
     }
 
@@ -1100,7 +1100,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
 
         if (!GetValueType().IsNumeric())
             throw (new ArgumentException(
-                        "Trying to set numeric value on a non-numeric eina.Value"));
+                        "Trying to set numeric value on a non-numeric Eina.Value"));
         return eina_value_set_wrapper_ulong(this.Handle, value);
     }
 
@@ -1116,7 +1116,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
 
         if (!GetValueType().IsNumeric())
             throw (new ArgumentException(
-                        "Trying to set numeric value on a non-numeric eina.Value"));
+                        "Trying to set numeric value on a non-numeric Eina.Value"));
         return eina_value_set_wrapper_long(this.Handle, value);
     }
 
@@ -1132,7 +1132,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
 
         if (!GetValueType().IsNumeric())
             throw (new ArgumentException(
-                        "Trying to set numeric value on a non-numeric eina.Value"));
+                        "Trying to set numeric value on a non-numeric Eina.Value"));
 
         return eina_value_set_wrapper_float(this.Handle, value);
     }
@@ -1149,7 +1149,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
 
         if (!GetValueType().IsNumeric())
             throw (new ArgumentException(
-                        "Trying to set numeric value on a non-numeric eina.Value"));
+                        "Trying to set numeric value on a non-numeric Eina.Value"));
         return eina_value_set_wrapper_double(this.Handle, value);
     }
 
@@ -1165,13 +1165,13 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
 
         if (!GetValueType().IsString())
             throw (new ArgumentException(
-                        "Trying to set non-string value on a string eina.Value"));
+                        "Trying to set non-string value on a string Eina.Value"));
         // No need to worry about ownership as eina_value_set will copy the passed string.
         return eina_value_set_wrapper_string(this.Handle, value);
     }
 
     /// <summary>Stores the given error value.</summary>
-    public bool Set(eina.Error value)
+    public bool Set(Eina.Error value)
     {
         SanityChecks();
 
@@ -1211,7 +1211,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
                     Marshal.StructureToPtr(value_list, ptr_val, false);
                     break;
                 default:
-                    throw new InvalidValueTypeException("Only containers can be passed as raw eina.Values");
+                    throw new InvalidValueTypeException("Only containers can be passed as raw Eina.Values");
             }
 
             return eina_value_optional_pset(this.Handle, native_type, ptr_val);
@@ -1338,8 +1338,8 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
         return true;
     }
 
-    /// <summary>Gets the currently stored value as an eina.Error.</summary>
-    public bool Get(out eina.Error value)
+    /// <summary>Gets the currently stored value as an Eina.Error.</summary>
+    public bool Get(out Eina.Error value)
     {
         SanityChecks();
         bool ret;
@@ -1354,7 +1354,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
         return ret;
     }
 
-    /// <summary>Gets the currently stored value as an complex (e.g. container) eina.Value.</summary>
+    /// <summary>Gets the currently stored value as an complex (e.g. container) Eina.Value.</summary>
     public bool Get(out Value value)
     {
         SanityChecks();
@@ -1368,14 +1368,14 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
 
         switch (managedType) {
             case ValueType.Array:
-                eina.EinaNative.Value_Array array_desc;
+                Eina.EinaNative.Value_Array array_desc;
 
                 if (!eina_value_optional_pget(this.Handle, out array_desc))
                     return false;
                 value = Value.FromArrayDesc(array_desc);
                 break;
             case ValueType.List:
-                eina.EinaNative.Value_List list_desc;
+                Eina.EinaNative.Value_List list_desc;
 
                 if (!eina_value_optional_pget(this.Handle, out list_desc))
                     return false;
@@ -1490,7 +1490,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
         return str;
     }
 
-    /// <summary>Empties an optional eina.Value, freeing what was previously contained.</summary>
+    /// <summary>Empties an optional Eina.Value, freeing what was previously contained.</summary>
     public bool Reset()
     {
         OptionalSanityChecks();
index 20f14d4e6fc9eed0cea36091da9b47385676e513..558bfcf05934086387cbfb0814f349d050c1c9c4 100644 (file)
@@ -136,7 +136,7 @@ public abstract class BasicMessageArgument
     {
         if (!InternalAppendTo(msg))
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not append basic type to eldbus.Message");
         }
     }
@@ -145,7 +145,7 @@ public abstract class BasicMessageArgument
     {
         if (!InternalAppendTo(iter))
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not append basic type to eldbus.MessageIterator");
         }
     }
@@ -503,8 +503,8 @@ public static class Common
     public static void RaiseNullHandle()
     {
         if (NullHandleError == 0)
-            NullHandleError = eina.Error.Register("Eldbus: null handle");
-        eina.Error.Raise(NullHandleError);
+            NullHandleError = Eina.Error.Register("Eldbus: null handle");
+        Eina.Error.Raise(NullHandleError);
     }
 
     public delegate void Eldbus_Message_Cb(IntPtr data, IntPtr msg, IntPtr pending);
@@ -526,7 +526,7 @@ public static class Common
         MessageDelegate dlgt = Marshal.GetDelegateForFunctionPointer(data, typeof(MessageDelegate)) as MessageDelegate;
         if (dlgt == null)
         {
-            eina.Log.Error("Eldbus: invalid delegate pointer from Eldbus_Message_Cb");
+            Eina.Log.Error("Eldbus: invalid delegate pointer from Eldbus_Message_Cb");
             return;
         }
 
@@ -540,7 +540,7 @@ public static class Common
         }
         catch(Exception e)
         {
-            eina.Log.Error("Eldbus: could not convert Eldbus_Message_Cb parameters. Exception: " + e.ToString());
+            Eina.Log.Error("Eldbus: could not convert Eldbus_Message_Cb parameters. Exception: " + e.ToString());
             return;
         }
 
@@ -550,12 +550,12 @@ public static class Common
         }
         catch(Exception e)
         {
-            eina.Log.Error("Eldbus: Eldbus_Message_Cb delegate error. Exception: " + e.ToString());
+            Eina.Log.Error("Eldbus: Eldbus_Message_Cb delegate error. Exception: " + e.ToString());
         }
     }
 
     private static Eldbus_Message_Cb message_cb_wrapper = null;
-    private static eina.Error NullHandleError = 0;
+    private static Eina.Error NullHandleError = 0;
 }
 
 }
index 84b2ae102c5092a431204116c5328fb342fe4625..c5bae0767b258a55b33acdf63d129465abd8a6b2 100644 (file)
@@ -13,7 +13,7 @@ public static class Config
     public static void Init()
     {
         if (eldbus_init() == 0)
-            throw new efl.EflException("Failed to initialize Eldbus");
+            throw new Efl.EflException("Failed to initialize Eldbus");
     }
 
     public static void Shutdown()
index 0da670efc1676f9990a8d8655fab0c7e97558fdb..61ad6b69c88261951ef447483b0011c3ca65892f 100644 (file)
@@ -193,7 +193,7 @@ public class Connection : IDisposable
 
         if(pending_hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Pending' object from eldbus_connection_send");
         }
 
@@ -225,7 +225,7 @@ public class Connection : IDisposable
 
         if(pending_hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Pending' object from eldbus_name_request");
         }
 
@@ -246,7 +246,7 @@ public class Connection : IDisposable
 
         if(pending_hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Pending' object from eldbus_name_release");
         }
 
@@ -267,7 +267,7 @@ public class Connection : IDisposable
 
         if(pending_hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Pending' object from eldbus_name_owner_get");
         }
 
@@ -288,7 +288,7 @@ public class Connection : IDisposable
 
         if(pending_hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Pending' object from eldbus_name_owner_has");
         }
 
@@ -306,7 +306,7 @@ public class Connection : IDisposable
 
         if(pending_hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Pending' object from eldbus_names_list");
         }
 
@@ -324,7 +324,7 @@ public class Connection : IDisposable
 
         if(pending_hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Pending' object from eldbus_names_activatable_list");
         }
 
@@ -342,7 +342,7 @@ public class Connection : IDisposable
 
         if(pending_hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Pending' object from eldbus_hello");
         }
 
@@ -363,7 +363,7 @@ public class Connection : IDisposable
 
         if(pending_hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Pending' object from eldbus_name_start");
         }
 
index 0a1afb66d19d2bc919c6ee111676ec1d9765e4ce..82fb5dac27e3ff80ba7d77da0f3e14cacc126556 100644 (file)
@@ -252,7 +252,7 @@ public class Message : IDisposable
         var ptr = eldbus_message_method_call_new(dest, path, iface, method);
         if (ptr == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Message' object from eldbus_message_method_call_new");
         }
         return new eldbus.Message(ptr, true);
@@ -263,7 +263,7 @@ public class Message : IDisposable
         var ptr = eldbus_message_signal_new(path, _interface, name);
         if (ptr == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Message' object from eldbus_message_signal_new");
         }
         return new eldbus.Message(ptr, true);
@@ -329,7 +329,7 @@ public class Message : IDisposable
         var ptr = eldbus_message_error_new(Handle, error_name, error_msg);
         if (ptr == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Message' object from eldbus_message_error_new");
         }
         return new eldbus.Message(ptr, false);
@@ -341,7 +341,7 @@ public class Message : IDisposable
         var ptr = eldbus_message_method_return_new(Handle);
         if (ptr == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Message' object from eldbus_message_method_return_new");
         }
         return new eldbus.Message(ptr, false);
@@ -472,7 +472,7 @@ public class Message : IDisposable
         var ptr = eldbus_message_iter_get(Handle);
         if (ptr == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `MessageIterator' object from eldbus_message_iter_get");
         }
         return new eldbus.MessageIterator(ptr, IntPtr.Zero);
@@ -534,13 +534,13 @@ public class MessageIterator
         }
         else if (!eldbus_message_iter_arguments_append(Handle, signature, out new_iter))
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not append container type");
         }
 
         if (new_iter == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `MessageIterator' object from eldbus_message_iter_arguments_append");
         }
 
@@ -555,7 +555,7 @@ public class MessageIterator
 
         if (new_iter == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `MessageIterator' object from eldbus_message_iter_container_new");
         }
 
@@ -573,7 +573,7 @@ public class MessageIterator
 
         if (!eldbus_message_iter_container_close(Parent, Handle))
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not close MessageIterator");
         }
 
@@ -686,7 +686,7 @@ public class MessageIterator
         bool r = eldbus_message_iter_get_and_next(Handle, typecode, out hdl);
         if (hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get argument");
         }
         iter = new eldbus.MessageIterator(hdl, Handle);
@@ -700,7 +700,7 @@ public class MessageIterator
         IntPtr hdl = IntPtr.Zero;
         if (!eldbus_message_iter_arguments_get(Handle, signatue, out hdl) || hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get argument");
         }
         iter = new eldbus.MessageIterator(hdl, Handle);
@@ -802,7 +802,7 @@ public class MessageIterator
         IntPtr hdl = IntPtr.Zero;
         if (!eldbus_message_iter_arguments_get(Handle, signatue, out hdl) || hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get argument");
         }
         iter = new eldbus.MessageIterator(hdl, Handle);
@@ -830,7 +830,7 @@ public class MessageIterator
 
         if (!eldbus_message_iter_fixed_array_get(Handle, type_code, out value, out n_elements))
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get fixed array");
         }
     }
index d07654deabcc618e57b8672afcb8196475376134..0dfe4d891e8084a7960dcfeaf2989f54a938ad07 100644 (file)
@@ -122,7 +122,7 @@ public class Object : System.IDisposable
 
         if (handle == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Object' object from eldbus_object_get");
         }
 
@@ -170,7 +170,7 @@ public class Object : System.IDisposable
 
         if (conn == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Connection' object from eldbus_object_connection_get");
         }
 
@@ -217,7 +217,7 @@ public class Object : System.IDisposable
 
         if (pending_hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Pending' object from eldbus_object_send");
         }
 
@@ -232,7 +232,7 @@ public class Object : System.IDisposable
 
         if (hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Message' object from eldbus_object_method_call_new");
         }
 
@@ -250,7 +250,7 @@ public class Object : System.IDisposable
 
         if (pending_hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Pending' object from eldbus_object_peer_ping");
         }
 
@@ -268,7 +268,7 @@ public class Object : System.IDisposable
 
         if (pending_hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Pending' object from eldbus_object_peer_machine_id_get");
         }
 
@@ -286,7 +286,7 @@ public class Object : System.IDisposable
 
         if (pending_hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Pending' object from eldbus_object_introspect");
         }
 
@@ -304,7 +304,7 @@ public class Object : System.IDisposable
 
         if (pending_hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Pending' object from eldbus_object_managed_objects_get");
         }
 
index d7729d8a700e214c399eba363120fee636203e1b..25903c9b2183f03785ee35b8047fd71dd0a6d76a 100644 (file)
@@ -134,7 +134,7 @@ public class Proxy : IDisposable
         var ptr = eldbus_proxy_object_get(Handle);
         if (ptr == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Object' object from eldbus_proxy_object_get");
         }
         return new eldbus.Object(ptr, false);
@@ -157,7 +157,7 @@ public class Proxy : IDisposable
         var ptr = eldbus_proxy_method_call_new(Handle, member);
         if (ptr == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Message' object from eldbus_proxy_method_call_new");
         }
         return new eldbus.Message(ptr, false);
@@ -177,7 +177,7 @@ public class Proxy : IDisposable
 
         if (pending_hdl == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Pending' object from eldbus_proxy_send");
         }
 
@@ -190,7 +190,7 @@ public class Proxy : IDisposable
         var ptr = eldbus_proxy_send_and_block(Handle, msg.Handle, timeout);
         if (ptr == IntPtr.Zero)
         {
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
             throw new SEHException("Eldbus: could not get `Message' object from eldbus_proxy_send_and_block");
         }
         return new eldbus.Message(ptr, true);
index 90f7f9b5aeb55a5510e7af21e17b02ff2453f65c..11e9fa809160a54486aaec98c9a577999ad9ad32 100644 (file)
@@ -6,9 +6,9 @@ using System.Collections.Generic;
 using System.Diagnostics;
 using System.Threading;
 
-using static eina.NativeCustomExportFunctions;
+using static Eina.NativeCustomExportFunctions;
 
-namespace efl { namespace eo {
+namespace Efl { namespace Eo {
 
 public class Globals {
     [DllImport(efl.Libs.Eo)] public static extern void efl_object_init();
@@ -20,8 +20,10 @@ public class Globals {
         _efl_add_end(IntPtr eo, byte is_ref, byte is_fallback);
     [DllImport(efl.Libs.Eo)] public static extern IntPtr
         efl_ref(IntPtr eo);
-    [DllImport(efl.Libs.Eo)] public static extern void
+    [DllImport(efl.Libs.CustomExports)] public static extern void
         efl_unref(IntPtr eo);
+    [DllImport(efl.Libs.Eo)] public static extern int
+        efl_ref_count(IntPtr eo);
     [DllImport(efl.Libs.Eo)] public static extern IntPtr
         efl_class_new(IntPtr class_description, IntPtr base0);
     [DllImport(efl.Libs.Eo)] public static extern IntPtr
@@ -55,12 +57,12 @@ public class Globals {
               System.IntPtr obj,
               IntPtr desc,
               short priority,
-              efl.Event_Cb cb,
+              Efl.EventCb cb,
               System.IntPtr data);
    [DllImport(efl.Libs.Eo)] public static extern bool efl_event_callback_del(
               System.IntPtr obj,
               IntPtr desc,
-              efl.Event_Cb cb,
+              Efl.EventCb cb,
               System.IntPtr data);
     [DllImport(efl.Libs.Eo)] public static extern IntPtr
         efl_object_legacy_only_event_description_get([MarshalAs(UnmanagedType.LPStr)] String name);
@@ -83,36 +85,40 @@ public class Globals {
         if(initializer != null)
             description.class_initializer = Marshal.GetFunctionPointerForDelegate(initializer);
 
-        IntPtr description_ptr = eina.MemoryNative.Alloc(Marshal.SizeOf(description));
+        IntPtr description_ptr = Eina.MemoryNative.Alloc(Marshal.SizeOf(description));
         Marshal.StructureToPtr(description, description_ptr, false);
       
-        eina.Log.Debug("Going to register!");
-        IntPtr klass = efl.eo.Globals.efl_class_new(description_ptr, base_klass, IntPtr.Zero);
+        Eina.Log.Debug("Going to register!");
+        IntPtr klass = Efl.Eo.Globals.efl_class_new(description_ptr, base_klass, IntPtr.Zero);
         if(klass == IntPtr.Zero)
-            eina.Log.Error("klass was not registered");
-        eina.Log.Debug("Registered?");
+            Eina.Log.Error("klass was not registered");
+        else
+            Eina.Log.Debug("Registered class successfully");
         return klass;
     }
-    public static IntPtr instantiate_start(IntPtr klass, efl.IObject parent)
+    public static IntPtr instantiate_start(IntPtr klass, Efl.Object parent)
     {
-        eina.Log.Debug("Instantiating");
+        Eina.Log.Debug($"Instantiating from klass 0x{klass.ToInt64():x}");
         System.IntPtr parent_ptr = System.IntPtr.Zero;
         if(parent != null)
-            parent_ptr = parent.raw_handle;
+            parent_ptr = parent.NativeHandle;
 
-        System.IntPtr eo = efl.eo.Globals._efl_add_internal_start("file", 0, klass, parent_ptr, 1, 0);
+        System.IntPtr eo = Efl.Eo.Globals._efl_add_internal_start("file", 0, klass, parent_ptr, 1, 0);
+        Console.WriteLine($"Eo instance right after internal_start 0x{eo.ToInt64():x} with refcount {Efl.Eo.Globals.efl_ref_count(eo)}");
+        Console.WriteLine($"Parent was 0x{parent_ptr.ToInt64()}");
         return eo;
     }
 
     public static IntPtr instantiate_end(IntPtr eo) {
-        eina.Log.Debug("efl_add_internal_start returned");
-        eo = efl.eo.Globals._efl_add_end(eo, 1, 0);
-        eina.Log.Debug("efl_add_end returned");
+        Eina.Log.Debug("calling efl_add_internal_end");
+        eo = Efl.Eo.Globals._efl_add_end(eo, 1, 0);
+        Eina.Log.Debug($"efl_add_end returned eo 0x{eo.ToInt64():x}");
         return eo;
     }
-    public static void data_set(efl.eo.IWrapper obj)
+    public static void data_set(Efl.Eo.IWrapper obj)
     {
-      IntPtr pd = efl.eo.Globals.efl_data_scope_get(obj.raw_handle, obj.raw_klass);
+      Eina.Log.Debug($"Calling data_scope_get with obj {obj.NativeHandle.ToInt64():x} and klass {obj.NativeClass.ToInt64():x}");
+      IntPtr pd = Efl.Eo.Globals.efl_data_scope_get(obj.NativeHandle, obj.NativeClass);
       {
           GCHandle gch = GCHandle.Alloc(obj);
           EolianPD epd;
@@ -120,13 +126,13 @@ public class Globals {
           Marshal.StructureToPtr(epd, pd, false);
       }
     }
-    public static efl.eo.IWrapper data_get(IntPtr pd)
+    public static Efl.Eo.IWrapper data_get(IntPtr pd)
     {
         EolianPD epd = (EolianPD)Marshal.PtrToStructure(pd, typeof(EolianPD));
         if(epd.pointer != IntPtr.Zero)
         {
             GCHandle gch = GCHandle.FromIntPtr(epd.pointer);
-            return (efl.eo.IWrapper)gch.Target;
+            return (Efl.Eo.IWrapper)gch.Target;
         }
         else
             return null;
@@ -137,7 +143,7 @@ public class Globals {
         IntPtr ptr = IntPtr.Zero;
         if (!dict.TryGetValue(str, out ptr))
         {
-            ptr = eina.StringConversion.ManagedStringToNativeUtf8Alloc(str);
+            ptr = Eina.StringConversion.ManagedStringToNativeUtf8Alloc(str);
             dict[str] = ptr;
         }
 
@@ -149,7 +155,7 @@ public class Globals {
         IntPtr ptr = IntPtr.Zero;
         if (!dict.TryGetValue(str, out ptr))
         {
-            ptr = eina.Stringshare.eina_stringshare_add(str);
+            ptr = Eina.Stringshare.eina_stringshare_add(str);
             dict[str] = ptr;
         }
 
@@ -160,7 +166,7 @@ public class Globals {
     {
         foreach(IntPtr ptr in dict.Values)
         {
-            eina.MemoryNative.Free(ptr);
+            Eina.MemoryNative.Free(ptr);
         }
     }
 
@@ -168,7 +174,7 @@ public class Globals {
     {
         foreach(IntPtr ptr in dict.Values)
         {
-            eina.Stringshare.eina_stringshare_del(ptr);
+            Eina.Stringshare.eina_stringshare_del(ptr);
         }
     }
 
@@ -178,27 +184,27 @@ public class Globals {
         handle.Free();
     }
 
-    public static System.Threading.Tasks.Task<eina.Value> WrapAsync(eina.Future future, CancellationToken token)
+    public static System.Threading.Tasks.Task<Eina.Value> WrapAsync(Eina.Future future, CancellationToken token)
     {
         // Creates a task that will wait for SetResult for completion.
         // TaskCompletionSource is used to create tasks for 'external' Task sources.
-        var tcs = new System.Threading.Tasks.TaskCompletionSource<eina.Value>();
+        var tcs = new System.Threading.Tasks.TaskCompletionSource<Eina.Value>();
 
         // Flag to be passed to the cancell callback
         bool fulfilled = false;
 
-        future.Then((eina.Value received) => {
+        future.Then((Eina.Value received) => {
                 lock (future)
                 {
                     // Convert an failed Future to a failed Task.
-                    if (received.GetValueType() == eina.ValueType.Error)
+                    if (received.GetValueType() == Eina.ValueType.Error)
                     {
-                        eina.Error err;
+                        Eina.Error err;
                         received.Get(out err);
-                        if (err == eina.Error.ECANCELED)
+                        if (err == Eina.Error.ECANCELED)
                             tcs.SetCanceled();
                         else
-                            tcs.TrySetException(new efl.FutureException(received));
+                            tcs.TrySetException(new Efl.FutureException(received));
                     }
                     else
                     {
@@ -213,7 +219,7 @@ public class Globals {
         token.Register(() => {
                 lock (future)
                 {
-                    // Will trigger the Then callback above with an eina.Error
+                    // Will trigger the Then callback above with an Eina.Error
                     if (!fulfilled)
                         future.Cancel();
                 }
@@ -238,11 +244,13 @@ public static class Config
 
 public interface IWrapper
 {
-    IntPtr raw_handle
+    /// <summary>Pointer to internal Eo instance.</summary>
+    IntPtr NativeHandle
     {
         get;
     }
-    IntPtr raw_klass
+    /// <summary>Pointer to internal Eo class.</summary>
+    IntPtr NativeClass 
     {
         get;
     }
@@ -265,42 +273,42 @@ public class MarshalTest<T, U> : ICustomMarshaler
 {
     public static ICustomMarshaler GetInstance(string cookie)
     {
-        eina.Log.Debug("MarshalTest.GetInstace cookie " + cookie);
+        Eina.Log.Debug("MarshalTest.GetInstace cookie " + cookie);
         return new MarshalTest<T, U>();
     }
     public void CleanUpManagedData(object ManagedObj)
     {
-        //eina.Log.Warning("MarshalTest.CleanUpManagedData not implemented");
+        //Eina.Log.Warning("MarshalTest.CleanUpManagedData not implemented");
         //throw new NotImplementedException();
     }
 
     public void CleanUpNativeData(IntPtr pNativeData)
     {
-        //eina.Log.Warning("MarshalTest.CleanUpNativeData not implemented");
+        //Eina.Log.Warning("MarshalTest.CleanUpNativeData not implemented");
         //throw new NotImplementedException();
     }
 
     public int GetNativeDataSize()
     {
-        eina.Log.Debug("MarshalTest.GetNativeDataSize");
+        Eina.Log.Debug("MarshalTest.GetNativeDataSize");
         return 0;
         //return 8;
     }
 
     public IntPtr MarshalManagedToNative(object ManagedObj)
     {
-        eina.Log.Debug("MarshalTest.MarshallManagedToNative");
-        var r = ((IWrapper)ManagedObj).raw_handle;
+        Eina.Log.Debug("MarshalTest.MarshallManagedToNative");
+        var r = ((IWrapper)ManagedObj).NativeHandle;
         if (typeof(U) == typeof(OwnTag))
-            efl.eo.Globals.efl_ref(r);
+            Efl.Eo.Globals.efl_ref(r);
         return r;
     }
 
     public object MarshalNativeToManaged(IntPtr pNativeData)
     {
-        eina.Log.Debug("MarshalTest.MarshalNativeToManaged");
+        Eina.Log.Debug("MarshalTest.MarshalNativeToManaged");
         if (typeof(U) != typeof(OwnTag))
-            efl.eo.Globals.efl_ref(pNativeData);
+            Efl.Eo.Globals.efl_ref(pNativeData);
         return Activator.CreateInstance(typeof(T), new System.Object[] {pNativeData});
 //        return null;
     }
@@ -308,13 +316,13 @@ public class MarshalTest<T, U> : ICustomMarshaler
 
 public class StringPassOwnershipMarshaler : ICustomMarshaler {
     public object MarshalNativeToManaged(IntPtr pNativeData) {
-        var ret = eina.StringConversion.NativeUtf8ToManagedString(pNativeData);
-        eina.MemoryNative.Free(pNativeData);
+        var ret = Eina.StringConversion.NativeUtf8ToManagedString(pNativeData);
+        Eina.MemoryNative.Free(pNativeData);
         return ret;
     }
 
     public IntPtr MarshalManagedToNative(object managedObj) {
-        return eina.MemoryNative.StrDup((string)managedObj);
+        return Eina.MemoryNative.StrDup((string)managedObj);
     }
 
     public void CleanUpNativeData(IntPtr pNativeData) {
@@ -339,11 +347,11 @@ public class StringPassOwnershipMarshaler : ICustomMarshaler {
 
 public class StringKeepOwnershipMarshaler: ICustomMarshaler {
     public object MarshalNativeToManaged(IntPtr pNativeData) {
-        return eina.StringConversion.NativeUtf8ToManagedString(pNativeData);
+        return Eina.StringConversion.NativeUtf8ToManagedString(pNativeData);
     }
 
     public IntPtr MarshalManagedToNative(object managedObj) {
-        return eina.StringConversion.ManagedStringToNativeUtf8Alloc((string)managedObj);
+        return Eina.StringConversion.ManagedStringToNativeUtf8Alloc((string)managedObj);
     }
 
     public void CleanUpNativeData(IntPtr pNativeData) {
@@ -368,13 +376,13 @@ public class StringKeepOwnershipMarshaler: ICustomMarshaler {
 
 public class StringsharePassOwnershipMarshaler : ICustomMarshaler {
     public object MarshalNativeToManaged(IntPtr pNativeData) {
-        var ret = eina.StringConversion.NativeUtf8ToManagedString(pNativeData);
-        eina.Stringshare.eina_stringshare_del(pNativeData);
+        var ret = Eina.StringConversion.NativeUtf8ToManagedString(pNativeData);
+        Eina.Stringshare.eina_stringshare_del(pNativeData);
         return ret;
     }
 
     public IntPtr MarshalManagedToNative(object managedObj) {
-        return eina.Stringshare.eina_stringshare_add((string)managedObj);
+        return Eina.Stringshare.eina_stringshare_add((string)managedObj);
     }
 
     public void CleanUpNativeData(IntPtr pNativeData) {
@@ -399,11 +407,11 @@ public class StringsharePassOwnershipMarshaler : ICustomMarshaler {
 
 public class StringshareKeepOwnershipMarshaler : ICustomMarshaler {
     public object MarshalNativeToManaged(IntPtr pNativeData) {
-        return eina.StringConversion.NativeUtf8ToManagedString(pNativeData);
+        return Eina.StringConversion.NativeUtf8ToManagedString(pNativeData);
     }
 
     public IntPtr MarshalManagedToNative(object managedObj) {
-        return eina.Stringshare.eina_stringshare_add((string)managedObj);
+        return Eina.Stringshare.eina_stringshare_add((string)managedObj);
     }
 
     public void CleanUpNativeData(IntPtr pNativeData) {
@@ -428,11 +436,11 @@ public class StringshareKeepOwnershipMarshaler : ICustomMarshaler {
 
 public class StrbufPassOwnershipMarshaler : ICustomMarshaler {
     public object MarshalNativeToManaged(IntPtr pNativeData) {
-        return new eina.Strbuf(pNativeData, eina.Ownership.Managed);
+        return new Eina.Strbuf(pNativeData, Eina.Ownership.Managed);
     }
 
     public IntPtr MarshalManagedToNative(object managedObj) {
-        eina.Strbuf buf = managedObj as eina.Strbuf;
+        Eina.Strbuf buf = managedObj as Eina.Strbuf;
         buf.ReleaseOwnership();
         return buf.Handle;
     }
@@ -459,11 +467,11 @@ public class StrbufPassOwnershipMarshaler : ICustomMarshaler {
 
 public class StrbufKeepOwnershipMarshaler: ICustomMarshaler {
     public object MarshalNativeToManaged(IntPtr pNativeData) {
-        return new eina.Strbuf(pNativeData, eina.Ownership.Unmanaged);
+        return new Eina.Strbuf(pNativeData, Eina.Ownership.Unmanaged);
     }
 
     public IntPtr MarshalManagedToNative(object managedObj) {
-        eina.Strbuf buf = managedObj as eina.Strbuf;
+        Eina.Strbuf buf = managedObj as Eina.Strbuf;
         return buf.Handle;
     }
 
@@ -500,18 +508,18 @@ public class EflException : Exception
     }
 }
 
-/// <summary>Exception to be raised when a Task fails due to a failed eina.Future.</summary>
+/// <summary>Exception to be raised when a Task fails due to a failed Eina.Future.</summary>
 public class FutureException : EflException
 {
-    /// <summary>The error code returned by the failed eina.Future.</summary>
-    public eina.Error Error { get; private set; }
+    /// <summary>The error code returned by the failed Eina.Future.</summary>
+    public Eina.Error Error { get; private set; }
 
-    /// <summary>Construct a new exception from the eina.Error stored in the given eina.Value.</summary>
-    public FutureException(eina.Value value) : base("Future failed.")
+    /// <summary>Construct a new exception from the Eina.Error stored in the given Eina.Value.</summary>
+    public FutureException(Eina.Value value) : base("Future failed.")
     {
-        if (value.GetValueType() != eina.ValueType.Error)
-            throw new ArgumentException("FutureException must receive an eina.Value with eina.Error.");
-        eina.Error err;
+        if (value.GetValueType() != Eina.ValueType.Error)
+            throw new ArgumentException("FutureException must receive an Eina.Value with Eina.Error.");
+        Eina.Error err;
         value.Get(out err);
         Error = err;
     }
index 253e3758f37e96eab85547ca24e8e194fb0da1f4..1fa3889d48f5eac2b064c6faecaaf68582d3e088 100644 (file)
@@ -51,29 +51,28 @@ public struct EolianPD
 }
 
 #pragma warning disable 0169
-public struct Evas_Object_Box_Layout
+public struct EvasObjectBoxLayout
 {
     IntPtr o;
     IntPtr priv;
     IntPtr user_data;
 };
 [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)]
-public struct Evas_Object_Box_Data
+public struct EvasObjectBoxData
 {
 }
-public delegate void Eina_Free_Cb(IntPtr data);
-public struct Evas_Object_Box_Option {
+public struct EvasObjectBoxOption {
     IntPtr obj;
     [MarshalAsAttribute(UnmanagedType.U1)] bool max_reached;
     [MarshalAsAttribute(UnmanagedType.U1)] bool min_reached;
-    evas.Coord alloc_size;
+    Evas.Coord alloc_size;
 };
 #pragma warning restore 0169
 
-namespace efl {
+namespace Efl {
 
 [StructLayout(LayoutKind.Sequential)]
-public struct Event_Description {
+public struct EventDescription {
     public IntPtr Name;
     [MarshalAs(UnmanagedType.U1)] public bool Unfreezable;
     [MarshalAs(UnmanagedType.U1)] public bool Legacy_is;
@@ -81,7 +80,7 @@ public struct Event_Description {
 
     private static Dictionary<string, IntPtr> descriptions = new Dictionary<string, IntPtr>();
 
-    public Event_Description(string name)
+    public EventDescription(string name)
     {
         this.Name = GetNative(name);
         this.Unfreezable = false;
@@ -93,10 +92,10 @@ public struct Event_Description {
     {
         if (!descriptions.ContainsKey(name))
         {
-            IntPtr data = efl.eo.Globals.dlsym(efl.eo.Globals.RTLD_DEFAULT, name);
+            IntPtr data = Efl.Eo.Globals.dlsym(Efl.Eo.Globals.RTLD_DEFAULT, name);
 
             if (data == IntPtr.Zero) {
-                string error = eina.StringConversion.NativeUtf8ToManagedString(efl.eo.Globals.dlerror());
+                string error = Eina.StringConversion.NativeUtf8ToManagedString(Efl.Eo.Globals.dlerror());
                 throw new Exception(error);
             }
             descriptions.Add(name, data);
@@ -105,17 +104,10 @@ public struct Event_Description {
     }
 };
 
-
-public delegate void Event_Cb(System.IntPtr data, ref Event_StructInternal evt);
-#pragma warning disable 0169
-public struct Dbg_Info {
-    IntPtr name;
-    IntPtr value;
-};
-#pragma warning restore 0169
+public delegate void EventCb(System.IntPtr data, ref Event_StructInternal evt);
 
 [StructLayout(LayoutKind.Sequential)]
-public struct Text_Cursor_Cursor {
+public struct TextCursorCursor {
     IntPtr obj;
     UIntPtr pos; // UIntPtr to automatically change size_t between 32/64
     IntPtr node;
@@ -123,7 +115,7 @@ public struct Text_Cursor_Cursor {
 }
 
 [StructLayout(LayoutKind.Sequential)]
-public struct Text_Annotate_Annotation {
+public struct TextAnnotateAnnotation {
     IntPtr list;
     IntPtr obj;
     IntPtr start_node;
@@ -131,40 +123,36 @@ public struct Text_Annotate_Annotation {
     [MarshalAsAttribute(UnmanagedType.U1)]bool is_item;
 }
 
-public delegate void Signal_Cb(IntPtr data, IntPtr obj, IntPtr emission, IntPtr source);
+public delegate void SignalCb(IntPtr data, IntPtr obj, IntPtr emission, IntPtr source);
 
-namespace access {
+namespace Access {
 
-public struct Action_Data {
+public struct ActionData {
     public IntPtr name;
     public IntPtr action;
     public IntPtr param;
     public IntPtr func;
 }
 
-} // namespace access
-
-} // namespace efl
-
-namespace evas { namespace font {
-
-}
-
-
-// C# does not allow typedefs, so we use these implicit conversions.
-public struct Modifier_Mask {
-    private ulong mask;
+public struct StateSet {
+    private ulong val;
 
-    public static implicit operator Modifier_Mask(ulong x)
+    public static implicit operator StateSet(ulong x)
     {
-        return new Modifier_Mask{mask=x};
+        return new StateSet{val=x};
     }
-    public static implicit operator ulong(Modifier_Mask x)
+    public static implicit operator ulong(StateSet x)
     {
-        return x.mask;
+        return x.val;
     }
 }
 
+} // namespace Access
+
+} // namespace Efl
+
+namespace Evas {
+
 public struct Coord {
     int val;
 
@@ -177,37 +165,8 @@ public struct Coord {
     }
 }
 
-
-}
-
-public struct Efl_Font_Size {
-    int val;
-
-    public Efl_Font_Size(int value) { val = value; }
-    static public implicit operator Efl_Font_Size(int val) {
-        return new Efl_Font_Size(val);
-    }
-    static public implicit operator int(Efl_Font_Size coord) {
-        return coord.val;
-    }
-}
-
-namespace eina {
-
-[StructLayout(LayoutKind.Sequential)]
-public struct Rectangle {
-    public int x;
-    public int y;
-    public int w;
-    public int h;
-}
-
-}
-
-namespace evas {
-
 /* Copied from Evas_Legacy.h */
-public enum Text_Style_Type
+public enum TextStyleType
 {
    ///<summary> plain, standard text.</summary>
    Plain = 0,
@@ -249,246 +208,19 @@ public enum Text_Style_Type
    ShadowDirectionRight = 112 /* 7 >> 4 */
 };
 
-// Copied from Evas_Common.h
-//
-//
-//
-
-public enum Callback_Type
-{
-  ///<summary> Mouse In Event.</summary>
-  EVAS_CALLBACK_MOUSE_IN = 0,
-  ///<summary> Mouse Out Event.</summary>
-  EVAS_CALLBACK_MOUSE_OUT,
-  ///<summary> Mouse Button Down Event.</summary>
-  EVAS_CALLBACK_MOUSE_DOWN,
-  ///<summary> Mouse Button Up Event.</summary>
-  EVAS_CALLBACK_MOUSE_UP,
-  ///<summary> Mouse Move Event.</summary>
-  EVAS_CALLBACK_MOUSE_MOVE,
-  ///<summary> Mouse Wheel Event.</summary>
-  EVAS_CALLBACK_MOUSE_WHEEL,
-  ///<summary> Multi-touch Down Event.</summary>
-  EVAS_CALLBACK_MULTI_DOWN,
-  ///<summary> Multi-touch Up Event.</summary>
-  EVAS_CALLBACK_MULTI_UP,
-  ///<summary> Multi-touch Move Event.</summary>
-  EVAS_CALLBACK_MULTI_MOVE,
-  ///<summary> Object Being Freed (Called after Del).</summary>
-  EVAS_CALLBACK_FREE,
-  ///<summary> Key Press Event.</summary>
-  EVAS_CALLBACK_KEY_DOWN,
-  ///<summary> Key Release Event.</summary>
-  EVAS_CALLBACK_KEY_UP,
-  ///<summary> Focus In Event.</summary>
-  EVAS_CALLBACK_FOCUS_IN,
-  ///<summary> Focus Out Event.</summary>
-  EVAS_CALLBACK_FOCUS_OUT,
-  ///<summary> Show Event.</summary>
-  EVAS_CALLBACK_SHOW,
-  ///<summary> Hide Event.</summary>
-  EVAS_CALLBACK_HIDE,
-  ///<summary> Move Event.</summary>
-  EVAS_CALLBACK_MOVE,
-  ///<summary> Resize Event.</summary>
-  EVAS_CALLBACK_RESIZE,
-  ///<summary> Restack Event.</summary>
-  EVAS_CALLBACK_RESTACK,
-  ///<summary> Object Being Deleted (called before Free).</summary>
-  EVAS_CALLBACK_DEL,
-  ///<summary> Events go on/off hold.</summary>
-  EVAS_CALLBACK_HOLD,
-  ///<summary> Size hints changed event.</summary>
-  EVAS_CALLBACK_CHANGED_SIZE_HINTS,
-  ///<summary> Image has been preloaded.</summary>
-  EVAS_CALLBACK_IMAGE_PRELOADED,
-  ///<summary> Canvas got focus as a whole.</summary>
-  EVAS_CALLBACK_CANVAS_FOCUS_IN,
-  ///<summary> Canvas lost focus as a whole.</summary>
-  EVAS_CALLBACK_CANVAS_FOCUS_OUT,
-  ///<summary>Called after render update regions have been calculated,
-  /// but only if update regions exist.</summary>
-  EVAS_CALLBACK_RENDER_FLUSH_PRE,
-  ///<summary>Called after render update regions have
-  /// been sent to the display server, but only
-  /// if update regions existed for the most recent frame.</summary>
-  EVAS_CALLBACK_RENDER_FLUSH_POST,
-  ///<summary> Canvas object got focus.</summary>
-  EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN,
-  ///<summary> Canvas object lost focus.</summary>
-  EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT,
-  ///<summary> Image data has been unloaded (by some mechanism in Evas that throw out original image data).</summary>
-  EVAS_CALLBACK_IMAGE_UNLOADED,
-  ///<summary> Called just before rendering starts on the canvas target. @since 1.2.</summary>
-  EVAS_CALLBACK_RENDER_PRE,
-  ///<summary> Called just after rendering stops on the canvas target. @since 1.2.</summary>
-  EVAS_CALLBACK_RENDER_POST,
-  ///<summary> Image size is changed. @since 1.8.</summary>
-  EVAS_CALLBACK_IMAGE_RESIZE,
-  ///<summary> Devices added, removed or changed on canvas. @since 1.8.</summary>
-  EVAS_CALLBACK_DEVICE_CHANGED,
-  ///<summary> Input device changed value on some axis. @since 1.13.</summary>
-  EVAS_CALLBACK_AXIS_UPDATE,
-  ///<summary> Canvas viewport resized. @since 1.15.</summary>
-  EVAS_CALLBACK_CANVAS_VIEWPORT_RESIZE,
-  ///<summary>Sentinel value to indicate last enum field during iteration.</summary>
-  EVAS_CALLBACK_LAST
-};
-
-}
-
-namespace elm {
-
-namespace atspi {
-public struct State_Set {
-    private ulong val;
-
-    public static implicit operator State_Set(ulong x)
-    {
-        return new State_Set{val=x};
-    }
-    public static implicit operator ulong(State_Set x)
-    {
-        return x.val;
-    }
-}
-
-[StructLayout(LayoutKind.Sequential)]
-public struct Relation_Set
-{
-    public IntPtr pointer; // list<ptr(elm.atspi.Relation)>
-}
-} // namespace atspi
-
-namespace gengrid { namespace item {
-[StructLayout(LayoutKind.Sequential)]
-public struct Class
-{
-    int version;
-    uint refcount;
-    [MarshalAsAttribute(UnmanagedType.U1)]bool delete_me;
-    IntPtr item_style;
-    IntPtr decorate_item_style;
-    IntPtr decorate_all_item_style;
-
-    // Delegates inside Elm_Gen_Item_Class_Functions
-    IntPtr text_get;
-    IntPtr content_get;
-    IntPtr state_get;
-    IntPtr del;
-    IntPtr filter_get;
-    IntPtr reusable_content_get;
-}
-} // namespace item
-} // namespace gengrid
-
-namespace genlist { namespace item {
-[StructLayout(LayoutKind.Sequential)]
-public struct Class
-{
-    int version;
-    uint refcount;
-    [MarshalAsAttribute(UnmanagedType.U1)]bool delete_me;
-    IntPtr item_style;
-    IntPtr decorate_item_style;
-    IntPtr decorate_all_item_style;
-
-    // Delegates inside Elm_Gen_Item_Class_Functions
-    IntPtr text_get;
-    IntPtr content_get;
-    IntPtr state_get;
-    IntPtr del;
-    IntPtr filter_get;
-    IntPtr reusable_content_get;
-}
-} // namespace item
-} // namespace genlist
-
-} // namespace elm
+} // namespace Evas
 
 // Global delegates
-public delegate IntPtr list_data_get_func_type(IntPtr l);
-public delegate void region_hook_func_type(IntPtr data, IntPtr obj);
-public delegate void slider_freefunc_type(IntPtr data);
-public delegate void slider_func_type(double val);
-
 public delegate int Eina_Compare_Cb(IntPtr a, IntPtr b);
-public delegate void Elm_Interface_Scrollable_Cb(IntPtr obj, IntPtr data);
-public delegate void Elm_Interface_Scrollable_Min_Limit_Cb(IntPtr obj,
+public delegate void ElmInterfaceScrollableCb(IntPtr obj, IntPtr data);
+public delegate void ElmInterfaceScrollableMinLimitCb(IntPtr obj,
                                                      [MarshalAsAttribute(UnmanagedType.U1)]bool w,
                                                      [MarshalAsAttribute(UnmanagedType.U1)]bool h);
-public delegate void Elm_Interface_Scrollable_Resize_Cb(IntPtr obj, evas.Coord w, evas.Coord h);
-public delegate void Elm_Entry_Item_Provider_Cb(IntPtr data, IntPtr obj, IntPtr item);
-public delegate void Elm_Entry_Filter_Cb(IntPtr data, IntPtr obj, IntPtr text);
-[return: MarshalAsAttribute(UnmanagedType.U1)]
-public delegate bool Elm_Multibuttonentry_Item_Filter_Cb(IntPtr obj, IntPtr item_label, IntPtr item_data, IntPtr data);
-public delegate IntPtr Elm_Multibuttonentry_Format_Cb(int count, IntPtr data);
+public delegate void ElmInterfaceScrollableResizeCb(IntPtr obj, Evas.Coord w, Evas.Coord h);
 [return: MarshalAsAttribute(UnmanagedType.U1)]
-public delegate bool Elm_Fileselector_Filter_Func(IntPtr path, [MarshalAsAttribute(UnmanagedType.U1)]bool dir, IntPtr data);
-public delegate void Evas_Smart_Cb(IntPtr data, IntPtr obj, IntPtr event_info);
-public delegate void Elm_Gesture_Event_Cb(IntPtr data, IntPtr event_info);
-public delegate void Elm_Object_Item_Signal_Cb(IntPtr data, IntPtr item, IntPtr emission, IntPtr source);
-public delegate void Elm_Tooltip_Item_Content_Cb(IntPtr data, IntPtr obj, IntPtr tooltip, IntPtr item);
-public delegate void Elm_Sys_Notify_Send_Cb(IntPtr data, uint id);
-public delegate IntPtr Elm_Calendar_Format_Cb(IntPtr format);
-
-namespace edje {
-
-public delegate void Signal_Cb(IntPtr data, IntPtr obj, IntPtr emission, IntPtr source);
-public delegate void Markup_Filter_Cb(IntPtr data, IntPtr obj, IntPtr part, IntPtr text );
-public delegate void Item_Provider_Cb(IntPtr data, IntPtr obj, IntPtr part, IntPtr item);
-// Message_Handler_Cb is now legacy
-
-namespace text {
-public delegate void Filter_Cb(IntPtr data, IntPtr obj, IntPtr part, int _type, IntPtr text);
-public delegate void Change_Cb(IntPtr data, IntPtr obj, IntPtr part);
-}
-
-
-} // namespace edje
-
-public enum Elm_Code_Status_Type {
-   ELM_CODE_STATUS_TYPE_DEFAULT = 0,
-   ELM_CODE_STATUS_TYPE_CURRENT,
-   ELM_CODE_STATUS_TYPE_IGNORED,
-   ELM_CODE_STATUS_TYPE_NOTE,
-   ELM_CODE_STATUS_TYPE_WARNING,
-   ELM_CODE_STATUS_TYPE_ERROR,
-   ELM_CODE_STATUS_TYPE_FATAL,
-
-   ELM_CODE_STATUS_TYPE_ADDED,
-   ELM_CODE_STATUS_TYPE_REMOVED,
-   ELM_CODE_STATUS_TYPE_CHANGED,
-
-   ELM_CODE_STATUS_TYPE_PASSED,
-   ELM_CODE_STATUS_TYPE_FAILED,
-
-   ELM_CODE_STATUS_TYPE_TODO,
-
-   ELM_CODE_STATUS_TYPE_COUNT
-};
-
-
-[StructLayout(LayoutKind.Sequential)]
-public struct Elm_Atspi_Action
-{
-    IntPtr name;
-    IntPtr action;
-    IntPtr param;
-    IntPtr func;
-}
-
-[StructLayout(LayoutKind.Sequential)]
-public struct Tm {
-    int tm_sec;
-    int tm_min;
-    int tm_hour;
-    int tm_mday;
-    int tm_mon;
-    int tm_year;
-    int tm_wday;
-    int tm_yday;
-    int tm_isdst;
-}
-
-public delegate IntPtr Efl_Ui_Calendar_Format_Cb(Tm stime); // struct tm as argument
+public delegate bool ElmMultibuttonentryItemFilterCb(IntPtr obj, IntPtr item_label, IntPtr item_data, IntPtr data);
+public delegate IntPtr ElmMultibuttonentryFormatCb(int count, IntPtr data);
+public delegate void EinaFreeCb(IntPtr data);
+public delegate void EvasSmartCb(IntPtr data, IntPtr obj, IntPtr event_info);
+public delegate void ElmObjectItemSignalCb(IntPtr data, IntPtr item, IntPtr emission, IntPtr source);
+public delegate void ElmTooltipItemContentCb(IntPtr data, IntPtr obj, IntPtr tooltip, IntPtr item);
index 014cb4ef66fbfa02b304c240a48f5d5b76502b03..0e4bbee8c6b4e35994a5ab837b54d5439d4cb45d 100644 (file)
@@ -391,6 +391,25 @@ ecore_ecore_ipc_server_example_CPPFLAGS = $(ECORE_COMMON_CPPFLAGS) $(AM_CPPFLAGS
 ecore_ecore_ipc_client_example_SOURCES = ecore/ecore_ipc_client_example.c
 ecore_ecore_ipc_client_example_CPPFLAGS = $(ECORE_COMMON_CPPFLAGS) $(AM_CPPFLAGS)
 
+if HAVE_CSHARP
+
+if HAVE_WIN32
+MCSFLAGS ?=
+MCSFLAGS += -define:WIN32
+endif
+
+EXTRA_PROGRAMS += \
+ecore/efl_mono_loop_timer_example
+
+ecore_efl_mono_loop_timer_example_SOURCES = \
+       ecore/efl_mono_loop_timer_example.cs
+
+ecore/efl_mono_loop_timer_example$(EXEEXT): $(ecore_efl_mono_loop_timer_example_SOURCES) $(am_dirstamp) $(top_builddir)/src/lib/efl_mono/libefl_mono.dll
+       @rm -f ecore/efl_mono_loop_timer_example$(EXEEXT)
+       $(AM_V_MCS) $(MCS) $(MCSFLAGS) -r:$(abs_top_builddir)/src/lib/efl_mono/libefl_mono.dll -out:$@ $(filter %.cs, $(^))
+
+endif
+
 
 ECORE_SRCS = \
 ecore/ecore_animator_example.c \
diff --git a/src/examples/ecore/efl_loop_callback_add_event.cs b/src/examples/ecore/efl_loop_callback_add_event.cs
deleted file mode 100644 (file)
index fe81bfd..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-using System;
-using System.Runtime.InteropServices;
-using System.Runtime.CompilerServices;
-
-class TestMain
-{
-    /* private efl.Loop loop; */
-
-    public TestMain(efl.Loop loop)
-    {
-        /* this.loop = loop; */
-    }
-
-    static void Main(string[] args)
-    {
-        efl.All.Init();
-
-        efl.Loop loop = new efl.LoopConcrete();
-
-        TestMain listener = new TestMain(loop);
-
-        loop.CALLBACK_ADD += listener.callback_added_cb;
-
-        loop.CALLBACK_ADD += listener.on_idle_enter;
-        loop.CALLBACK_ADD -= listener.on_idle_enter;
-
-        loop.IDLE += listener.on_idle_enter; // Will trigger CALLBACK_ADD
-
-        efl.All.Shutdown();
-    }
-
-    public void on_idle_enter(object sender, EventArgs e)
-    {
-        Console.WriteLine("I should not be called while the loop is not running...");
-    }
-
-    public void callback_added_cb(object sender, EventArgs e)
-    {
-        Console.WriteLine("Looks like we added a new callback.");
-    }
-}
-
-
diff --git a/src/examples/ecore/efl_loop_timer_example.cs b/src/examples/ecore/efl_loop_timer_example.cs
deleted file mode 100644 (file)
index dd6b2b8..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-using System;
-using System.Runtime.InteropServices;
-using System.Runtime.CompilerServices;
-
-class TestMain
-{
-    private efl.Loop loop;
-    private int count;
-
-    public TestMain(efl.Loop loop)
-    {
-        this.loop = loop;
-        this.count = 0;
-    }
-
-    static void Main(string[] args)
-    {
-        efl.All.Init();
-
-        efl.Loop loop = new efl.LoopConcrete();
-        efl.loop.Timer timer = new efl.loop.TimerConcrete(loop);
-
-        TestMain listener = new TestMain(loop);
-
-        Console.WriteLine("Starting MainLoop");
-
-        timer.interval_set(1.0);
-
-        timer.TICK += listener.on_tick;
-        timer.TICK += listener.another_callback;
-        timer.TICK -= listener.another_callback;
-
-        loop.begin();
-
-        efl.All.Shutdown();
-    }
-
-    public void on_tick(object sender, EventArgs e)
-    {
-        Console.WriteLine("on_tick called on listener");
-
-        if (count++ == 5)
-            loop.quit(0);
-    }
-
-    public void another_callback(object sender, EventArgs e)
-    {
-        Console.WriteLine("Ooops. Should not have been called...");
-    }
-}
-
-
diff --git a/src/examples/ecore/efl_mono_loop_timer_example.cs b/src/examples/ecore/efl_mono_loop_timer_example.cs
new file mode 100644 (file)
index 0000000..8c69275
--- /dev/null
@@ -0,0 +1,55 @@
+using System;
+using System.Runtime.InteropServices;
+using System.Runtime.CompilerServices;
+
+class TestMain
+{
+    private Efl.Loop loop;
+    private int count;
+
+    public TestMain(Efl.Loop loop)
+    {
+        this.loop = loop;
+        this.count = 0;
+    }
+
+    static void Main(string[] args)
+    {
+        Efl.All.Init();
+
+        var loop = new Efl.Loop();
+        var timer = new Efl.LoopTimer(loop, (Efl.LoopTimer t) => {
+                t.SetInterval(1.0);
+        });
+
+        TestMain listener = new TestMain(loop);
+
+        Console.WriteLine("Starting MainLoop");
+
+        timer.TickEvt += listener.on_tick;
+        timer.TickEvt += listener.another_callback;
+        timer.TickEvt -= listener.another_callback;
+
+        loop.Begin();
+
+        Efl.All.Shutdown();
+    }
+
+    public void on_tick(object sender, EventArgs e)
+    {
+        Console.WriteLine("on_tick called on listener");
+
+        if (count++ == 5) {
+            Eina.Value v = new Eina.Value(Eina.ValueType.Int32);
+            v.Set(0);
+            loop.Quit(v);
+        }
+    }
+
+    public void another_callback(object sender, EventArgs e)
+    {
+        Console.WriteLine("Ooops. Should not have been called...");
+    }
+}
+
+
index cf35ca5f3e18b508607f2176eb88b55d85c93eb5..26cff96c1a8a9fa35119911c610869b9338b7bd6 100644 (file)
@@ -1,8 +1,8 @@
 using static System.Console;
 
-class PlusTenNumberWrapper : example.NumberwrapperInherit
+class PlusTenNumberWrapper : Example.Numberwrapper
 {
-    public PlusTenNumberWrapper(efl.IObject parent = null)
+    public PlusTenNumberWrapper(Efl.Object parent = null)
         : base(parent)
     {}
 
@@ -20,8 +20,8 @@ public class ExampleEoInherit01
 {
     public static void Main()
     {
-        eina.Config.Init();
-        efl.eo.Config.Init();
+        Eina.Config.Init();
+        Efl.Eo.Config.Init();
 
         var inheritObj = new PlusTenNumberWrapper();
 
@@ -52,7 +52,7 @@ public class ExampleEoInherit01
         WriteLine("## Using original object ##\n");
 
         // Check original EFL object
-        var origObj = new example.Numberwrapper();
+        var origObj = new Example.Numberwrapper();
         given = 111;
         origObj.SetNumber(given);
         stored = origObj.GetNumber();
index c32f53cd5102c5f123b636f8acdbb69d92ef4550..3eaa29d91c1482ceb41337ab93b53f268d854985 100644 (file)
@@ -12,10 +12,10 @@ public class ExampleFunctionPointer01
 
     public static void Main()
     {
-        eina.Config.Init();
-        efl.eo.Config.Init();
+        Eina.Config.Init();
+        Efl.Eo.Config.Init();
 
-        var obj = new example.Numberwrapper();
+        var obj = new Example.Numberwrapper();
 
         // Set internal value
         obj.SetNumber(12);
index 4ac4a77812e8032f396bc7709129af5505778096..944c0bd397826a4db2ab225ce347b38ba22d7729 100644 (file)
@@ -4,7 +4,7 @@ public class ExampleEinaArray01
 {
     public static void Main()
     {
-        eina.Config.Init();
+        Eina.Config.Init();
 
         var strings = new string[]{
             "helo", "hera", "starbuck", "kat", "boomer",
@@ -13,7 +13,7 @@ public class ExampleEinaArray01
             "skulls", "bulldog", "flat top", "hammerhead", "gonzo"
         };
 
-        var array = new eina.Array<string>(20U);
+        var array = new Eina.Array<string>(20U);
 
         // Push new elements
         foreach (string s in strings)
index 395616879da5a364cd199f283b946d219b18c6df..5482328ea2a2dd026d03a1fc8c38fa73529f56d1 100644 (file)
@@ -4,11 +4,11 @@ public class ExampleEinaBinbuf01
 {
     public static void Main()
     {
-        eina.Config.Init();
+        Eina.Config.Init();
 
         var bytes = new byte[]{0, 1, 2, 3, 4, 5, 6};
 
-        var bb = new eina.Binbuf();
+        var bb = new Eina.Binbuf();
 
         // Append initial bytes
         bb.Append(bytes);
index 61af99508b4946dac1123e3a657b61e1da9b4f8e..09062717c77d953bd9a3a7384f912ea77790fb70 100644 (file)
@@ -3,73 +3,73 @@ using static System.Console;
 public class ExampleEinaError01
 {
     private static bool RegisteredErrors = false;
-    private static eina.Error MyErrorNegative;
-    private static eina.Error MyErrorNull;
+    private static Eina.Error MyErrorNegative;
+    private static Eina.Error MyErrorNull;
 
     private static void testFunc(int n, string s)
     {
         if (!RegisteredErrors)
         {
-            MyErrorNegative = eina.Error.Register("Negative number");
-            MyErrorNull = eina.Error.Register("NULL pointer");
+            MyErrorNegative = Eina.Error.Register("Negative number");
+            MyErrorNull = Eina.Error.Register("NULL pointer");
             RegisteredErrors = true;
         }
 
         if (n < 0)
         {
-            eina.Error.Set(MyErrorNegative);
+            Eina.Error.Set(MyErrorNegative);
             return;
         }
 
         if (s == null)
         {
-            eina.Error.Set(MyErrorNull);
+            Eina.Error.Set(MyErrorNull);
             return;
         }
     }
 
     public static void Main()
     {
-        eina.Config.Init();
-        efl.eo.Config.Init();
+        Eina.Config.Init();
+        Efl.Eo.Config.Init();
 
         // Handling Eina_Error with exception
         try
         {
             testFunc(-1, "abc");
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
         }
-        catch(efl.EflException e)
+        catch(Efl.EflException e)
         {
             WriteLine($"Caught error: {e.Message}");
         }
 
         // Handling Eina_Error directly
         testFunc(42, null);
-        eina.Error err = eina.Error.Get();
+        Eina.Error err = Eina.Error.Get();
         if (err != 0)
         {
             WriteLine($"Error set: {err.Message}");
         }
-        eina.Error.Clear();
+        Eina.Error.Clear();
 
         // No error set
         try
         {
             testFunc(42, "abc");
 
-            eina.Error.RaiseIfOccurred();
+            Eina.Error.RaiseIfOccurred();
 
-            err = eina.Error.Get();
-            WriteLine($"Really no error? {err == eina.Error.NO_ERROR}.");
+            err = Eina.Error.Get();
+            WriteLine($"Really no error? {err == Eina.Error.NO_ERROR}.");
         }
         catch
         {
             WriteLine("Unspected error!!!");
         }
 
-        WriteLine("No error message is empty string: \"{0}\"", eina.Error.NO_ERROR.Message);
-        WriteLine("No error message is empty string: \"{0}\"", eina.Error.MsgGet(0));
+        WriteLine("No error message is empty string: \"{0}\"", Eina.Error.NO_ERROR.Message);
+        WriteLine("No error message is empty string: \"{0}\"", Eina.Error.MsgGet(0));
     }
 }
 
index a645dde1abe96b71596f50dc55fd9dbe9951963c..31f3c152f92057cf4624ffc39dbb44baf99b24a1 100644 (file)
@@ -4,9 +4,9 @@ public class ExampleEinaHash01
 {
     public static void Main()
     {
-        eina.Config.Init();
+        Eina.Config.Init();
 
-        var phone_book = new eina.Hash<string, string>();
+        var phone_book = new Eina.Hash<string, string>();
 
         // Add initial entries to our hash
         phone_book.Add("Wolfgang Amadeus Mozart", "+01 23 456-78910");
index 62b3504fcde3a4765733fa5bbfe61a38913faf5c..3ef10cbb0e0efad088160944622288503f1665c0 100644 (file)
@@ -2,20 +2,20 @@ using System;
 
 public class Example
 {
-    public static efl.ui.IButton CreateButton(efl.IObject parent,
+    public static Efl.Ui.Button CreateButton(Efl.Object parent,
                                              string text,
                                              int w, int h,
                                              EventHandler callback) {
-        efl.ui.IButton button = new efl.ui.Button(parent);
+        Efl.Ui.Button button = new Efl.Ui.Button(parent);
         button.SetText(text);
-        button.SetSize(new eina.Size2D(w, h));
+        button.SetSize(new Eina.Size2D(w, h));
 
-        button.ClickedEvt += callback;
+        ((Efl.Ui.Clickable)button).ClickedEvt += callback;
 
         return button;
     }
 
-    public static void Formatter(eina.Strbuf buf, eina.Value val){
+    public static void Formatter(Eina.Strbuf buf, Eina.Value val){
         double ratio;
         if (val.Get(out ratio)) {
             buf.Append($"{(int)(ratio*100)}%");
@@ -34,27 +34,27 @@ public class Example
         int W = 120;
         int H = 30;
 
-        efl.All.Init(efl.Components.Ui);
+        Efl.All.Init(Efl.Components.Ui);
 
-        efl.ui.Win win = new efl.ui.Win(null);
+        Efl.Ui.Win win = new Efl.Ui.Win(null);
         win.SetText("Hello, C#!!");
         win.SetAutohide(true);
 
-        efl.ui.Box_Flow box = new efl.ui.Box_Flow(win);
+        Efl.Ui.BoxFlow box = new Efl.Ui.BoxFlow(win);
 
-        efl.ui.IButton button = CreateButton(box, "Click to exit", 120, 30,
+        Efl.Ui.Button button = CreateButton(box, "Click to exit", 120, 30,
                 (object sender, EventArgs e) => {
-                    efl.ui.Config.Exit();
+                    Efl.Ui.Config.Exit();
                 });
 
         box.DoPack(button);
 
-        efl.ui.Progressbar bar = new efl.ui.Progressbar(box);
-        bar.SetSize(new eina.Size2D(W, H));
+        Efl.Ui.Progressbar bar = new Efl.Ui.Progressbar(box);
+        bar.SetSize(new Eina.Size2D(W, H));
         bar.SetFormatCb(Formatter);
 
-        efl.ui.ISlider slider = new efl.ui.Slider(box);
-        slider.SetSize(new eina.Size2D(W, H));
+        Efl.Ui.Slider slider = new Efl.Ui.Slider(box);
+        slider.SetSize(new Eina.Size2D(W, H));
 
         slider.ChangedEvt += (object sender, EventArgs e) => {
             bar.SetRangeValue(slider.GetRangeValue());
@@ -66,12 +66,12 @@ public class Example
         button.SetVisible(true);
         box.SetVisible(true);
 
-        win.SetSize(new eina.Size2D(W, 3 * H));
+        win.SetSize(new Eina.Size2D(W, 3 * H));
         win.SetVisible(true);
 
-        efl.ui.Config.Run();
+        Efl.Ui.Config.Run();
 
-        efl.All.Shutdown();
+        Efl.All.Shutdown();
     }
 
 }
index 3f6c7abd2666718a09115617a1b59d3e95d21a95..5bbbe1723a1fe1254fd81345bc0f015391707b0a 100644 (file)
@@ -14,16 +14,16 @@ public class Example
         return miles * KMS_PER_MILE;
     }
 
-    private static void ShowErrorPopup(efl.ui.Win win, string message)
+    private static void ShowErrorPopup(Efl.Ui.Win win, string message)
     {
-        efl.ui.IAlert_Popup popup = new efl.ui.Alert_Popup(win);
-        efl.ui.Text popup_text = new efl.ui.Text(popup);
+        Efl.Ui.AlertPopup popup = new Efl.Ui.AlertPopup(win);
+        Efl.Ui.Text popup_text = new Efl.Ui.Text(popup);
         popup_text.SetText($"Error: {message}");
         popup.SetContent(popup_text);
         popup.SetVisible(true);
-        popup.SetButton(efl.ui.Alert_Popup_Button.Positive, "Ok", null);
-        popup.SetSize(new eina.Size2D(150, 30));
-        popup.ButtonClickedEvt += (object sender, efl.ui.Alert_Popup.ButtonClickedEvt_Args e) => {
+        popup.SetButton(Efl.Ui.AlertPopupButton.Positive, "Ok", null);
+        popup.SetSize(new Eina.Size2D(150, 30));
+        popup.ButtonClickedEvt += (object sender, Efl.Ui.AlertPopupButtonClickedEvt_Args e) => {
             popup.SetParent(null);
             popup.Invalidate();
         };
@@ -37,34 +37,34 @@ public class Example
     public static void Main() {
         int W = 120;
         int H = 30;
-        eina.Size2D size = new eina.Size2D(W, H);
+        Eina.Size2D size = new Eina.Size2D(W, H);
 
-        efl.All.Init(efl.Components.Ui);
+        Efl.All.Init(Efl.Components.Ui);
 
-        efl.ui.Win win = new efl.ui.Win(null);
+        Efl.Ui.Win win = new Efl.Ui.Win(null);
         win.SetText("C# Unit Converter");
         win.SetAutohide(true);
 
-        efl.ui.Box_Flow box = new efl.ui.Box_Flow(win);
-        box.SetDirection(efl.ui.Dir.Horizontal);
+        Efl.Ui.BoxFlow box = new Efl.Ui.BoxFlow(win);
+        box.SetDirection(Efl.Ui.Dir.Horizontal);
 
-        efl.ui.Box_Flow miles_box = new efl.ui.Box_Flow(box);
-        miles_box.SetDirection(efl.ui.Dir.Down);
+        Efl.Ui.BoxFlow miles_box = new Efl.Ui.BoxFlow(box);
+        miles_box.SetDirection(Efl.Ui.Dir.Down);
 
         box.DoPack(miles_box);
 
-        efl.ui.Text miles_label = new efl.ui.Text(miles_box);
+        Efl.Ui.Text miles_label = new Efl.Ui.Text(miles_box);
         miles_label.SetText("Miles:");
         miles_label.SetSize(size);
         miles_label.SetVisible(true);
 
-        efl.ui.Text_Editable miles_input = new efl.ui.Text_Editable(miles_box);
+        Efl.Ui.TextEditable miles_input = new Efl.Ui.TextEditable(miles_box);
         miles_input.SetText("");
         miles_input.SetScrollable(true);
         miles_input.SetSize(size);
         miles_input.SetVisible(true);
 
-        efl.ui.IButton miles_button = new efl.ui.Button(miles_box);
+        Efl.Ui.Button miles_button = new Efl.Ui.Button(miles_box);
         miles_button.SetText("To Km");
         miles_button.SetSize(size);
         miles_button.SetVisible(true);
@@ -74,23 +74,23 @@ public class Example
         miles_box.DoPack(miles_button);
 
 
-        efl.ui.Box_Flow kms_box = new efl.ui.Box_Flow(box);
-        kms_box.SetDirection(efl.ui.Dir.Down);
+        Efl.Ui.BoxFlow kms_box = new Efl.Ui.BoxFlow(box);
+        kms_box.SetDirection(Efl.Ui.Dir.Down);
 
         box.DoPack(kms_box);
 
-        efl.ui.Text kms_label = new efl.ui.Text(kms_box);
+        Efl.Ui.Text kms_label = new Efl.Ui.Text(kms_box);
         kms_label.SetText("Kilometers:");
         kms_label.SetSize(size);
         kms_label.SetVisible(true);
 
-        efl.ui.Text_Editable kms_input = new efl.ui.Text_Editable(kms_box);
+        Efl.Ui.TextEditable kms_input = new Efl.Ui.TextEditable(kms_box);
         kms_input.SetText("");
         kms_input.SetScrollable(true);
         kms_input.SetSize(size);
         kms_input.SetVisible(true);
 
-        efl.ui.IButton kms_button = new efl.ui.Button(kms_box);
+        Efl.Ui.Button kms_button = new Efl.Ui.Button(kms_box);
         kms_button.SetText("To Miles");
         kms_button.SetSize(size);
         kms_button.SetVisible(true);
@@ -99,7 +99,7 @@ public class Example
         kms_box.DoPack(kms_input);
         kms_box.DoPack(kms_button);
 
-        kms_button.ClickedEvt += (object sender, EventArgs e) => {
+        ((Efl.Ui.Clickable)kms_button).ClickedEvt += (object sender, EventArgs e) => {
             try
             {
                 string text = kms_input.GetText();
@@ -115,7 +115,7 @@ public class Example
             }
         };
 
-        miles_button.ClickedEvt += (object sender, EventArgs e) => {
+        ((Efl.Ui.Clickable)miles_button).ClickedEvt += (object sender, EventArgs e) => {
             try
             {
                 string text = miles_input.GetText();
@@ -134,17 +134,17 @@ public class Example
         kms_box.SetVisible(true);
         miles_box.SetVisible(true);
 
-        box.SetPosition(new eina.Position2D(20, 30));
+        box.SetPosition(new Eina.Position2D(20, 30));
         box.SetVisible(true);
 
-        win.SetPosition(new eina.Position2D(200, 200));
+        win.SetPosition(new Eina.Position2D(200, 200));
 
-        win.SetSize(new eina.Size2D(400, 120));
+        win.SetSize(new Eina.Size2D(400, 120));
         win.SetVisible(true);
 
-        efl.ui.Config.Run();
+        Efl.Ui.Config.Run();
 
-        efl.All.Shutdown();
+        Efl.All.Shutdown();
     }
 
 }
index 97c161c5365bc1a240a1d3190cece68ffe92ff39..dbfd15e372d96f71aec61516928123e3e6664798 100644 (file)
@@ -2,9 +2,9 @@ using System;
 using System.Runtime.InteropServices;
 using System.Runtime.CompilerServices;
 
-public class MyBox : evas.BoxInherit
+public class MyBox : Evas.Box
 {
-    public MyBox(efl.IObject parent) : base(parent) {}
+    public MyBox(Efl.Object parent) : base(parent) {}
 
     [DllImport("evas")] static extern void evas_obj_box_layout_vertical(IntPtr obj, IntPtr data, IntPtr privdata);
     [DllImport("evas")] static extern void evas_obj_box_layout_horizontal(IntPtr obj, IntPtr data, IntPtr privdata);
@@ -15,11 +15,11 @@ public class MyBox : evas.BoxInherit
     
     override public void CalculateGroup()
     {
-        IntPtr evas = evas_object_evas_get(raw_handle);
+        IntPtr evas = evas_object_evas_get(NativeHandle);
         evas_event_freeze(evas);
         Console.WriteLine("called group_calculate");
         /* layouting_set(true); */
-        evas_obj_box_layout_vertical(raw_handle, IntPtr.Zero, IntPtr.Zero);
+        evas_obj_box_layout_vertical(NativeHandle, IntPtr.Zero, IntPtr.Zero);
         /* layouting_set(false); */
         /* children_changed_set(false); */
         evas_event_thaw(evas);
@@ -30,21 +30,21 @@ class TestMain
 {
     static void Main(string[] args)
     {
-        efl.All.Init();
+        Efl.All.Init();
 
-        efl.Loop loop = new efl.Loop();
+        Efl.Loop loop = new Efl.Loop();
 
 
         EcoreEvas ecore_evas = new EcoreEvas();
 
-        efl.canvas.IObject canvas = ecore_evas.canvas;
+        Efl.Canvas.Object canvas = ecore_evas.canvas;
         canvas.SetVisible(true);
 
-        efl.IObject parent = canvas.GetParent();
-        System.Diagnostics.Debug.Assert(parent.raw_handle != IntPtr.Zero);
+        Efl.Object parent = canvas.GetParent();
+        System.Diagnostics.Debug.Assert(parent.NativeHandle != IntPtr.Zero);
 
-        evas.IBox box = new MyBox(canvas);
-        eina.Size2D size = new eina.Size2D();
+        Evas.Box box = new MyBox(canvas);
+        Eina.Size2D size = new Eina.Size2D();
 
         size.W = 320;
         size.H = 240;
@@ -52,7 +52,7 @@ class TestMain
         box.SetSize(size);
         box.SetVisible(true);
 
-        efl.canvas.Rectangle rect = new efl.canvas.Rectangle(canvas);
+        Efl.Canvas.Rectangle rect = new Efl.Canvas.Rectangle(canvas);
         rect.SetColor(0, 0, 255, 255);
         size.W = 320;
         size.H = 120;
@@ -60,7 +60,7 @@ class TestMain
         rect.SetVisible(true);
         box.Append(rect);
 
-        efl.canvas.Rectangle rect2 = new efl.canvas.Rectangle(canvas);
+        Efl.Canvas.Rectangle rect2 = new Efl.Canvas.Rectangle(canvas);
         rect2.SetColor(0, 255, 0, 255);
         rect2.SetSize(size);
         rect2.SetVisible(true);
@@ -68,6 +68,6 @@ class TestMain
 
         loop.Begin();
 
-        efl.All.Shutdown();
+        Efl.All.Shutdown();
     }
 }
index 47f9b360231700e7723aa8c18b52a79dbd1564a0..865aa425021fc170b02bc4fa884f95636c29d3b1 100644 (file)
@@ -6,7 +6,7 @@ class TestMain
     static int WIDTH = 320;
     static int HEIGHT = 240;
 
-    evas.IImage image;
+    Evas.Image image;
 
 
     static string ImagePath([CallerFilePath] string folder="")
@@ -14,27 +14,27 @@ class TestMain
         return System.IO.Path.GetDirectoryName(folder);
     }
 
-    public TestMain(evas.IImage image)
+    public TestMain(Evas.Image image)
     {
         this.image = image;
     }
 
     static void Main(string[] args)
     {
-        efl.All.Init();
+        Efl.All.Init();
 
-        efl.Loop loop = new efl.Loop();
+        Efl.Loop loop = new Efl.Loop();
 
         EcoreEvas ecore_evas = new EcoreEvas();
-        eina.Size2D size = new eina.Size2D();
+        Eina.Size2D size = new Eina.Size2D();
         
-        efl.canvas.IObject canvas = ecore_evas.canvas;
+        Efl.Canvas.Object canvas = ecore_evas.canvas;
         canvas.SetVisible(true);
 
-        efl.IObject parent = canvas.GetParent();
-        System.Diagnostics.Debug.Assert(parent.raw_handle != IntPtr.Zero);
+        Efl.Object parent = canvas.GetParent();
+        System.Diagnostics.Debug.Assert(parent.NativeHandle != IntPtr.Zero);
         
-        efl.canvas.Rectangle bg = new efl.canvas.Rectangle(canvas);
+        Efl.Canvas.Rectangle bg = new Efl.Canvas.Rectangle(canvas);
         bg.SetColor(255, 255, 255, 255);
         size.W = WIDTH;
         size.H = HEIGHT;
@@ -42,15 +42,15 @@ class TestMain
         bg.SetVisible(true);
 
         string valid_path = args[0];
-        evas.Image image = new evas.Image(canvas);
+        Evas.Image image = new Evas.Image(canvas);
         image.SetFile(valid_path, null);
 
         /* FIXME evas-image uses error handling code from
          * evas_object_image_load_error_get, which seems to be not available
-         * efl.image.load.State state = image.load_error_get(); */
+         * Efl.image.load.State state = image.load_error_get(); */
 
         // FIXME missing move
-        eina.Rect rect = new eina.Rect();
+        Eina.Rect rect = new Eina.Rect();
 
         rect.X = 0;
         rect.Y = 0;
@@ -75,13 +75,13 @@ class TestMain
         /* EventListener callback = new EventListener(); */
 
         /* bg.key_focus_set(true); */
-        /* bg.event_callback_priority_add(evas.Callback_Type.Key_down, */ 
-        /*         efl.Callback_Priority.Default, */
+        /* bg.event_callback_priority_add(Evas.Callback_Type.Key_down, */
+        /*         Efl.Callback_Priority.Default, */
         /*         callback, null); */
 
         loop.Begin();
 
-        efl.All.Shutdown();
+        Efl.All.Shutdown();
     }
 
     public void on_key_down(object sender, EventArgs e)
index 1f0e52ac624e020cc30765fe8be81bd7b4e0740a..0ad8fb087215a361edbdb6a54aabfda05ffa158e 100644 (file)
@@ -10,19 +10,19 @@ class TestMain
 
     static void Main(string[] args)
     {
-        efl.All.Init();
+        Efl.All.Init();
 
-        efl.Loop loop = new efl.Loop();
+        Efl.Loop loop = new Efl.Loop();
 
         EcoreEvas ecore_evas = new EcoreEvas();
 
-        eina.Size2D size = new eina.Size2D();
-        eina.Position2D pos = new eina.Position2D();
+        Eina.Size2D size = new Eina.Size2D();
+        Eina.Position2D pos = new Eina.Position2D();
         
-        efl.canvas.IObject canvas = ecore_evas.canvas;
+        Efl.Canvas.Object canvas = ecore_evas.canvas;
         canvas.SetVisible(true);
 
-        efl.canvas.Rectangle bg = new efl.canvas.Rectangle(canvas);
+        Efl.Canvas.Rectangle bg = new Efl.Canvas.Rectangle(canvas);
         bg.SetColor(255, 255, 255, 255);
         pos.X = 0;
         pos.Y = 0;
@@ -33,7 +33,7 @@ class TestMain
         bg.SetVisible(true);
 
         string path = args[0];
-        evas.Image logo = new evas.Image(canvas);
+        Evas.Image logo = new Evas.Image(canvas);
         logo.SetFillAuto(true);
 
         // TODO add preloaded support (depends on events)
@@ -53,7 +53,7 @@ class TestMain
             pixels[i] = generator.Next();
         }
 
-        evas.Image noise_img = new evas.Image(canvas);
+        Evas.Image noise_img = new Evas.Image(canvas);
         size.W = WIDTH / 4;
         size.H = HEIGHT / 4;
         noise_img.SetSize(size);
@@ -66,7 +66,7 @@ class TestMain
         noise_img.SetVisible(true);
         Console.WriteLine("Creating noise image with sizez %d, %d", WIDTH/4, HEIGHT/4);
 
-        efl.canvas.Proxy proxy_img = new efl.canvas.Proxy(canvas);
+        Efl.Canvas.Proxy proxy_img = new Efl.Canvas.Proxy(canvas);
         proxy_img.SetSource(noise_img);
         pos.X = WIDTH / 2;
         pos.Y = HEIGHT / 2;
index c31c24785e32d9b800ec93fa0f00f3f229125b1b..85afbd2e6163b8078e00f1891d224e6cd66c8dee 100644 (file)
@@ -12,28 +12,28 @@ class TestMain
     {
         int color_index = 0;
 
-        efl.All.Init();
+        Efl.All.Init();
 
-        efl.Loop loop = new efl.Loop();
+        Efl.Loop loop = new Efl.Loop();
         EcoreEvas ecore_evas = new EcoreEvas();
-        efl.canvas.IObject canvas = ecore_evas.canvas;
+        Efl.Canvas.Object canvas = ecore_evas.canvas;
         canvas.SetVisible(true);
 
-        efl.IObject parent = canvas.GetParent();
-        System.Diagnostics.Debug.Assert(parent.raw_handle != IntPtr.Zero);
+        Efl.Object parent = canvas.GetParent();
+        System.Diagnostics.Debug.Assert(parent.NativeHandle != IntPtr.Zero);
 
-        efl.canvas.Rectangle rect = new efl.canvas.Rectangle(canvas);
+        Efl.Canvas.Rectangle rect = new Efl.Canvas.Rectangle(canvas);
         rect.SetColor(colors[0, 0], colors[0, 1], colors[0, 2], 255);
-        eina.Size2D size = new eina.Size2D();
+        Eina.Size2D size = new Eina.Size2D();
         size.W = 640;
         size.H = 480;
         rect.SetSize(size);
         rect.SetVisible(true);
 
-        canvas.KeyDownEvt += (object sender, efl.input.Interface.KeyDownEvt_Args e) => {
+        canvas.KeyDownEvt += (object sender, Efl.Input.InterfaceKeyDownEvt_Args e) => {
             color_index = (color_index + 1) % 3;
             Console.WriteLine("Key Down");
-            Console.WriteLine("Got key obj at {0}", e.arg.raw_handle.ToString("X"));
+            Console.WriteLine("Got key obj at {0}", e.arg.NativeHandle.ToString("X"));
             Console.WriteLine("Got key_get() == [{0}]", e.arg.GetKey());
             rect.SetColor(colors[color_index, 0],
                           colors[color_index, 1],
@@ -42,6 +42,6 @@ class TestMain
 
         loop.Begin();
 
-        efl.All.Shutdown();
+        Efl.All.Shutdown();
     }
 }
index db329b22cde84c4beb46b784b8a22fb2f52286a9..b42057d651a16dbb05e516db159521db5ad1c09b 100644 (file)
@@ -9,37 +9,37 @@ class TestMain
 
     static void Main(string[] args)
     {
-        efl.All.Init();
+        Efl.All.Init();
 
-        efl.Loop loop = new efl.Loop();
+        Efl.Loop loop = new Efl.Loop();
 
         EcoreEvas ecore_evas = new EcoreEvas();
         
-        eina.Size2D size = new eina.Size2D();
+        Eina.Size2D size = new Eina.Size2D();
         size.W = WIDTH;
         size.H = HEIGHT;
 
-        eina.Size2D hint = new eina.Size2D();
+        Eina.Size2D hint = new Eina.Size2D();
 
-        efl.canvas.IObject canvas = ecore_evas.canvas;
+        Efl.Canvas.Object canvas = ecore_evas.canvas;
         canvas.SetVisible(true);
 
-        efl.IObject parent = canvas.GetParent();
-        System.Diagnostics.Debug.Assert(parent.raw_handle != IntPtr.Zero);
+        Efl.Object parent = canvas.GetParent();
+        System.Diagnostics.Debug.Assert(parent.NativeHandle != IntPtr.Zero);
         
-        efl.canvas.Rectangle bg = new efl.canvas.Rectangle(canvas);
+        Efl.Canvas.Rectangle bg = new Efl.Canvas.Rectangle(canvas);
         bg.SetColor(255, 255, 255, 255);
         bg.SetSize(size);
         bg.SetVisible(true);
 
 
-        evas.Table table = new evas.Table(canvas);
-        table.SetHomogeneous(evas.object_table.Homogeneous_Mode.None);
+        Evas.Table table = new Evas.Table(canvas);
+        table.SetHomogeneous(Evas.ObjectTable.HomogeneousMode.None);
         table.SetPadding(0, 0);
         table.SetSize(size);
         table.SetVisible(true);
 
-        efl.canvas.Rectangle rect = new efl.canvas.Rectangle(canvas);
+        Efl.Canvas.Rectangle rect = new Efl.Canvas.Rectangle(canvas);
         rect.SetColor(255, 0, 0, 255);
         hint.W = 100;
         hint.H = 50;
@@ -47,7 +47,7 @@ class TestMain
         rect.SetVisible(true);
         table.Pack(rect, 1, 1, 2, 1);
         
-        rect = new efl.canvas.Rectangle(canvas);
+        rect = new Efl.Canvas.Rectangle(canvas);
         rect.SetColor(0, 255, 0, 255);
         hint.W = 50;
         hint.H = 100;
@@ -55,7 +55,7 @@ class TestMain
         rect.SetVisible(true);
         table.Pack(rect, 1, 2, 1, 2);
 
-        rect = new efl.canvas.Rectangle(canvas);
+        rect = new Efl.Canvas.Rectangle(canvas);
         rect.SetColor(0, 0, 255, 255);
         hint.W = 50;
         hint.H = 50;
@@ -63,7 +63,7 @@ class TestMain
         rect.SetVisible(true);
         table.Pack(rect, 2, 2, 1, 1);
 
-        rect = new efl.canvas.Rectangle(canvas);
+        rect = new Efl.Canvas.Rectangle(canvas);
         rect.SetColor(255, 255, 0, 255);
         rect.SetHintMin(hint);
         rect.SetVisible(true);
@@ -71,7 +71,7 @@ class TestMain
         
         loop.Begin();
 
-        efl.All.Shutdown();
+        Efl.All.Shutdown();
     }
 }
 
index a1532a4583bde2bdb9368da19015ab8500859962..52b89f2f103ffcd0c7f7d53d36d68732bf1509cc 100644 (file)
@@ -22,19 +22,19 @@ class TestMain
     static int HEIGHT = 240;
 
     private EcoreEvas ecore_evas;
-    private efl.canvas.IObject canvas;
-    private efl.canvas.IRectangle bg;
-    private evas.Text text;
-    private evas.Image border;
+    private Efl.Canvas.Object canvas;
+    private Efl.Canvas.Rectangle bg;
+    private Evas.Text text;
+    private Evas.Image border;
 
     public TestMain(String border_file) {
         ecore_evas = new EcoreEvas();
-        eina.Size2D size = new eina.Size2D();
-        eina.Position2D position = new eina.Position2D();
+        Eina.Size2D size = new Eina.Size2D();
+        Eina.Position2D position = new Eina.Position2D();
         canvas = ecore_evas.canvas;
         canvas.SetVisible(true);
 
-        bg = new efl.canvas.Rectangle(canvas);
+        bg = new Efl.Canvas.Rectangle(canvas);
         bg.SetColor(255, 255, 255, 255);
         position.X = 0;
         position.Y = 0;
@@ -45,10 +45,11 @@ class TestMain
         bg.SetVisible(true);
         bg.SetKeyFocus(true);
 
+        /* ((Efl.Input.Interface)bg).KeyDownEvt += On_KeyDown; */
         bg.KeyDownEvt += On_KeyDown;
 
-        text = new evas.Text(canvas);
-        text.SetStyle(evas.Text_Style_Type.OutlineSoftShadow);
+        text = new Evas.Text(canvas);
+        text.SetStyle(Evas.TextStyleType.OutlineSoftShadow);
 
         text.SetColor(0, 0, 0, 255);
         text.SetGlowColor(255, 0, 0, 255);
@@ -65,13 +66,13 @@ class TestMain
         text.SetPosition(position);
         text.SetVisible(true);
 
-        efl.font.Size font_size = 0;
+        Efl.Font.Size font_size = 0;
         String font = String.Empty;
         text.GetFont(out font, out font_size);
         Console.WriteLine("Adding text object with font {0} and size {1}", font, size);
 
         // setup border
-        border = new evas.Image(canvas);
+        border = new Evas.Image(canvas);
         border.SetFile(border_file, null);
         border.SetBorder(3, 3, 3, 3);
         border.SetBorderCenterFill(0);
@@ -87,15 +88,15 @@ class TestMain
 
     }
 
-    private void On_KeyDown(object sender, efl.input.Interface.KeyDownEvt_Args e)
+    private void On_KeyDown(object sender, Efl.Input.InterfaceKeyDownEvt_Args e)
     {
         var key = e.arg.GetKey();
 
         if (key == "h") {
             Console.WriteLine(commands);
         } else if (key == "t") {
-            evas.Text_Style_Type type = text.GetStyle();
-            type = (evas.Text_Style_Type)(((int)type + 1) % 10); // 10 hardcoded from C example
+            Evas.TextStyleType type = text.GetStyle();
+            type = (Evas.TextStyleType)(((int)type + 1) % 10); // 10 hardcoded from C example
             text.SetStyle(type);
         }
     }
@@ -107,19 +108,19 @@ class TestMain
 
     static void Main(string[] args)
     {
-        efl.All.Init();
+        Efl.All.Init();
 
         String border_path = "./src/examples/evas/resources/images/red.png";
 
         if (args.Length >= 1)
             border_path = args[0];
 
-        efl.Loop loop = new efl.Loop();
+        Efl.Loop loop = new Efl.Loop();
         TestMain t = new TestMain(border_path);
 
         loop.Begin();
 
-        efl.All.Shutdown();
+        Efl.All.Shutdown();
     }
 }
 
index 5a4a753a61b1f73791df3da45a52227f60d852a5..513dac582be833b322d248f15af37f37dadcd9c3 100644 (file)
@@ -1129,6 +1129,22 @@ struct klass_def
 
       return ret;
   }
+
+  std::vector<event_def> get_all_events() const
+  {
+      std::vector<event_def> ret;
+
+      std::copy(events.cbegin(), events.cend(), std::back_inserter(ret));
+
+      for (auto inherit : inherits)
+        {
+           klass_def klass(get_klass(inherit, unit), unit);
+           std::copy(klass.events.cbegin(), klass.events.cend(),
+                     std::back_inserter(ret));
+        }
+
+      return ret;
+  }
 };
 
 struct value_def
index 5db27a15349cae552000221676bdd7a222dab7f5..546d7e2e53204d486d1e5becfc55c4c9c8094767 100644 (file)
@@ -11,7 +11,7 @@ class TestIntDirections
     {
         int original = 1984;
         int received;
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
 
         t.IntOut(original, out received);
 
@@ -22,7 +22,7 @@ class TestIntDirections
     {
         int original = 1984;
         int received;
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
 
         t.IntPtrOut(original, out received);
 
index f1e1dc49ffe611afcf32d660b753e6873a6ebc94..119659b923a7eccf456d5d4e8c2855e14751043b 100644 (file)
@@ -28,55 +28,55 @@ public static class BaseData
     public static readonly string[] append_seq_str = {"42","43","33"};
     public static readonly string[] modified_seq_str = {"0x0","0x2A","0x42","42","43","33"};
 
-    public static test.INumberwrapper NW(int n)
+    public static Dummy.Numberwrapper NW(int n)
     {
-        var nw = new test.Numberwrapper();
+        var nw = new Dummy.Numberwrapper();
         nw.SetNumber(n);
         return nw;
     }
 
-    public static test.INumberwrapper[] BaseSeqObj()
+    public static Dummy.Numberwrapper[] BaseSeqObj()
     {
-        var a = new test.Numberwrapper();
-        var b = new test.Numberwrapper();
-        var c = new test.Numberwrapper();
+        var a = new Dummy.Numberwrapper();
+        var b = new Dummy.Numberwrapper();
+        var c = new Dummy.Numberwrapper();
         a.SetNumber(0x0);
         b.SetNumber(0x2A);
         c.SetNumber(0x42);
-        return new test.INumberwrapper[]{a,b,c};
+        return new Dummy.Numberwrapper[]{a,b,c};
     }
 
-    public static test.Numberwrapper[] AppendSeqObj()
+    public static Dummy.Numberwrapper[] AppendSeqObj()
     {
-        var a = new test.Numberwrapper();
-        var b = new test.Numberwrapper();
-        var c = new test.Numberwrapper();
+        var a = new Dummy.Numberwrapper();
+        var b = new Dummy.Numberwrapper();
+        var c = new Dummy.Numberwrapper();
         a.SetNumber(42);
         b.SetNumber(43);
         c.SetNumber(33);
-        return new test.Numberwrapper[]{a,b,c};
+        return new Dummy.Numberwrapper[]{a,b,c};
     }
 
-    public static test.Numberwrapper[] ModifiedSeqObj()
+    public static Dummy.Numberwrapper[] ModifiedSeqObj()
     {
-        var a = new test.Numberwrapper();
-        var b = new test.Numberwrapper();
-        var c = new test.Numberwrapper();
-        var d = new test.Numberwrapper();
-        var e = new test.Numberwrapper();
-        var f = new test.Numberwrapper();
+        var a = new Dummy.Numberwrapper();
+        var b = new Dummy.Numberwrapper();
+        var c = new Dummy.Numberwrapper();
+        var d = new Dummy.Numberwrapper();
+        var e = new Dummy.Numberwrapper();
+        var f = new Dummy.Numberwrapper();
         a.SetNumber(0x0);
         b.SetNumber(0x2A);
         c.SetNumber(0x42);
         d.SetNumber(42);
         e.SetNumber(43);
         f.SetNumber(33);
-        return new test.Numberwrapper[]{a,b,c,d,e,f};
+        return new Dummy.Numberwrapper[]{a,b,c,d,e,f};
     }
 
     public static void NumberwrapperSequenceAssertEqual(
-        test.INumberwrapper[] a
-        , test.INumberwrapper[] b
+        Dummy.Numberwrapper[] a
+        , Dummy.Numberwrapper[] b
         , [CallerLineNumber] int line = 0
         , [CallerFilePath] string file = null
         , [CallerMemberName] string member = null)
@@ -91,9 +91,9 @@ public static class BaseData
     }
 }
 
-class NativeInheritImpl : test.TestingInherit
+class NativeInheritImpl : Dummy.TestObject
 {
-    public NativeInheritImpl(efl.Object parent = null) : base(parent) {}
+    public NativeInheritImpl(Efl.Object parent = null) : base(parent) {}
 
     public bool slice_in_flag = false;
     public bool rw_slice_in_flag = false;
@@ -106,13 +106,13 @@ class NativeInheritImpl : test.TestingInherit
     public bool binbuf_return_flag = false;
     public bool binbuf_return_own_flag = false;
 
-    override public bool EinaSliceIn(eina.Slice slice)
+    override public bool EinaSliceIn(Eina.Slice slice)
     {
         slice_in_flag = true;
         return slice.GetBytes().SequenceEqual(BaseSequence.Values());
     }
 
-    override public bool EinaRwSliceIn(eina.Rw_Slice slice)
+    override public bool EinaRwSliceIn(Eina.RwSlice slice)
     {
         rw_slice_in_flag = true;
         return slice.GetBytes().SequenceEqual(BaseSequence.Values());
@@ -120,7 +120,7 @@ class NativeInheritImpl : test.TestingInherit
 
     private byte[] slice_out_seq = null;
     private GCHandle slice_out_pinned;
-    override public bool EinaSliceOut(ref eina.Slice slice)
+    override public bool EinaSliceOut(ref Eina.Slice slice)
     {
         slice_out_flag = true;
 
@@ -136,7 +136,7 @@ class NativeInheritImpl : test.TestingInherit
 
     private byte[] rw_slice_out_seq = null;
     private GCHandle rw_slice_out_pinned;
-    override public bool EinaRwSliceOut(ref eina.Rw_Slice slice)
+    override public bool EinaRwSliceOut(ref Eina.RwSlice slice)
     {
         rw_slice_out_flag = true;
 
@@ -152,7 +152,7 @@ class NativeInheritImpl : test.TestingInherit
 
     // //
     //
-    override public bool EinaBinbufIn(eina.Binbuf binbuf)
+    override public bool EinaBinbufIn(Eina.Binbuf binbuf)
     {
         binbuf_in_flag = true;
 
@@ -168,8 +168,8 @@ class NativeInheritImpl : test.TestingInherit
         return r;
     }
 
-    private eina.Binbuf binbuf_in_own_binbuf = null;
-    override public bool EinaBinbufInOwn(eina.Binbuf binbuf)
+    private Eina.Binbuf binbuf_in_own_binbuf = null;
+    override public bool EinaBinbufInOwn(Eina.Binbuf binbuf)
     {
         binbuf_in_own_flag = true;
 
@@ -195,12 +195,12 @@ class NativeInheritImpl : test.TestingInherit
         return r;
     }
 
-    private eina.Binbuf binbuf_out_binbuf = null;
-    override public bool EinaBinbufOut(out eina.Binbuf binbuf)
+    private Eina.Binbuf binbuf_out_binbuf = null;
+    override public bool EinaBinbufOut(out Eina.Binbuf binbuf)
     {
         binbuf_out_flag = true;
 
-        binbuf = new eina.Binbuf();
+        binbuf = new Eina.Binbuf();
         binbuf.Append(33);
 
         binbuf_out_binbuf = binbuf;
@@ -218,12 +218,12 @@ class NativeInheritImpl : test.TestingInherit
         return r;
     }
 
-    private eina.Binbuf binbuf_out_own_binbuf = null;
-    override public bool EinaBinbufOutOwn(out eina.Binbuf binbuf)
+    private Eina.Binbuf binbuf_out_own_binbuf = null;
+    override public bool EinaBinbufOutOwn(out Eina.Binbuf binbuf)
     {
         binbuf_out_own_flag = true;
 
-        binbuf = new eina.Binbuf();
+        binbuf = new Eina.Binbuf();
         binbuf.Append(33);
 
         binbuf_out_own_binbuf = binbuf;
@@ -238,12 +238,12 @@ class NativeInheritImpl : test.TestingInherit
         return r;
     }
 
-    private eina.Binbuf binbuf_return_binbuf = null;
-    override public eina.Binbuf EinaBinbufReturn()
+    private Eina.Binbuf binbuf_return_binbuf = null;
+    override public Eina.Binbuf EinaBinbufReturn()
     {
         binbuf_return_flag = true;
 
-        var binbuf = new eina.Binbuf();
+        var binbuf = new Eina.Binbuf();
         binbuf.Append(33);
 
         binbuf_return_binbuf = binbuf;
@@ -261,12 +261,12 @@ class NativeInheritImpl : test.TestingInherit
         return r;
     }
 
-    private eina.Binbuf binbuf_return_own_binbuf = null;
-    override public eina.Binbuf EinaBinbufReturnOwn()
+    private Eina.Binbuf binbuf_return_own_binbuf = null;
+    override public Eina.Binbuf EinaBinbufReturnOwn()
     {
         binbuf_return_own_flag = true;
 
-        var binbuf = new eina.Binbuf();
+        var binbuf = new Eina.Binbuf();
         binbuf.Append(33);
 
         binbuf_return_own_binbuf = binbuf;
@@ -295,14 +295,14 @@ class TestEinaBinbuf
 
     public static void eina_binbuf_default()
     {
-        var binbuf = new eina.Binbuf();
+        var binbuf = new Eina.Binbuf();
         Test.Assert(binbuf.Handle != IntPtr.Zero);
         Test.Assert(binbuf.GetBytes().SequenceEqual(new byte[0]));
     }
 
     public static void eina_binbuf_bytes()
     {
-        var binbuf = new eina.Binbuf(test_string);
+        var binbuf = new Eina.Binbuf(test_string);
         Test.Assert(binbuf.Handle != IntPtr.Zero);
         byte[] cmp = binbuf.GetBytes();
         Test.Assert(cmp != test_string);
@@ -311,7 +311,7 @@ class TestEinaBinbuf
 
     public static void eina_binbuf_bytes_length()
     {
-        var binbuf = new eina.Binbuf(test_string, 7);
+        var binbuf = new Eina.Binbuf(test_string, 7);
         Test.Assert(binbuf.Handle != IntPtr.Zero);
         byte[] cmp = binbuf.GetBytes();
         byte[] expected = System.Text.Encoding.UTF8.GetBytes("0123456");
@@ -322,9 +322,9 @@ class TestEinaBinbuf
 
     public static void eina_binbuf_copy_ctor()
     {
-        var binbuf = new eina.Binbuf(test_string);
+        var binbuf = new Eina.Binbuf(test_string);
         Test.Assert(binbuf.Handle != IntPtr.Zero);
-        var binbuf2 = new eina.Binbuf(binbuf);
+        var binbuf2 = new Eina.Binbuf(binbuf);
         Test.Assert(binbuf2.Handle != IntPtr.Zero && binbuf.Handle != binbuf2.Handle);
         byte[] cmp = binbuf.GetBytes();
         byte[] cmp2 = binbuf2.GetBytes();
@@ -334,7 +334,7 @@ class TestEinaBinbuf
 
     public static void free_get_null_handle()
     {
-        var binbuf = new eina.Binbuf(test_string);
+        var binbuf = new Eina.Binbuf(test_string);
         Test.Assert(binbuf.Handle != IntPtr.Zero);
         binbuf.Free();
         Test.Assert(binbuf.Handle == IntPtr.Zero);
@@ -342,7 +342,7 @@ class TestEinaBinbuf
 
     public static void reset_get_empty_string()
     {
-        var binbuf = new eina.Binbuf(test_string);
+        var binbuf = new Eina.Binbuf(test_string);
         Test.Assert(binbuf.Handle != IntPtr.Zero);
         byte[] cmp = binbuf.GetBytes();
         Test.Assert(cmp != test_string);
@@ -354,7 +354,7 @@ class TestEinaBinbuf
 
     public static void append_bytes()
     {
-        var binbuf = new eina.Binbuf();
+        var binbuf = new Eina.Binbuf();
         binbuf.Append(test_string);
         byte[] cmp = binbuf.GetBytes();
         Test.Assert(cmp != test_string);
@@ -363,7 +363,7 @@ class TestEinaBinbuf
 
     public static void append_bytes_length()
     {
-        var binbuf = new eina.Binbuf();
+        var binbuf = new Eina.Binbuf();
         binbuf.Append(test_string, 7);
         byte[] cmp = binbuf.GetBytes();
         byte[] expected = System.Text.Encoding.UTF8.GetBytes("0123456");
@@ -373,9 +373,9 @@ class TestEinaBinbuf
 
     public static void append_binbuf()
     {
-        var binbuf = new eina.Binbuf();
+        var binbuf = new Eina.Binbuf();
         Test.Assert(binbuf.GetBytes().SequenceEqual(new byte[0]));
-        var binbuf2 = new eina.Binbuf(test_string);
+        var binbuf2 = new Eina.Binbuf(test_string);
         binbuf.Append(binbuf2);
         byte[] cmp = binbuf.GetBytes();
         byte[] cmp2 = binbuf2.GetBytes();
@@ -386,7 +386,7 @@ class TestEinaBinbuf
 
     public static void append_char()
     {
-        var binbuf = new eina.Binbuf();
+        var binbuf = new Eina.Binbuf();
         binbuf.Append((byte) 0);
         binbuf.Append((byte) 12);
         binbuf.Append((byte) 42);
@@ -397,7 +397,7 @@ class TestEinaBinbuf
 
     public static void remove()
     {
-        var binbuf = new eina.Binbuf(test_string);
+        var binbuf = new Eina.Binbuf(test_string);
         Test.Assert(binbuf.GetBytes().SequenceEqual(test_string));
         binbuf.Remove(2, 9);
         Test.Assert(binbuf.Handle != IntPtr.Zero);
@@ -407,14 +407,14 @@ class TestEinaBinbuf
 
     public static void get_string_native()
     {
-        var binbuf = new eina.Binbuf(test_string);
+        var binbuf = new Eina.Binbuf(test_string);
         Test.Assert(binbuf.GetBytes().SequenceEqual(test_string));
         Test.Assert(binbuf.GetStringNative() != IntPtr.Zero);
     }
 
     public static void binbuf_free_string()
     {
-        var binbuf = new eina.Binbuf(test_string);
+        var binbuf = new Eina.Binbuf(test_string);
         Test.Assert(binbuf.GetBytes().SequenceEqual(test_string));
         binbuf.FreeString();
         Test.Assert(binbuf.Handle != IntPtr.Zero);
@@ -423,15 +423,15 @@ class TestEinaBinbuf
 
     public static void binbuf_length()
     {
-        var binbuf = new eina.Binbuf(test_string, 6);
+        var binbuf = new Eina.Binbuf(test_string, 6);
         Test.Assert(binbuf.Length == 6);
         Test.Assert(binbuf.GetBytes().Length == 6);
     }
 
     public static void test_eina_binbuf_in()
     {
-        test.ITesting t = new test.Testing();
-        var binbuf = new eina.Binbuf(base_seq, (uint)base_seq.Length);
+        var t = new Dummy.TestObject();
+        var binbuf = new Eina.Binbuf(base_seq, (uint)base_seq.Length);
         Test.Assert(t.EinaBinbufIn(binbuf));
         Test.Assert(binbuf.Own);
         Test.Assert(binbuf.GetBytes().SequenceEqual(new byte[]{43,42,0x0,0x2A,0x42,33}));
@@ -441,8 +441,8 @@ class TestEinaBinbuf
 
     public static void test_eina_binbuf_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var binbuf = new eina.Binbuf(base_seq, (uint)base_seq.Length);
+        var t = new Dummy.TestObject();
+        var binbuf = new Eina.Binbuf(base_seq, (uint)base_seq.Length);
         Test.Assert(t.EinaBinbufInOwn(binbuf));
         Test.Assert(!binbuf.Own);
         Test.Assert(binbuf.GetBytes().SequenceEqual(new byte[]{43,42,0x0,0x2A,0x42,33}));
@@ -453,8 +453,8 @@ class TestEinaBinbuf
 
     public static void test_eina_binbuf_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.Binbuf binbuf;
+        var t = new Dummy.TestObject();
+        Eina.Binbuf binbuf;
         Test.Assert(t.EinaBinbufOut(out binbuf));
         Test.Assert(!binbuf.Own);
         Test.Assert(binbuf.GetBytes().SequenceEqual(new byte[]{33}));
@@ -467,8 +467,8 @@ class TestEinaBinbuf
 
     public static void test_eina_binbuf_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.Binbuf binbuf;
+        var t = new Dummy.TestObject();
+        Eina.Binbuf binbuf;
         Test.Assert(t.EinaBinbufOutOwn(out binbuf));
         Test.Assert(binbuf.Own);
         Test.Assert(binbuf.GetBytes().SequenceEqual(new byte[]{33}));
@@ -480,7 +480,7 @@ class TestEinaBinbuf
 
     public static void test_eina_binbuf_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var binbuf = t.EinaBinbufReturn();
         Test.Assert(!binbuf.Own);
         Test.Assert(binbuf.GetBytes().SequenceEqual(new byte[]{33}));
@@ -493,7 +493,7 @@ class TestEinaBinbuf
 
     public static void test_eina_binbuf_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var binbuf = t.EinaBinbufReturnOwn();
         Test.Assert(binbuf.Own);
         Test.Assert(binbuf.GetBytes().SequenceEqual(new byte[]{33}));
@@ -509,7 +509,7 @@ class TestEinaBinbuf
     public static void test_inherit_eina_binbuf_in()
     {
         var t = new NativeInheritImpl();
-        var binbuf = new eina.Binbuf(base_seq, (uint)base_seq.Length);
+        var binbuf = new Eina.Binbuf(base_seq, (uint)base_seq.Length);
         Test.Assert(t.CallEinaBinbufIn(binbuf));
         Test.Assert(t.binbuf_in_flag);
         Test.Assert(binbuf.Own);
@@ -521,7 +521,7 @@ class TestEinaBinbuf
     public static void test_inherit_eina_binbuf_in_own()
     {
         var t = new NativeInheritImpl();
-        var binbuf = new eina.Binbuf(base_seq, (uint)base_seq.Length);
+        var binbuf = new Eina.Binbuf(base_seq, (uint)base_seq.Length);
         binbuf.Own = false;
         Test.Assert(t.CallEinaBinbufInOwn(binbuf));
         Test.Assert(t.binbuf_in_own_flag);
@@ -534,7 +534,7 @@ class TestEinaBinbuf
     public static void test_inherit_eina_binbuf_out()
     {
         var t = new NativeInheritImpl();
-        eina.Binbuf binbuf = t.CallEinaBinbufOut();
+        Eina.Binbuf binbuf = t.CallEinaBinbufOut();
         Test.Assert(t.binbuf_out_flag);
         Test.Assert(binbuf.GetBytes().SequenceEqual(new byte[]{33}));
         binbuf.Reset();
@@ -547,7 +547,7 @@ class TestEinaBinbuf
     public static void test_inherit_eina_binbuf_out_own()
     {
         var t = new NativeInheritImpl();
-        eina.Binbuf binbuf = t.CallEinaBinbufOutOwn();
+        Eina.Binbuf binbuf = t.CallEinaBinbufOutOwn();
         Test.Assert(t.binbuf_out_own_flag);
         Test.Assert(binbuf.GetBytes().SequenceEqual(new byte[]{33}));
         binbuf.Reset();
@@ -592,10 +592,10 @@ class TestEinaSlice
 
     public static void eina_slice_marshalling()
     {
-        var binbuf = new eina.Binbuf(base_seq);
+        var binbuf = new Eina.Binbuf(base_seq);
         Test.Assert(binbuf.Handle != IntPtr.Zero);
 
-        eina.Slice slc = eina.Binbuf.eina_binbuf_slice_get(binbuf.Handle);
+        Eina.Slice slc = Eina.Binbuf.eina_binbuf_slice_get(binbuf.Handle);
 
         Test.Assert(slc.GetBytes().SequenceEqual(base_seq));
         Test.Assert(base_seq.Length == (int)(slc.Len));
@@ -603,21 +603,21 @@ class TestEinaSlice
 
     public static void eina_slice_size()
     {
-        Test.Assert(Marshal.SizeOf(typeof(eina.Slice)) == Marshal.SizeOf(typeof(UIntPtr)) + Marshal.SizeOf(typeof(IntPtr)));
-        Test.Assert(Marshal.SizeOf(typeof(eina.Rw_Slice)) == Marshal.SizeOf(typeof(UIntPtr)) + Marshal.SizeOf(typeof(IntPtr)));
+        Test.Assert(Marshal.SizeOf(typeof(Eina.Slice)) == Marshal.SizeOf(typeof(UIntPtr)) + Marshal.SizeOf(typeof(IntPtr)));
+        Test.Assert(Marshal.SizeOf(typeof(Eina.RwSlice)) == Marshal.SizeOf(typeof(UIntPtr)) + Marshal.SizeOf(typeof(IntPtr)));
     }
 
     public static void pinned_data_set()
     {
-        var binbuf = new eina.Binbuf();
-        binbuf.Append(new eina.Slice().PinnedDataSet(pinnedPtr, (UIntPtr)3));
+        var binbuf = new Eina.Binbuf();
+        binbuf.Append(new Eina.Slice().PinnedDataSet(pinnedPtr, (UIntPtr)3));
         Test.Assert(binbuf.GetBytes().SequenceEqual(base_seq));
     }
 
     public static void test_eina_slice_in()
     {
-        test.ITesting t = new test.Testing();
-        var slc = new eina.Slice(pinnedPtr, (UIntPtr)3);
+        var t = new Dummy.TestObject();
+        var slc = new Eina.Slice(pinnedPtr, (UIntPtr)3);
         Test.Assert(t.EinaSliceIn(slc));
     }
 
@@ -627,9 +627,9 @@ class TestEinaSlice
         GCHandle pinnedRWData = GCHandle.Alloc(rw_seq, GCHandleType.Pinned);
         IntPtr ptr = pinnedRWData.AddrOfPinnedObject();
 
-        var slc = new eina.Rw_Slice(ptr, (UIntPtr)3);
+        var slc = new Eina.RwSlice(ptr, (UIntPtr)3);
 
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         Test.Assert(t.EinaRwSliceIn(slc));
 
         Test.Assert(slc.GetBytes().SequenceEqual(new byte[3]{0x1,0x2B,0x43}));
@@ -639,8 +639,8 @@ class TestEinaSlice
 
     public static void test_eina_slice_out()
     {
-        test.ITesting t = new test.Testing();
-        var slc = new eina.Slice();
+        var t = new Dummy.TestObject();
+        var slc = new Eina.Slice();
         Test.Assert(t.EinaSliceOut(ref slc));
         Test.Assert(slc.Mem != IntPtr.Zero);
         Test.Assert(slc.Length == base_seq.Length);
@@ -649,8 +649,8 @@ class TestEinaSlice
 
     public static void test_eina_rw_slice_out()
     {
-        test.ITesting t = new test.Testing();
-        var slc = new eina.Rw_Slice();
+        var t = new Dummy.TestObject();
+        var slc = new Eina.RwSlice();
         Test.Assert(t.EinaRwSliceOut(ref slc));
         Test.Assert(slc.Mem != IntPtr.Zero);
         Test.Assert(slc.Length == base_seq.Length);
@@ -670,7 +670,7 @@ class TestEinaSlice
     public static void test_inherit_eina_slice_in()
     {
         var t = new NativeInheritImpl();
-        var slc = new eina.Slice(pinnedPtr, (UIntPtr)3);
+        var slc = new Eina.Slice(pinnedPtr, (UIntPtr)3);
         Test.Assert(t.EinaSliceIn(slc));
         Test.Assert(t.slice_in_flag);
     }
@@ -681,7 +681,7 @@ class TestEinaSlice
         GCHandle pinnedRWData = GCHandle.Alloc(rw_seq, GCHandleType.Pinned);
         IntPtr ptr = pinnedRWData.AddrOfPinnedObject();
 
-        var slc = new eina.Rw_Slice(ptr, (UIntPtr)3);
+        var slc = new Eina.RwSlice(ptr, (UIntPtr)3);
 
         var t = new NativeInheritImpl();
         Test.Assert(t.EinaRwSliceIn(slc));
@@ -695,7 +695,7 @@ class TestEinaSlice
     public static void test_inherit_eina_slice_out()
     {
         var t = new NativeInheritImpl();
-        var slc = new eina.Slice();
+        var slc = new Eina.Slice();
         Test.Assert(t.EinaSliceOut(ref slc));
         Test.Assert(t.slice_out_flag);
         Test.Assert(slc.Mem != IntPtr.Zero);
@@ -706,7 +706,7 @@ class TestEinaSlice
     public static void test_inherit_eina_rw_slice_out()
     {
         var t = new NativeInheritImpl();
-        var slc = new eina.Rw_Slice();
+        var slc = new Eina.RwSlice();
         Test.Assert(t.EinaRwSliceOut(ref slc));
         Test.Assert(t.rw_slice_out_flag);
         Test.Assert(slc.Mem != IntPtr.Zero);
@@ -719,13 +719,13 @@ class TestEinaArray
 {
     public static void eina_array_default()
     {
-        var a = new eina.Array<int>();
+        var a = new Eina.Array<int>();
         Test.Assert(a.Handle != IntPtr.Zero);
     }
 
     public static void push_int()
     {
-        var a = new eina.Array<int>();
+        var a = new Eina.Array<int>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Push(88));
         Test.Assert(a[0] == 88);
@@ -733,7 +733,7 @@ class TestEinaArray
 
     public static void push_string()
     {
-        var a = new eina.Array<string>();
+        var a = new Eina.Array<string>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Push("test string Â§Ã©Î¨Ø¨Ã¿ãƒ„"));
         Test.AssertEquals("test string Â§Ã©Î¨Ø¨Ã¿ãƒ„", a[0]);
@@ -741,18 +741,18 @@ class TestEinaArray
 
     public static void push_obj()
     {
-        var a = new eina.Array<test.INumberwrapper>();
+        var a = new Eina.Array<Dummy.Numberwrapper>();
         Test.Assert(a.Handle != IntPtr.Zero);
-        var o = new test.Numberwrapper();
+        var o = new Dummy.Numberwrapper();
         o.SetNumber(88);
         Test.Assert(a.Push(o));
-        Test.Assert(a[0].raw_handle == o.raw_handle);
+        Test.Assert(a[0].NativeHandle == o.NativeHandle);
         Test.Assert(a[0].GetNumber() == 88);
     }
 
     public static void pop_int()
     {
-        var a = new eina.Array<int>();
+        var a = new Eina.Array<int>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Push(88));
         Test.Assert(a.Pop() == 88);
@@ -761,7 +761,7 @@ class TestEinaArray
 
     public static void pop_string()
     {
-        var a = new eina.Array<string>();
+        var a = new Eina.Array<string>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Push("test string"));
         Test.Assert(a.Pop() == "test string");
@@ -770,20 +770,20 @@ class TestEinaArray
 
     public static void pop_obj()
     {
-        var a = new eina.Array<test.INumberwrapper>();
+        var a = new Eina.Array<Dummy.Numberwrapper>();
         Test.Assert(a.Handle != IntPtr.Zero);
-        var o = new test.Numberwrapper();
+        var o = new Dummy.Numberwrapper();
         o.SetNumber(88);
         Test.Assert(a.Push(o));
         var p = a.Pop();
-        Test.Assert(p.raw_handle == o.raw_handle);
+        Test.Assert(p.NativeHandle == o.NativeHandle);
         Test.Assert(p.GetNumber() == 88);
         Test.Assert(a.Count() == 0);
     }
 
     public static void data_set_int()
     {
-        var a = new eina.Array<int>();
+        var a = new Eina.Array<int>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Push(88));
         Test.Assert(a[0] == 88);
@@ -795,7 +795,7 @@ class TestEinaArray
 
     public static void data_set_string()
     {
-        var a = new eina.Array<string>();
+        var a = new Eina.Array<string>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Push("test string"));
         Test.Assert(a[0] == "test string");
@@ -807,34 +807,34 @@ class TestEinaArray
 
     public static void data_set_obj()
     {
-        var a = new eina.Array<test.INumberwrapper>();
+        var a = new Eina.Array<Dummy.Numberwrapper>();
         Test.Assert(a.Handle != IntPtr.Zero);
 
-        var o1 = new test.Numberwrapper();
+        var o1 = new Dummy.Numberwrapper();
         o1.SetNumber(88);
 
         Test.Assert(a.Push(o1));
-        Test.Assert(a[0].raw_handle == o1.raw_handle);
+        Test.Assert(a[0].NativeHandle == o1.NativeHandle);
         Test.Assert(a[0].GetNumber() == 88);
 
-        var o2 = new test.Numberwrapper();
+        var o2 = new Dummy.Numberwrapper();
         o2.SetNumber(44);
 
         a.DataSet(0, o2);
-        Test.Assert(a[0].raw_handle == o2.raw_handle);
+        Test.Assert(a[0].NativeHandle == o2.NativeHandle);
         Test.Assert(a[0].GetNumber() == 44);
 
-        var o3 = new test.Numberwrapper();
+        var o3 = new Dummy.Numberwrapper();
         o3.SetNumber(22);
 
         a[0] = o3;
-        Test.Assert(a[0].raw_handle == o3.raw_handle);
+        Test.Assert(a[0].NativeHandle == o3.NativeHandle);
         Test.Assert(a[0].GetNumber() == 22);
     }
 
     public static void count_int()
     {
-        var a = new eina.Array<int>();
+        var a = new Eina.Array<int>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Count() == 0);
         Test.Assert(a.Push(88));
@@ -850,7 +850,7 @@ class TestEinaArray
 
     public static void count_string()
     {
-        var a = new eina.Array<string>();
+        var a = new Eina.Array<string>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Count() == 0);
         Test.Assert(a.Push("a"));
@@ -866,36 +866,36 @@ class TestEinaArray
 
     public static void count_obj()
     {
-        var a = new eina.Array<test.INumberwrapper>();
+        var a = new Eina.Array<Dummy.Numberwrapper>();
         Test.Assert(a.Handle != IntPtr.Zero);
 
         Test.Assert(a.Count() == 0);
 
-        var o1 = new test.Numberwrapper();
+        var o1 = new Dummy.Numberwrapper();
         o1.SetNumber(88);
         Test.Assert(a.Push(o1));
-        Test.Assert(a[0].raw_handle == o1.raw_handle);
+        Test.Assert(a[0].NativeHandle == o1.NativeHandle);
         Test.Assert(a[0].GetNumber() == 88);
         Test.Assert(a.Count() == 1);
 
-        var o2 = new test.Numberwrapper();
+        var o2 = new Dummy.Numberwrapper();
         o2.SetNumber(44);
         Test.Assert(a.Push(o2));
-        Test.Assert(a[1].raw_handle == o2.raw_handle);
+        Test.Assert(a[1].NativeHandle == o2.NativeHandle);
         Test.Assert(a[1].GetNumber() == 44);
         Test.Assert(a.Count() == 2);
 
-        var o3 = new test.Numberwrapper();
+        var o3 = new Dummy.Numberwrapper();
         o3.SetNumber(22);
         Test.Assert(a.Push(o3));
-        Test.Assert(a[2].raw_handle == o3.raw_handle);
+        Test.Assert(a[2].NativeHandle == o3.NativeHandle);
         Test.Assert(a[2].GetNumber() == 22);
         Test.Assert(a.Count() == 3);
     }
 
     public static void length_int()
     {
-        var a = new eina.Array<int>();
+        var a = new Eina.Array<int>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Length == 0);
         Test.Assert(a.Push(88));
@@ -911,7 +911,7 @@ class TestEinaArray
 
     public static void length_string()
     {
-        var a = new eina.Array<string>();
+        var a = new Eina.Array<string>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Length == 0);
         Test.Assert(a.Push("a"));
@@ -927,7 +927,7 @@ class TestEinaArray
 
     public static void eina_array_as_ienumerable_int()
     {
-        var a = new eina.Array<int>();
+        var a = new Eina.Array<int>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Push(88));
         Test.Assert(a.Push(44));
@@ -943,7 +943,7 @@ class TestEinaArray
 
     public static void eina_array_as_ienumerable_string()
     {
-        var a = new eina.Array<string>();
+        var a = new Eina.Array<string>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Push("X"));
         Test.Assert(a.Push("XX"));
@@ -959,25 +959,25 @@ class TestEinaArray
 
     public static void eina_array_as_ienumerable_obj()
     {
-        var a = new test.Numberwrapper();
-        var b = new test.Numberwrapper();
-        var c = new test.Numberwrapper();
+        var a = new Dummy.Numberwrapper();
+        var b = new Dummy.Numberwrapper();
+        var c = new Dummy.Numberwrapper();
         a.SetNumber(88);
         b.SetNumber(44);
         c.SetNumber(22);
-        var cmp = new test.Numberwrapper[]{a,b,c};
+        var cmp = new Dummy.Numberwrapper[]{a,b,c};
 
-        var arr = new eina.Array<test.INumberwrapper>();
+        var arr = new Eina.Array<Dummy.Numberwrapper>();
         Test.Assert(arr.Handle != IntPtr.Zero);
         Test.Assert(arr.Push(a));
         Test.Assert(arr.Push(b));
         Test.Assert(arr.Push(c));
 
         int i = 0;
-        foreach (test.Numberwrapper e in arr)
+        foreach (Dummy.Numberwrapper e in arr)
         {
             Test.AssertEquals(cmp[i].GetNumber(), e.GetNumber());
-            Test.Assert(cmp[i].raw_handle == e.raw_handle);
+            Test.Assert(cmp[i].NativeHandle == e.NativeHandle);
             ++i;
         }
     }
@@ -990,8 +990,8 @@ class TestEinaArray
 
     public static void test_eina_array_int_in()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Array<int>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Array<int>();
         arr.Append(base_seq_int);
         Test.Assert(t.EinaArrayIntIn(arr));
         Test.Assert(arr.Own);
@@ -1002,8 +1002,8 @@ class TestEinaArray
 
     public static void test_eina_array_int_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Array<int>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Array<int>();
         arr.Append(base_seq_int);
         Test.Assert(t.EinaArrayIntInOwn(arr));
         Test.Assert(!arr.Own);
@@ -1015,8 +1015,8 @@ class TestEinaArray
 
     public static void test_eina_array_int_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.Array<int> arr;
+        var t = new Dummy.TestObject();
+        Eina.Array<int> arr;
         Test.Assert(t.EinaArrayIntOut(out arr));
         Test.Assert(!arr.Own);
         Test.Assert(arr.ToArray().SequenceEqual(base_seq_int));
@@ -1028,8 +1028,8 @@ class TestEinaArray
 
     public static void test_eina_array_int_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.Array<int> arr;
+        var t = new Dummy.TestObject();
+        Eina.Array<int> arr;
         Test.Assert(t.EinaArrayIntOutOwn(out arr));
         Test.Assert(arr.Own);
         Test.Assert(arr.ToArray().SequenceEqual(base_seq_int));
@@ -1040,7 +1040,7 @@ class TestEinaArray
 
     public static void test_eina_array_int_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var arr = t.EinaArrayIntReturn();
         Test.Assert(!arr.Own);
         Test.Assert(arr.ToArray().SequenceEqual(base_seq_int));
@@ -1052,7 +1052,7 @@ class TestEinaArray
 
     public static void test_eina_array_int_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var arr = t.EinaArrayIntReturnOwn();
         Test.Assert(arr.Own);
         Test.Assert(arr.ToArray().SequenceEqual(base_seq_int));
@@ -1064,8 +1064,8 @@ class TestEinaArray
     // String //
     public static void test_eina_array_str_in()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Array<string>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Array<string>();
         arr.Append(base_seq_str);
         Test.Assert(t.EinaArrayStrIn(arr));
         Test.Assert(arr.Own);
@@ -1076,8 +1076,8 @@ class TestEinaArray
 
     public static void test_eina_array_str_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Array<string>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Array<string>();
         arr.Append(base_seq_str);
         Test.Assert(t.EinaArrayStrInOwn(arr));
         Test.Assert(!arr.Own);
@@ -1089,8 +1089,8 @@ class TestEinaArray
 
     public static void test_eina_array_str_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.Array<string> arr;
+        var t = new Dummy.TestObject();
+        Eina.Array<string> arr;
         Test.Assert(t.EinaArrayStrOut(out arr));
         Test.Assert(!arr.Own);
         Test.Assert(arr.ToArray().SequenceEqual(base_seq_str));
@@ -1102,8 +1102,8 @@ class TestEinaArray
 
     public static void test_eina_array_str_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.Array<string> arr;
+        var t = new Dummy.TestObject();
+        Eina.Array<string> arr;
         Test.Assert(t.EinaArrayStrOutOwn(out arr));
         Test.Assert(arr.Own);
         Test.Assert(arr.ToArray().SequenceEqual(base_seq_str));
@@ -1114,7 +1114,7 @@ class TestEinaArray
 
     public static void test_eina_array_str_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var arr = t.EinaArrayStrReturn();
         Test.Assert(!arr.Own);
         Test.Assert(arr.ToArray().SequenceEqual(base_seq_str));
@@ -1126,7 +1126,7 @@ class TestEinaArray
 
     public static void test_eina_array_str_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var arr = t.EinaArrayStrReturnOwn();
         Test.Assert(arr.Own);
         Test.Assert(arr.ToArray().SequenceEqual(base_seq_str));
@@ -1139,8 +1139,8 @@ class TestEinaArray
 
     public static void test_eina_array_obj_in()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Array<test.INumberwrapper>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Array<Dummy.Numberwrapper>();
         arr.Append(BaseSeqObj());
         Test.Assert(t.EinaArrayObjIn(arr));
         Test.Assert(arr.Own);
@@ -1151,8 +1151,8 @@ class TestEinaArray
 
     public static void test_eina_array_obj_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Array<test.INumberwrapper>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Array<Dummy.Numberwrapper>();
         arr.Append(BaseSeqObj());
         Test.Assert(t.EinaArrayObjInOwn(arr));
         Test.Assert(!arr.Own);
@@ -1164,8 +1164,8 @@ class TestEinaArray
 
     public static void test_eina_array_obj_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.Array<test.INumberwrapper> arr;
+        var t = new Dummy.TestObject();
+        Eina.Array<Dummy.Numberwrapper> arr;
         Test.Assert(t.EinaArrayObjOut(out arr));
         Test.Assert(!arr.Own);
         NumberwrapperSequenceAssertEqual(arr.ToArray(), BaseSeqObj());
@@ -1177,8 +1177,8 @@ class TestEinaArray
 
     public static void test_eina_array_obj_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.Array<test.INumberwrapper> arr;
+        var t = new Dummy.TestObject();
+        Eina.Array<Dummy.Numberwrapper> arr;
         Test.Assert(t.EinaArrayObjOutOwn(out arr));
         Test.Assert(arr.Own);
         NumberwrapperSequenceAssertEqual(arr.ToArray(), BaseSeqObj());
@@ -1189,7 +1189,7 @@ class TestEinaArray
 
     public static void test_eina_array_obj_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var arr = t.EinaArrayObjReturn();
         Test.Assert(!arr.Own);
         NumberwrapperSequenceAssertEqual(arr.ToArray(), BaseSeqObj());
@@ -1201,7 +1201,7 @@ class TestEinaArray
 
     public static void test_eina_array_obj_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var arr = t.EinaArrayObjReturnOwn();
         Test.Assert(arr.Own);
         NumberwrapperSequenceAssertEqual(arr.ToArray(), BaseSeqObj());
@@ -1212,9 +1212,9 @@ class TestEinaArray
 
     public static void test_eina_array_obj_return_in_same_id()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var cmp = BaseSeqObj();
-        var a = new eina.Array<test.INumberwrapper>();
+        var a = new Eina.Array<Dummy.Numberwrapper>();
         a.Append(cmp);
         var b = t.EinaArrayObjReturnIn(a);
         NumberwrapperSequenceAssertEqual(a.ToArray(), b.ToArray());
@@ -1222,8 +1222,8 @@ class TestEinaArray
         int len = a.Length;
         for (int i=0; i < len; ++i)
         {
-            Test.Assert(a[i].raw_handle == b[i].raw_handle);
-            Test.Assert(a[i].raw_handle == cmp[i].raw_handle);
+            Test.Assert(a[i].NativeHandle == b[i].NativeHandle);
+            Test.Assert(a[i].NativeHandle == cmp[i].NativeHandle);
         }
     }
 
@@ -1237,14 +1237,14 @@ class TestEinaInarray
 {
     public static void eina_inarray_default()
     {
-        var a = new eina.Inarray<int>();
+        var a = new Eina.Inarray<int>();
         Test.Assert(a.Handle != IntPtr.Zero);
         a.Dispose();
     }
 
     public static void push_int()
     {
-        var a = new eina.Inarray<int>();
+        var a = new Eina.Inarray<int>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Push(88) == 0);
         Test.Assert(a[0] == 88);
@@ -1253,7 +1253,7 @@ class TestEinaInarray
 
     public static void push_string()
     {
-        var a = new eina.Inarray<string>();
+        var a = new Eina.Inarray<string>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Push("test string") == 0);
         Test.Assert(a[0] == "test string");
@@ -1262,19 +1262,19 @@ class TestEinaInarray
 
     public static void push_obj()
     {
-        var a = new eina.Inarray<test.INumberwrapper>();
+        var a = new Eina.Inarray<Dummy.Numberwrapper>();
         Test.Assert(a.Handle != IntPtr.Zero);
-        var o = new test.Numberwrapper();
+        var o = new Dummy.Numberwrapper();
         o.SetNumber(88);
         Test.Assert(a.Push(o) == 0);
-        Test.Assert(a[0].raw_handle == o.raw_handle);
+        Test.Assert(a[0].NativeHandle == o.NativeHandle);
         Test.Assert(a[0].GetNumber() == 88);
         a.Dispose();
     }
 
     public static void pop_int()
     {
-        var a = new eina.Inarray<int>();
+        var a = new Eina.Inarray<int>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Push(88) >= 0);
         Test.Assert(a.Pop() == 88);
@@ -1284,7 +1284,7 @@ class TestEinaInarray
 
     public static void pop_string()
     {
-        var a = new eina.Inarray<string>();
+        var a = new Eina.Inarray<string>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Push("test string") >= 0);
         Test.Assert(a.Pop() == "test string");
@@ -1294,13 +1294,13 @@ class TestEinaInarray
 
     public static void pop_obj()
     {
-        var a = new eina.Inarray<test.INumberwrapper>();
+        var a = new Eina.Inarray<Dummy.Numberwrapper>();
         Test.Assert(a.Handle != IntPtr.Zero);
-        var o = new test.Numberwrapper();
+        var o = new Dummy.Numberwrapper();
         o.SetNumber(88);
         Test.Assert(a.Push(o) >= 0);
         var p = a.Pop();
-        Test.Assert(p.raw_handle == o.raw_handle);
+        Test.Assert(p.NativeHandle == o.NativeHandle);
         Test.Assert(p.GetNumber() == 88);
         Test.Assert(a.Count() == 0);
         a.Dispose();
@@ -1308,7 +1308,7 @@ class TestEinaInarray
 
     public static void replace_at_int()
     {
-        var a = new eina.Inarray<int>();
+        var a = new Eina.Inarray<int>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Push(88) >= 0);
         Test.Assert(a[0] == 88);
@@ -1323,7 +1323,7 @@ class TestEinaInarray
 
     public static void replace_at_string()
     {
-        var a = new eina.Inarray<string>();
+        var a = new Eina.Inarray<string>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Push("test string") >= 0);
         Test.Assert(a[0] == "test string");
@@ -1338,29 +1338,29 @@ class TestEinaInarray
 
     public static void replace_at_obj()
     {
-        var a = new eina.Inarray<test.INumberwrapper>();
+        var a = new Eina.Inarray<Dummy.Numberwrapper>();
         Test.Assert(a.Handle != IntPtr.Zero);
 
-        var o1 = new test.Numberwrapper();
+        var o1 = new Dummy.Numberwrapper();
         o1.SetNumber(88);
 
         Test.Assert(a.Push(o1) >= 0);
-        Test.Assert(a[0].raw_handle == o1.raw_handle);
+        Test.Assert(a[0].NativeHandle == o1.NativeHandle);
         Test.Assert(a[0].GetNumber() == 88);
 
-        var o2 = new test.Numberwrapper();
+        var o2 = new Dummy.Numberwrapper();
         o2.SetNumber(44);
 
         a.ReplaceAt(0, o2);
-        Test.Assert(a[0].raw_handle == o2.raw_handle);
+        Test.Assert(a[0].NativeHandle == o2.NativeHandle);
         Test.Assert(a[0].GetNumber() == 44);
         Test.Assert(a.Count() == 1);
 
-        var o3 = new test.Numberwrapper();
+        var o3 = new Dummy.Numberwrapper();
         o3.SetNumber(22);
 
         a[0] = o3;
-        Test.Assert(a[0].raw_handle == o3.raw_handle);
+        Test.Assert(a[0].NativeHandle == o3.NativeHandle);
         Test.Assert(a[0].GetNumber() == 22);
         Test.Assert(a.Count() == 1);
 
@@ -1369,7 +1369,7 @@ class TestEinaInarray
 
     public static void count_int()
     {
-        var a = new eina.Inarray<int>();
+        var a = new Eina.Inarray<int>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Count() == 0);
         Test.Assert(a.Push(88) == 0);
@@ -1386,7 +1386,7 @@ class TestEinaInarray
 
     public static void count_string()
     {
-        var a = new eina.Inarray<string>();
+        var a = new Eina.Inarray<string>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Count() == 0);
         Test.Assert(a.Push("a") == 0);
@@ -1403,29 +1403,29 @@ class TestEinaInarray
 
     public static void count_obj()
     {
-        var a = new eina.Inarray<test.INumberwrapper>();
+        var a = new Eina.Inarray<Dummy.Numberwrapper>();
         Test.Assert(a.Handle != IntPtr.Zero);
 
         Test.Assert(a.Count() == 0);
 
-        var o1 = new test.Numberwrapper();
+        var o1 = new Dummy.Numberwrapper();
         o1.SetNumber(88);
         Test.Assert(a.Push(o1) == 0);
-        Test.Assert(a[0].raw_handle == o1.raw_handle);
+        Test.Assert(a[0].NativeHandle == o1.NativeHandle);
         Test.Assert(a[0].GetNumber() == 88);
         Test.Assert(a.Count() == 1);
 
-        var o2 = new test.Numberwrapper();
+        var o2 = new Dummy.Numberwrapper();
         o2.SetNumber(44);
         Test.Assert(a.Push(o2) == 1);
-        Test.Assert(a[1].raw_handle == o2.raw_handle);
+        Test.Assert(a[1].NativeHandle == o2.NativeHandle);
         Test.Assert(a[1].GetNumber() == 44);
         Test.Assert(a.Count() == 2);
 
-        var o3 = new test.Numberwrapper();
+        var o3 = new Dummy.Numberwrapper();
         o3.SetNumber(22);
         Test.Assert(a.Push(o3) == 2);
-        Test.Assert(a[2].raw_handle == o3.raw_handle);
+        Test.Assert(a[2].NativeHandle == o3.NativeHandle);
         Test.Assert(a[2].GetNumber() == 22);
         Test.Assert(a.Count() == 3);
 
@@ -1434,7 +1434,7 @@ class TestEinaInarray
 
     public static void length_int()
     {
-        var a = new eina.Inarray<int>();
+        var a = new Eina.Inarray<int>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Length == 0);
         Test.Assert(a.Push(88) >= 0);
@@ -1451,7 +1451,7 @@ class TestEinaInarray
 
     public static void length_string()
     {
-        var a = new eina.Inarray<string>();
+        var a = new Eina.Inarray<string>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Length == 0);
         Test.Assert(a.Push("a") >= 0);
@@ -1468,7 +1468,7 @@ class TestEinaInarray
 
     public static void eina_inarray_as_ienumerable_int()
     {
-        var a = new eina.Inarray<int>();
+        var a = new Eina.Inarray<int>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Push(88) == 0);
         Test.Assert(a.Push(44) == 1);
@@ -1485,7 +1485,7 @@ class TestEinaInarray
 
     public static void eina_inarray_as_ienumerable_string()
     {
-        var a = new eina.Inarray<string>();
+        var a = new Eina.Inarray<string>();
         Test.Assert(a.Handle != IntPtr.Zero);
         Test.Assert(a.Push("X") == 0);
         Test.Assert(a.Push("XX") == 1);
@@ -1502,25 +1502,25 @@ class TestEinaInarray
 
     public static void eina_inarray_as_ienumerable_obj()
     {
-        var a = new test.Numberwrapper();
-        var b = new test.Numberwrapper();
-        var c = new test.Numberwrapper();
+        var a = new Dummy.Numberwrapper();
+        var b = new Dummy.Numberwrapper();
+        var c = new Dummy.Numberwrapper();
         a.SetNumber(88);
         b.SetNumber(44);
         c.SetNumber(22);
-        var cmp = new test.Numberwrapper[]{a,b,c};
+        var cmp = new Dummy.Numberwrapper[]{a,b,c};
 
-        var arr = new eina.Inarray<test.INumberwrapper>();
+        var arr = new Eina.Inarray<Dummy.Numberwrapper>();
         Test.Assert(arr.Handle != IntPtr.Zero);
         Test.Assert(arr.Push(a) == 0);
         Test.Assert(arr.Push(b) == 1);
         Test.Assert(arr.Push(c) == 2);
 
         int i = 0;
-        foreach (test.Numberwrapper e in arr)
+        foreach (Dummy.Numberwrapper e in arr)
         {
             Test.AssertEquals(cmp[i].GetNumber(), e.GetNumber());
-            Test.Assert(cmp[i].raw_handle == e.raw_handle);
+            Test.Assert(cmp[i].NativeHandle == e.NativeHandle);
             ++i;
         }
         arr.Dispose();
@@ -1534,8 +1534,8 @@ class TestEinaInarray
 
     public static void test_eina_inarray_int_in()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Inarray<int>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Inarray<int>();
         arr.Append(base_seq_int);
         Test.Assert(t.EinaInarrayIntIn(arr));
         Test.Assert(arr.Own);
@@ -1546,8 +1546,8 @@ class TestEinaInarray
 
     public static void test_eina_inarray_int_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Inarray<int>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Inarray<int>();
         arr.Append(base_seq_int);
         Test.Assert(t.EinaInarrayIntInOwn(arr));
         Test.Assert(!arr.Own);
@@ -1559,8 +1559,8 @@ class TestEinaInarray
 
     public static void test_eina_inarray_int_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.Inarray<int> arr;
+        var t = new Dummy.TestObject();
+        Eina.Inarray<int> arr;
         Test.Assert(t.EinaInarrayIntOut(out arr));
         Test.Assert(!arr.Own);
         Test.Assert(arr.ToArray().SequenceEqual(base_seq_int));
@@ -1572,8 +1572,8 @@ class TestEinaInarray
 
     public static void test_eina_inarray_int_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.Inarray<int> arr;
+        var t = new Dummy.TestObject();
+        Eina.Inarray<int> arr;
         Test.Assert(t.EinaInarrayIntOutOwn(out arr));
         Test.Assert(arr.Own);
         Test.Assert(arr.ToArray().SequenceEqual(base_seq_int));
@@ -1584,7 +1584,7 @@ class TestEinaInarray
 
     public static void test_eina_inarray_int_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var arr = t.EinaInarrayIntReturn();
         Test.Assert(!arr.Own);
         Test.Assert(arr.ToArray().SequenceEqual(base_seq_int));
@@ -1596,7 +1596,7 @@ class TestEinaInarray
 
     public static void test_eina_inarray_int_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var arr = t.EinaInarrayIntReturnOwn();
         Test.Assert(arr.Own);
         Test.Assert(arr.ToArray().SequenceEqual(base_seq_int));
@@ -1608,8 +1608,8 @@ class TestEinaInarray
     // String //
     public static void test_eina_inarray_str_in()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Inarray<string>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Inarray<string>();
         arr.Append(base_seq_str);
         Test.Assert(t.EinaInarrayStrIn(arr));
         Test.Assert(arr.Own);
@@ -1620,8 +1620,8 @@ class TestEinaInarray
 
     public static void test_eina_inarray_str_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Inarray<string>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Inarray<string>();
         arr.Append(base_seq_str);
         Test.Assert(t.EinaInarrayStrInOwn(arr));
         Test.Assert(!arr.Own);
@@ -1633,8 +1633,8 @@ class TestEinaInarray
 
     public static void test_eina_inarray_str_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.Inarray<string> arr;
+        var t = new Dummy.TestObject();
+        Eina.Inarray<string> arr;
         Test.Assert(t.EinaInarrayStrOut(out arr));
         Test.Assert(!arr.Own);
         Test.Assert(arr.ToArray().SequenceEqual(base_seq_str));
@@ -1646,8 +1646,8 @@ class TestEinaInarray
 
     public static void test_eina_inarray_str_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.Inarray<string> arr;
+        var t = new Dummy.TestObject();
+        Eina.Inarray<string> arr;
         Test.Assert(t.EinaInarrayStrOutOwn(out arr));
         Test.Assert(arr.Own);
         Test.Assert(arr.ToArray().SequenceEqual(base_seq_str));
@@ -1658,7 +1658,7 @@ class TestEinaInarray
 
     public static void test_eina_inarray_str_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var arr = t.EinaInarrayStrReturn();
         Test.Assert(!arr.Own);
         Test.Assert(arr.ToArray().SequenceEqual(base_seq_str));
@@ -1670,7 +1670,7 @@ class TestEinaInarray
 
     public static void test_eina_inarray_str_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var arr = t.EinaInarrayStrReturnOwn();
         Test.Assert(arr.Own);
         Test.Assert(arr.ToArray().SequenceEqual(base_seq_str));
@@ -1683,8 +1683,8 @@ class TestEinaInarray
 
     public static void test_eina_inarray_obj_in()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Inarray<test.INumberwrapper>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Inarray<Dummy.Numberwrapper>();
         arr.Append(BaseSeqObj());
         Test.Assert(t.EinaInarrayObjIn(arr));
         Test.Assert(arr.Own);
@@ -1695,8 +1695,8 @@ class TestEinaInarray
 
     public static void test_eina_inarray_obj_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Inarray<test.INumberwrapper>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Inarray<Dummy.Numberwrapper>();
         arr.Append(BaseSeqObj());
         Test.Assert(t.EinaInarrayObjInOwn(arr));
         Test.Assert(!arr.Own);
@@ -1708,8 +1708,8 @@ class TestEinaInarray
 
     public static void test_eina_inarray_obj_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.Inarray<test.INumberwrapper> arr;
+        var t = new Dummy.TestObject();
+        Eina.Inarray<Dummy.Numberwrapper> arr;
         Test.Assert(t.EinaInarrayObjOut(out arr));
         Test.Assert(!arr.Own);
         NumberwrapperSequenceAssertEqual(arr.ToArray(), BaseSeqObj());
@@ -1721,8 +1721,8 @@ class TestEinaInarray
 
     public static void test_eina_inarray_obj_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.Inarray<test.INumberwrapper> arr;
+        var t = new Dummy.TestObject();
+        Eina.Inarray<Dummy.Numberwrapper> arr;
         Test.Assert(t.EinaInarrayObjOutOwn(out arr));
         Test.Assert(arr.Own);
         NumberwrapperSequenceAssertEqual(arr.ToArray(), BaseSeqObj());
@@ -1733,7 +1733,7 @@ class TestEinaInarray
 
     public static void test_eina_inarray_obj_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var arr = t.EinaInarrayObjReturn();
         Test.Assert(!arr.Own);
         NumberwrapperSequenceAssertEqual(arr.ToArray(), BaseSeqObj());
@@ -1745,7 +1745,7 @@ class TestEinaInarray
 
     public static void test_eina_inarray_obj_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var arr = t.EinaInarrayObjReturnOwn();
         Test.Assert(arr.Own);
         NumberwrapperSequenceAssertEqual(arr.ToArray(), BaseSeqObj());
@@ -1756,9 +1756,9 @@ class TestEinaInarray
 
     public static void test_eina_inarray_obj_return_in_same_id()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var cmp = BaseSeqObj();
-        var a = new eina.Inarray<test.INumberwrapper>();
+        var a = new Eina.Inarray<Dummy.Numberwrapper>();
         a.Append(cmp);
         var b = t.EinaInarrayObjReturnIn(a);
         NumberwrapperSequenceAssertEqual(a.ToArray(), b.ToArray());
@@ -1766,8 +1766,8 @@ class TestEinaInarray
         int len = a.Length;
         for (int i=0; i < len; ++i)
         {
-            Test.Assert(a[i].raw_handle == b[i].raw_handle);
-            Test.Assert(a[i].raw_handle == cmp[i].raw_handle);
+            Test.Assert(a[i].NativeHandle == b[i].NativeHandle);
+            Test.Assert(a[i].NativeHandle == cmp[i].NativeHandle);
         }
         a.Dispose();
     }
@@ -1777,7 +1777,7 @@ class TestEinaList
 {
     public static void data_set_int()
     {
-        var lst = new eina.List<int>();
+        var lst = new Eina.List<int>();
         lst.Append(88);
         Test.Assert(lst[0] == 88);
         lst.DataSet(0, 44);
@@ -1788,7 +1788,7 @@ class TestEinaList
 
     public static void data_set_string()
     {
-        var lst = new eina.List<string>();
+        var lst = new Eina.List<string>();
         lst.Append("test string");
         Test.Assert(lst[0] == "test string");
         lst.DataSet(0, "other string");
@@ -1799,33 +1799,33 @@ class TestEinaList
 
     public static void data_set_obj()
     {
-        var lst = new eina.List<test.INumberwrapper>();
+        var lst = new Eina.List<Dummy.Numberwrapper>();
 
-        var o1 = new test.Numberwrapper();
+        var o1 = new Dummy.Numberwrapper();
         o1.SetNumber(88);
 
         lst.Append(o1);
-        Test.Assert(lst[0].raw_handle == o1.raw_handle);
+        Test.Assert(lst[0].NativeHandle == o1.NativeHandle);
         Test.Assert(lst[0].GetNumber() == 88);
 
-        var o2 = new test.Numberwrapper();
+        var o2 = new Dummy.Numberwrapper();
         o2.SetNumber(44);
 
         lst.DataSet(0, o2);
-        Test.Assert(lst[0].raw_handle == o2.raw_handle);
+        Test.Assert(lst[0].NativeHandle == o2.NativeHandle);
         Test.Assert(lst[0].GetNumber() == 44);
 
-        var o3 = new test.Numberwrapper();
+        var o3 = new Dummy.Numberwrapper();
         o3.SetNumber(22);
 
         lst[0] = o3;
-        Test.Assert(lst[0].raw_handle == o3.raw_handle);
+        Test.Assert(lst[0].NativeHandle == o3.NativeHandle);
         Test.Assert(lst[0].GetNumber() == 22);
     }
 
     public static void append_count_int()
     {
-        var lst = new eina.List<int>();
+        var lst = new Eina.List<int>();
         Test.Assert(lst.Count() == 0);
         lst.Append(88);
         Test.Assert(lst[0] == 88);
@@ -1840,7 +1840,7 @@ class TestEinaList
 
     public static void append_count_string()
     {
-        var lst = new eina.List<string>();
+        var lst = new Eina.List<string>();
         Test.Assert(lst.Count() == 0);
         lst.Append("a");
         Test.Assert(lst[0] == "a");
@@ -1855,35 +1855,35 @@ class TestEinaList
 
     public static void append_count_obj()
     {
-        var lst = new eina.List<test.INumberwrapper>();
+        var lst = new Eina.List<Dummy.Numberwrapper>();
 
         Test.Assert(lst.Count() == 0);
 
-        var o1 = new test.Numberwrapper();
+        var o1 = new Dummy.Numberwrapper();
         o1.SetNumber(88);
         lst.Append(o1);
-        Test.Assert(lst[0].raw_handle == o1.raw_handle);
+        Test.Assert(lst[0].NativeHandle == o1.NativeHandle);
         Test.Assert(lst[0].GetNumber() == 88);
         Test.Assert(lst.Count() == 1);
 
-        var o2 = new test.Numberwrapper();
+        var o2 = new Dummy.Numberwrapper();
         o2.SetNumber(44);
         lst.Append(o2);
-        Test.Assert(lst[1].raw_handle == o2.raw_handle);
+        Test.Assert(lst[1].NativeHandle == o2.NativeHandle);
         Test.Assert(lst[1].GetNumber() == 44);
         Test.Assert(lst.Count() == 2);
 
-        var o3 = new test.Numberwrapper();
+        var o3 = new Dummy.Numberwrapper();
         o3.SetNumber(22);
         lst.Append(o3);
-        Test.Assert(lst[2].raw_handle == o3.raw_handle);
+        Test.Assert(lst[2].NativeHandle == o3.NativeHandle);
         Test.Assert(lst[2].GetNumber() == 22);
         Test.Assert(lst.Count() == 3);
     }
 
     public static void length_int()
     {
-        var lst = new eina.List<int>();
+        var lst = new Eina.List<int>();
         Test.Assert(lst.Length == 0);
         lst.Append(88);
         Test.Assert(lst[0] == 88);
@@ -1898,7 +1898,7 @@ class TestEinaList
 
     public static void length_string()
     {
-        var lst = new eina.List<string>();
+        var lst = new Eina.List<string>();
         Test.Assert(lst.Length == 0);
         lst.Append("a");
         Test.Assert(lst[0] == "a");
@@ -1913,7 +1913,7 @@ class TestEinaList
 
     public static void prepend_count_int()
     {
-        var lst = new eina.List<int>();
+        var lst = new Eina.List<int>();
         Test.Assert(lst.Count() == 0);
         lst.Prepend(88);
         Test.Assert(lst[0] == 88);
@@ -1928,7 +1928,7 @@ class TestEinaList
 
     public static void prepend_count_string()
     {
-        var lst = new eina.List<string>();
+        var lst = new Eina.List<string>();
         Test.Assert(lst.Count() == 0);
         lst.Prepend("a");
         Test.Assert(lst[0] == "a");
@@ -1943,35 +1943,35 @@ class TestEinaList
 
     public static void prepend_count_obj()
     {
-        var lst = new eina.List<test.INumberwrapper>();
+        var lst = new Eina.List<Dummy.Numberwrapper>();
 
         Test.Assert(lst.Count() == 0);
 
-        var o1 = new test.Numberwrapper();
+        var o1 = new Dummy.Numberwrapper();
         o1.SetNumber(88);
         lst.Prepend(o1);
-        Test.Assert(lst[0].raw_handle == o1.raw_handle);
+        Test.Assert(lst[0].NativeHandle == o1.NativeHandle);
         Test.Assert(lst[0].GetNumber() == 88);
         Test.Assert(lst.Count() == 1);
 
-        var o2 = new test.Numberwrapper();
+        var o2 = new Dummy.Numberwrapper();
         o2.SetNumber(44);
         lst.Prepend(o2);
-        Test.Assert(lst[0].raw_handle == o2.raw_handle);
+        Test.Assert(lst[0].NativeHandle == o2.NativeHandle);
         Test.Assert(lst[0].GetNumber() == 44);
         Test.Assert(lst.Count() == 2);
 
-        var o3 = new test.Numberwrapper();
+        var o3 = new Dummy.Numberwrapper();
         o3.SetNumber(22);
         lst.Prepend(o3);
-        Test.Assert(lst[0].raw_handle == o3.raw_handle);
+        Test.Assert(lst[0].NativeHandle == o3.NativeHandle);
         Test.Assert(lst[0].GetNumber() == 22);
         Test.Assert(lst.Count() == 3);
     }
 
     public static void sorted_insert_int()
     {
-        var lst = new eina.List<int>();
+        var lst = new Eina.List<int>();
         lst.SortedInsert(88);
         Test.Assert(lst.ToArray().SequenceEqual(new int[]{88}));
         lst.SortedInsert(22);
@@ -1983,7 +1983,7 @@ class TestEinaList
 
     public static void sorted_insert_string()
     {
-        var lst = new eina.List<string>();
+        var lst = new Eina.List<string>();
         lst.SortedInsert("c");
         Test.Assert(lst.ToArray().SequenceEqual(new string[]{"c"}));
         lst.SortedInsert("a");
@@ -1995,7 +1995,7 @@ class TestEinaList
 
     public static void sort_int()
     {
-        var lst = new eina.List<int>();
+        var lst = new Eina.List<int>();
         lst.Append(88);
         lst.Append(22);
         lst.Append(11);
@@ -2008,7 +2008,7 @@ class TestEinaList
 
     public static void sort_string()
     {
-        var lst = new eina.List<string>();
+        var lst = new Eina.List<string>();
         lst.Append("d");
         lst.Append("b");
         lst.Append("a");
@@ -2020,7 +2020,7 @@ class TestEinaList
 
     public static void reverse_int()
     {
-        var lst = new eina.List<int>();
+        var lst = new Eina.List<int>();
         lst.Append(22);
         lst.Append(44);
         lst.Append(88);
@@ -2032,7 +2032,7 @@ class TestEinaList
 
     public static void reverse_string()
     {
-        var lst = new eina.List<string>();
+        var lst = new Eina.List<string>();
         lst.Append("a");
         lst.Append("b");
         lst.Append("c");
@@ -2043,7 +2043,7 @@ class TestEinaList
 
     public static void eina_list_as_ienumerable_int()
     {
-        var lst = new eina.List<int>();
+        var lst = new Eina.List<int>();
         lst.Append(88);
         lst.Append(44);
         lst.Append(22);
@@ -2058,7 +2058,7 @@ class TestEinaList
 
     public static void eina_list_as_ienumerable_string()
     {
-        var lst = new eina.List<string>();
+        var lst = new Eina.List<string>();
         lst.Append("X");
         lst.Append("XX");
         lst.Append("XXX");
@@ -2073,24 +2073,24 @@ class TestEinaList
 
     public static void eina_list_as_ienumerable_obj()
     {
-        var a = new test.Numberwrapper();
-        var b = new test.Numberwrapper();
-        var c = new test.Numberwrapper();
+        var a = new Dummy.Numberwrapper();
+        var b = new Dummy.Numberwrapper();
+        var c = new Dummy.Numberwrapper();
         a.SetNumber(88);
         b.SetNumber(44);
         c.SetNumber(22);
-        var cmp = new test.Numberwrapper[]{a,b,c};
+        var cmp = new Dummy.Numberwrapper[]{a,b,c};
 
-        var lst = new eina.List<test.INumberwrapper>();
+        var lst = new Eina.List<Dummy.Numberwrapper>();
         lst.Append(a);
         lst.Append(b);
         lst.Append(c);
 
         int i = 0;
-        foreach (test.Numberwrapper e in lst)
+        foreach (Dummy.Numberwrapper e in lst)
         {
             Test.AssertEquals(cmp[i].GetNumber(), e.GetNumber());
-            Test.Assert(cmp[i].raw_handle == e.raw_handle);
+            Test.Assert(cmp[i].NativeHandle == e.NativeHandle);
             ++i;
         }
     }
@@ -2103,8 +2103,8 @@ class TestEinaList
 
     public static void test_eina_list_int_in()
     {
-        test.ITesting t = new test.Testing();
-        var lst = new eina.List<int>();
+        var t = new Dummy.TestObject();
+        var lst = new Eina.List<int>();
         lst.AppendArray(base_seq_int);
         Test.Assert(t.EinaListIntIn(lst));
         Test.Assert(lst.Own);
@@ -2115,8 +2115,8 @@ class TestEinaList
 
     public static void test_eina_list_int_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var lst = new eina.List<int>();
+        var t = new Dummy.TestObject();
+        var lst = new Eina.List<int>();
         lst.AppendArray(base_seq_int);
         Test.Assert(t.EinaListIntInOwn(lst));
         Test.Assert(!lst.Own);
@@ -2127,8 +2127,8 @@ class TestEinaList
 
     public static void test_eina_list_int_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.List<int> lst;
+        var t = new Dummy.TestObject();
+        Eina.List<int> lst;
         Test.Assert(t.EinaListIntOut(out lst));
         Test.Assert(!lst.Own);
         Test.Assert(lst.ToArray().SequenceEqual(base_seq_int));
@@ -2139,8 +2139,8 @@ class TestEinaList
 
     public static void test_eina_list_int_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.List<int> lst;
+        var t = new Dummy.TestObject();
+        Eina.List<int> lst;
         Test.Assert(t.EinaListIntOutOwn(out lst));
         Test.Assert(lst.Own);
         Test.Assert(lst.ToArray().SequenceEqual(base_seq_int));
@@ -2151,7 +2151,7 @@ class TestEinaList
 
     public static void test_eina_list_int_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var lst = t.EinaListIntReturn();
         Test.Assert(!lst.Own);
         Test.Assert(lst.ToArray().SequenceEqual(base_seq_int));
@@ -2162,7 +2162,7 @@ class TestEinaList
 
     public static void test_eina_list_int_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var lst = t.EinaListIntReturnOwn();
         Test.Assert(lst.Own);
         Test.Assert(lst.ToArray().SequenceEqual(base_seq_int));
@@ -2174,8 +2174,8 @@ class TestEinaList
     // String //
     public static void test_eina_list_str_in()
     {
-        test.ITesting t = new test.Testing();
-        var lst = new eina.List<string>();
+        var t = new Dummy.TestObject();
+        var lst = new Eina.List<string>();
         lst.AppendArray(base_seq_str);
         Test.Assert(t.EinaListStrIn(lst));
         Test.Assert(lst.Own);
@@ -2186,8 +2186,8 @@ class TestEinaList
 
     public static void test_eina_list_str_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var lst = new eina.List<string>();
+        var t = new Dummy.TestObject();
+        var lst = new Eina.List<string>();
         lst.AppendArray(base_seq_str);
         Test.Assert(t.EinaListStrInOwn(lst));
         Test.Assert(!lst.Own);
@@ -2198,8 +2198,8 @@ class TestEinaList
 
     public static void test_eina_list_str_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.List<string> lst;
+        var t = new Dummy.TestObject();
+        Eina.List<string> lst;
         Test.Assert(t.EinaListStrOut(out lst));
         Test.Assert(!lst.Own);
         Test.Assert(lst.ToArray().SequenceEqual(base_seq_str));
@@ -2210,8 +2210,8 @@ class TestEinaList
 
     public static void test_eina_list_str_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.List<string> lst;
+        var t = new Dummy.TestObject();
+        Eina.List<string> lst;
         Test.Assert(t.EinaListStrOutOwn(out lst));
         Test.Assert(lst.Own);
         Test.Assert(lst.ToArray().SequenceEqual(base_seq_str));
@@ -2222,7 +2222,7 @@ class TestEinaList
 
     public static void test_eina_list_str_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var lst = t.EinaListStrReturn();
         Test.Assert(!lst.Own);
         Test.Assert(lst.ToArray().SequenceEqual(base_seq_str));
@@ -2233,7 +2233,7 @@ class TestEinaList
 
     public static void test_eina_list_str_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var lst = t.EinaListStrReturnOwn();
         Test.Assert(lst.Own);
         Test.Assert(lst.ToArray().SequenceEqual(base_seq_str));
@@ -2246,8 +2246,8 @@ class TestEinaList
 
     public static void test_eina_list_obj_in()
     {
-        test.ITesting t = new test.Testing();
-        var lst = new eina.List<test.INumberwrapper>();
+        var t = new Dummy.TestObject();
+        var lst = new Eina.List<Dummy.Numberwrapper>();
         lst.AppendArray(BaseSeqObj());
         Test.Assert(t.EinaListObjIn(lst));
         Test.Assert(lst.Own);
@@ -2258,8 +2258,8 @@ class TestEinaList
 
     public static void test_eina_list_obj_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var lst = new eina.List<test.INumberwrapper>();
+        var t = new Dummy.TestObject();
+        var lst = new Eina.List<Dummy.Numberwrapper>();
         lst.AppendArray(BaseSeqObj());
         Test.Assert(t.EinaListObjInOwn(lst));
         Test.Assert(!lst.Own);
@@ -2270,8 +2270,8 @@ class TestEinaList
 
     public static void test_eina_list_obj_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.List<test.INumberwrapper> lst;
+        var t = new Dummy.TestObject();
+        Eina.List<Dummy.Numberwrapper> lst;
         Test.Assert(t.EinaListObjOut(out lst));
         Test.Assert(!lst.Own);
         NumberwrapperSequenceAssertEqual(lst.ToArray(), BaseSeqObj());
@@ -2282,8 +2282,8 @@ class TestEinaList
 
     public static void test_eina_list_obj_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.List<test.INumberwrapper> lst;
+        var t = new Dummy.TestObject();
+        Eina.List<Dummy.Numberwrapper> lst;
         Test.Assert(t.EinaListObjOutOwn(out lst));
         Test.Assert(lst.Own);
         NumberwrapperSequenceAssertEqual(lst.ToArray(), BaseSeqObj());
@@ -2294,7 +2294,7 @@ class TestEinaList
 
     public static void test_eina_list_obj_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var lst = t.EinaListObjReturn();
         Test.Assert(!lst.Own);
         NumberwrapperSequenceAssertEqual(lst.ToArray(), BaseSeqObj());
@@ -2305,7 +2305,7 @@ class TestEinaList
 
     public static void test_eina_list_obj_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var lst = t.EinaListObjReturnOwn();
         Test.Assert(lst.Own);
         NumberwrapperSequenceAssertEqual(lst.ToArray(), BaseSeqObj());
@@ -2316,9 +2316,9 @@ class TestEinaList
 
     public static void test_eina_list_obj_return_in_same_id()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var cmp = BaseSeqObj();
-        var a = new eina.List<test.INumberwrapper>();
+        var a = new Eina.List<Dummy.Numberwrapper>();
         a.AppendArray(cmp);
         var b = t.EinaListObjReturnIn(a);
         NumberwrapperSequenceAssertEqual(a.ToArray(), b.ToArray());
@@ -2326,8 +2326,8 @@ class TestEinaList
         int len = a.Length;
         for (int i=0; i < len; ++i)
         {
-            Test.Assert(a[i].raw_handle == b[i].raw_handle);
-            Test.Assert(a[i].raw_handle == cmp[i].raw_handle);
+            Test.Assert(a[i].NativeHandle == b[i].NativeHandle);
+            Test.Assert(a[i].NativeHandle == cmp[i].NativeHandle);
         }
     }
 }
@@ -2336,7 +2336,7 @@ class TestEinaInlist
 {
     public static void data_set_int()
     {
-        var lst = new eina.Inlist<int>();
+        var lst = new Eina.Inlist<int>();
         lst.Append(88);
         Test.Assert(lst[0] == 88);
         lst.DataSet(0, 44);
@@ -2348,7 +2348,7 @@ class TestEinaInlist
 
     public static void data_set_string()
     {
-        var lst = new eina.Inlist<string>();
+        var lst = new Eina.Inlist<string>();
         lst.Append("test string");
         Test.Assert(lst[0] == "test string");
         lst.DataSet(0, "other string");
@@ -2360,27 +2360,27 @@ class TestEinaInlist
 
     public static void data_set_obj()
     {
-        var lst = new eina.Inlist<test.INumberwrapper>();
+        var lst = new Eina.Inlist<Dummy.Numberwrapper>();
 
-        var o1 = new test.Numberwrapper();
+        var o1 = new Dummy.Numberwrapper();
         o1.SetNumber(88);
 
         lst.Append(o1);
-        Test.Assert(lst[0].raw_handle == o1.raw_handle);
+        Test.Assert(lst[0].NativeHandle == o1.NativeHandle);
         Test.Assert(lst[0].GetNumber() == 88);
 
-        var o2 = new test.Numberwrapper();
+        var o2 = new Dummy.Numberwrapper();
         o2.SetNumber(44);
 
         lst.DataSet(0, o2);
-        Test.Assert(lst[0].raw_handle == o2.raw_handle);
+        Test.Assert(lst[0].NativeHandle == o2.NativeHandle);
         Test.Assert(lst[0].GetNumber() == 44);
 
-        var o3 = new test.Numberwrapper();
+        var o3 = new Dummy.Numberwrapper();
         o3.SetNumber(22);
 
         lst[0] = o3;
-        Test.Assert(lst[0].raw_handle == o3.raw_handle);
+        Test.Assert(lst[0].NativeHandle == o3.NativeHandle);
         Test.Assert(lst[0].GetNumber() == 22);
 
         Test.Assert(lst.Count() == 1);
@@ -2388,7 +2388,7 @@ class TestEinaInlist
 
     public static void append_count_int()
     {
-        var lst = new eina.Inlist<int>();
+        var lst = new Eina.Inlist<int>();
         Test.Assert(lst.Count() == 0);
         lst.Append(88);
         Test.Assert(lst[0] == 88);
@@ -2403,7 +2403,7 @@ class TestEinaInlist
 
     public static void append_count_string()
     {
-        var lst = new eina.Inlist<string>();
+        var lst = new Eina.Inlist<string>();
         Test.Assert(lst.Count() == 0);
         lst.Append("a");
         Test.Assert(lst[0] == "a");
@@ -2418,35 +2418,35 @@ class TestEinaInlist
 
     public static void append_count_obj()
     {
-        var lst = new eina.Inlist<test.INumberwrapper>();
+        var lst = new Eina.Inlist<Dummy.Numberwrapper>();
 
         Test.Assert(lst.Count() == 0);
 
-        var o1 = new test.Numberwrapper();
+        var o1 = new Dummy.Numberwrapper();
         o1.SetNumber(88);
         lst.Append(o1);
-        Test.Assert(lst[0].raw_handle == o1.raw_handle);
+        Test.Assert(lst[0].NativeHandle == o1.NativeHandle);
         Test.Assert(lst[0].GetNumber() == 88);
         Test.Assert(lst.Count() == 1);
 
-        var o2 = new test.Numberwrapper();
+        var o2 = new Dummy.Numberwrapper();
         o2.SetNumber(44);
         lst.Append(o2);
-        Test.Assert(lst[1].raw_handle == o2.raw_handle);
+        Test.Assert(lst[1].NativeHandle == o2.NativeHandle);
         Test.Assert(lst[1].GetNumber() == 44);
         Test.Assert(lst.Count() == 2);
 
-        var o3 = new test.Numberwrapper();
+        var o3 = new Dummy.Numberwrapper();
         o3.SetNumber(22);
         lst.Append(o3);
-        Test.Assert(lst[2].raw_handle == o3.raw_handle);
+        Test.Assert(lst[2].NativeHandle == o3.NativeHandle);
         Test.Assert(lst[2].GetNumber() == 22);
         Test.Assert(lst.Count() == 3);
     }
 
     public static void length_int()
     {
-        var lst = new eina.Inlist<int>();
+        var lst = new Eina.Inlist<int>();
         Test.Assert(lst.Length == 0);
         lst.Append(88);
         Test.Assert(lst[0] == 88);
@@ -2461,7 +2461,7 @@ class TestEinaInlist
 
     public static void length_string()
     {
-        var lst = new eina.Inlist<string>();
+        var lst = new Eina.Inlist<string>();
         Test.Assert(lst.Length == 0);
         lst.Append("a");
         Test.Assert(lst[0] == "a");
@@ -2476,7 +2476,7 @@ class TestEinaInlist
 
     public static void prepend_count_int()
     {
-        var lst = new eina.Inlist<int>();
+        var lst = new Eina.Inlist<int>();
         Test.Assert(lst.Count() == 0);
         lst.Prepend(88);
         Test.Assert(lst[0] == 88);
@@ -2491,7 +2491,7 @@ class TestEinaInlist
 
     public static void prepend_count_string()
     {
-        var lst = new eina.Inlist<string>();
+        var lst = new Eina.Inlist<string>();
         Test.Assert(lst.Count() == 0);
         lst.Prepend("a");
         Test.Assert(lst[0] == "a");
@@ -2506,35 +2506,35 @@ class TestEinaInlist
 
     public static void prepend_count_obj()
     {
-        var lst = new eina.Inlist<test.INumberwrapper>();
+        var lst = new Eina.Inlist<Dummy.Numberwrapper>();
 
         Test.Assert(lst.Count() == 0);
 
-        var o1 = new test.Numberwrapper();
+        var o1 = new Dummy.Numberwrapper();
         o1.SetNumber(88);
         lst.Prepend(o1);
-        Test.Assert(lst[0].raw_handle == o1.raw_handle);
+        Test.Assert(lst[0].NativeHandle == o1.NativeHandle);
         Test.Assert(lst[0].GetNumber() == 88);
         Test.Assert(lst.Count() == 1);
 
-        var o2 = new test.Numberwrapper();
+        var o2 = new Dummy.Numberwrapper();
         o2.SetNumber(44);
         lst.Prepend(o2);
-        Test.Assert(lst[0].raw_handle == o2.raw_handle);
+        Test.Assert(lst[0].NativeHandle == o2.NativeHandle);
         Test.Assert(lst[0].GetNumber() == 44);
         Test.Assert(lst.Count() == 2);
 
-        var o3 = new test.Numberwrapper();
+        var o3 = new Dummy.Numberwrapper();
         o3.SetNumber(22);
         lst.Prepend(o3);
-        Test.Assert(lst[0].raw_handle == o3.raw_handle);
+        Test.Assert(lst[0].NativeHandle == o3.NativeHandle);
         Test.Assert(lst[0].GetNumber() == 22);
         Test.Assert(lst.Count() == 3);
     }
 
     public static void eina_inlist_as_ienumerable_int()
     {
-        var lst = new eina.Inlist<int>();
+        var lst = new Eina.Inlist<int>();
         lst.Append(88);
         lst.Append(44);
         lst.Append(22);
@@ -2549,7 +2549,7 @@ class TestEinaInlist
 
     public static void eina_inlist_as_ienumerable_string()
     {
-        var lst = new eina.Inlist<string>();
+        var lst = new Eina.Inlist<string>();
         lst.Append("X");
         lst.Append("XX");
         lst.Append("XXX");
@@ -2564,24 +2564,24 @@ class TestEinaInlist
 
     public static void eina_inlist_as_ienumerable_obj()
     {
-        var a = new test.Numberwrapper();
-        var b = new test.Numberwrapper();
-        var c = new test.Numberwrapper();
+        var a = new Dummy.Numberwrapper();
+        var b = new Dummy.Numberwrapper();
+        var c = new Dummy.Numberwrapper();
         a.SetNumber(88);
         b.SetNumber(44);
         c.SetNumber(22);
-        var cmp = new test.Numberwrapper[]{a,b,c};
+        var cmp = new Dummy.Numberwrapper[]{a,b,c};
 
-        var lst = new eina.Inlist<test.INumberwrapper>();
+        var lst = new Eina.Inlist<Dummy.Numberwrapper>();
         lst.Append(a);
         lst.Append(b);
         lst.Append(c);
 
         int i = 0;
-        foreach (test.Numberwrapper e in lst)
+        foreach (Dummy.Numberwrapper e in lst)
         {
             Test.AssertEquals(cmp[i].GetNumber(), e.GetNumber());
-            Test.Assert(cmp[i].raw_handle == e.raw_handle);
+            Test.Assert(cmp[i].NativeHandle == e.NativeHandle);
             ++i;
         }
     }
@@ -2594,8 +2594,8 @@ class TestEinaInlist
 
     public static void test_eina_inlist_int_in()
     {
-        test.ITesting t = new test.Testing();
-        var lst = new eina.Inlist<int>();
+        var t = new Dummy.TestObject();
+        var lst = new Eina.Inlist<int>();
         lst.AppendArray(base_seq_int);
         Test.Assert(t.EinaInlistIntIn(lst));
         Test.Assert(lst.Own);
@@ -2606,8 +2606,8 @@ class TestEinaInlist
 
     public static void test_eina_inlist_int_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var lst = new eina.Inlist<int>();
+        var t = new Dummy.TestObject();
+        var lst = new Eina.Inlist<int>();
         lst.AppendArray(base_seq_int);
         Test.Assert(t.EinaInlistIntInOwn(lst));
         Test.Assert(!lst.Own);
@@ -2618,8 +2618,8 @@ class TestEinaInlist
 
     public static void test_eina_inlist_int_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.Inlist<int> lst;
+        var t = new Dummy.TestObject();
+        Eina.Inlist<int> lst;
         Test.Assert(t.EinaInlistIntOut(out lst));
         Test.Assert(!lst.Own);
         Test.Assert(lst.ToArray().SequenceEqual(base_seq_int));
@@ -2630,8 +2630,8 @@ class TestEinaInlist
 
     public static void test_eina_inlist_int_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.Inlist<int> lst;
+        var t = new Dummy.TestObject();
+        Eina.Inlist<int> lst;
         Test.Assert(t.EinaInlistIntOutOwn(out lst));
         Test.Assert(lst.Own);
         Test.Assert(lst.ToArray().SequenceEqual(base_seq_int));
@@ -2642,7 +2642,7 @@ class TestEinaInlist
 
     public static void test_eina_inlist_int_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var lst = t.EinaInlistIntReturn();
         Test.Assert(!lst.Own);
         Test.Assert(lst.ToArray().SequenceEqual(base_seq_int));
@@ -2653,7 +2653,7 @@ class TestEinaInlist
 
     public static void test_eina_inlist_int_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var lst = t.EinaInlistIntReturnOwn();
         Test.Assert(lst.Own);
         Test.Assert(lst.ToArray().SequenceEqual(base_seq_int));
@@ -2665,8 +2665,8 @@ class TestEinaInlist
     // String //
     public static void test_eina_inlist_str_in()
     {
-        test.ITesting t = new test.Testing();
-        var lst = new eina.Inlist<string>();
+        var t = new Dummy.TestObject();
+        var lst = new Eina.Inlist<string>();
         lst.AppendArray(base_seq_str);
         Test.Assert(t.EinaInlistStrIn(lst));
         Test.Assert(lst.Own);
@@ -2677,8 +2677,8 @@ class TestEinaInlist
 
     public static void test_eina_inlist_str_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var lst = new eina.Inlist<string>();
+        var t = new Dummy.TestObject();
+        var lst = new Eina.Inlist<string>();
         lst.AppendArray(base_seq_str);
         Test.Assert(t.EinaInlistStrInOwn(lst));
         Test.Assert(!lst.Own);
@@ -2689,8 +2689,8 @@ class TestEinaInlist
 
     public static void test_eina_inlist_str_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.Inlist<string> lst;
+        var t = new Dummy.TestObject();
+        Eina.Inlist<string> lst;
         Test.Assert(t.EinaInlistStrOut(out lst));
         Test.Assert(!lst.Own);
         Test.Assert(lst.ToArray().SequenceEqual(base_seq_str));
@@ -2701,8 +2701,8 @@ class TestEinaInlist
 
     public static void test_eina_inlist_str_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.Inlist<string> lst;
+        var t = new Dummy.TestObject();
+        Eina.Inlist<string> lst;
         Test.Assert(t.EinaInlistStrOutOwn(out lst));
         Test.Assert(lst.Own);
         Test.Assert(lst.ToArray().SequenceEqual(base_seq_str));
@@ -2713,7 +2713,7 @@ class TestEinaInlist
 
     public static void test_eina_inlist_str_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var lst = t.EinaInlistStrReturn();
         Test.Assert(!lst.Own);
         Test.Assert(lst.ToArray().SequenceEqual(base_seq_str));
@@ -2724,7 +2724,7 @@ class TestEinaInlist
 
     public static void test_eina_inlist_str_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var lst = t.EinaInlistStrReturnOwn();
         Test.Assert(lst.Own);
         Test.Assert(lst.ToArray().SequenceEqual(base_seq_str));
@@ -2737,8 +2737,8 @@ class TestEinaInlist
 
     public static void test_eina_inlist_obj_in()
     {
-        test.ITesting t = new test.Testing();
-        var lst = new eina.Inlist<test.INumberwrapper>();
+        var t = new Dummy.TestObject();
+        var lst = new Eina.Inlist<Dummy.Numberwrapper>();
         lst.AppendArray(BaseSeqObj());
         Test.Assert(t.EinaInlistObjIn(lst));
         Test.Assert(lst.Own);
@@ -2749,8 +2749,8 @@ class TestEinaInlist
 
     public static void test_eina_inlist_obj_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var lst = new eina.Inlist<test.INumberwrapper>();
+        var t = new Dummy.TestObject();
+        var lst = new Eina.Inlist<Dummy.Numberwrapper>();
         lst.AppendArray(BaseSeqObj());
         Test.Assert(t.EinaInlistObjInOwn(lst));
         Test.Assert(!lst.Own);
@@ -2761,8 +2761,8 @@ class TestEinaInlist
 
     public static void test_eina_inlist_obj_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.Inlist<test.INumberwrapper> lst;
+        var t = new Dummy.TestObject();
+        Eina.Inlist<Dummy.Numberwrapper> lst;
         Test.Assert(t.EinaInlistObjOut(out lst));
         Test.Assert(!lst.Own);
         NumberwrapperSequenceAssertEqual(lst.ToArray(), BaseSeqObj());
@@ -2773,8 +2773,8 @@ class TestEinaInlist
 
     public static void test_eina_inlist_obj_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.Inlist<test.INumberwrapper> lst;
+        var t = new Dummy.TestObject();
+        Eina.Inlist<Dummy.Numberwrapper> lst;
         Test.Assert(t.EinaInlistObjOutOwn(out lst));
         Test.Assert(lst.Own);
         NumberwrapperSequenceAssertEqual(lst.ToArray(), BaseSeqObj());
@@ -2785,7 +2785,7 @@ class TestEinaInlist
 
     public static void test_eina_inlist_obj_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var lst = t.EinaInlistObjReturn();
         Test.Assert(!lst.Own);
         NumberwrapperSequenceAssertEqual(lst.ToArray(), BaseSeqObj());
@@ -2796,7 +2796,7 @@ class TestEinaInlist
 
     public static void test_eina_inlist_obj_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var lst = t.EinaInlistObjReturnOwn();
         Test.Assert(lst.Own);
         NumberwrapperSequenceAssertEqual(lst.ToArray(), BaseSeqObj());
@@ -2807,9 +2807,9 @@ class TestEinaInlist
 
     public static void test_eina_inlist_obj_return_in_same_id()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var cmp = BaseSeqObj();
-        var a = new eina.Inlist<test.INumberwrapper>();
+        var a = new Eina.Inlist<Dummy.Numberwrapper>();
         a.AppendArray(cmp);
         var b = t.EinaInlistObjReturnIn(a);
         NumberwrapperSequenceAssertEqual(a.ToArray(), b.ToArray());
@@ -2817,8 +2817,8 @@ class TestEinaInlist
         int len = a.Length;
         for (int i=0; i < len; ++i)
         {
-            Test.Assert(a[i].raw_handle == b[i].raw_handle);
-            Test.Assert(a[i].raw_handle == cmp[i].raw_handle);
+            Test.Assert(a[i].NativeHandle == b[i].NativeHandle);
+            Test.Assert(a[i].NativeHandle == cmp[i].NativeHandle);
         }
     }
 } // < TestEinaInlist
@@ -2828,7 +2828,7 @@ class TestEinaHash
 {
     public static void data_set_int()
     {
-        var hsh = new eina.Hash<int, int>();
+        var hsh = new Eina.Hash<int, int>();
         Test.Assert(hsh.Count == 0);
 
         hsh[88] = 888;
@@ -2848,7 +2848,7 @@ class TestEinaHash
 
     public static void data_set_str()
     {
-        var hsh = new eina.Hash<string, string>();
+        var hsh = new Eina.Hash<string, string>();
         Test.Assert(hsh.Count == 0);
 
         hsh["aa"] = "aaa";
@@ -2868,7 +2868,7 @@ class TestEinaHash
 
     public static void data_set_obj()
     {
-        var hsh = new eina.Hash<test.INumberwrapper, test.INumberwrapper>();
+        var hsh = new Eina.Hash<Dummy.Numberwrapper, Dummy.Numberwrapper>();
         Test.Assert(hsh.Count == 0);
 
         var a = NW(22);
@@ -2879,17 +2879,17 @@ class TestEinaHash
         var cc = NW(888);
 
         hsh[a] = aa;
-        Test.Assert(hsh[a].raw_handle == aa.raw_handle);
+        Test.Assert(hsh[a].NativeHandle == aa.NativeHandle);
         Test.Assert(hsh[a].GetNumber() == aa.GetNumber());
         Test.Assert(hsh.Count == 1);
 
         hsh[b] = bb;
-        Test.Assert(hsh[b].raw_handle == bb.raw_handle);
+        Test.Assert(hsh[b].NativeHandle == bb.NativeHandle);
         Test.Assert(hsh[b].GetNumber() == bb.GetNumber());
         Test.Assert(hsh.Count == 2);
 
         hsh[c] = cc;
-        Test.Assert(hsh[c].raw_handle == cc.raw_handle);
+        Test.Assert(hsh[c].NativeHandle == cc.NativeHandle);
         Test.Assert(hsh[c].GetNumber() == cc.GetNumber());
 
         Test.Assert(hsh.Count == 3);
@@ -2899,7 +2899,7 @@ class TestEinaHash
 
     public static void eina_hash_as_ienumerable_int()
     {
-        var hsh = new eina.Hash<int, int>();
+        var hsh = new Eina.Hash<int, int>();
         var dct = new Dictionary<int, int>();
 
         hsh[88] = 888;
@@ -2927,7 +2927,7 @@ class TestEinaHash
 
     public static void eina_hash_as_ienumerable_str()
     {
-        var hsh = new eina.Hash<string, string>();
+        var hsh = new Eina.Hash<string, string>();
         var dct = new Dictionary<string, string>();
 
         hsh["aa"] = "aaa";
@@ -2955,8 +2955,8 @@ class TestEinaHash
 
     public static void eina_hash_as_ienumerable_obj()
     {
-        var hsh = new eina.Hash<test.INumberwrapper, test.INumberwrapper>();
-        var dct = new Dictionary<int, test.INumberwrapper>();
+        var hsh = new Eina.Hash<Dummy.Numberwrapper, Dummy.Numberwrapper>();
+        var dct = new Dictionary<int, Dummy.Numberwrapper>();
 
         var a = NW(22);
         var aa = NW(222);
@@ -2975,9 +2975,9 @@ class TestEinaHash
 
         int count = 0;
 
-        foreach (KeyValuePair<test.INumberwrapper, test.INumberwrapper> kvp in hsh)
+        foreach (KeyValuePair<Dummy.Numberwrapper, Dummy.Numberwrapper> kvp in hsh)
         {
-            Test.Assert(dct[kvp.Key.GetNumber()].raw_handle == kvp.Value.raw_handle);
+            Test.Assert(dct[kvp.Key.GetNumber()].NativeHandle == kvp.Value.NativeHandle);
             Test.Assert(dct[kvp.Key.GetNumber()].GetNumber() == kvp.Value.GetNumber());
             dct.Remove(kvp.Key.GetNumber());
             ++count;
@@ -2997,8 +2997,8 @@ class TestEinaHash
 
     public static void test_eina_hash_int_in()
     {
-        test.ITesting t = new test.Testing();
-        var hsh = new eina.Hash<int,int>();
+        var t = new Dummy.TestObject();
+        var hsh = new Eina.Hash<int,int>();
         hsh[22] = 222;
         Test.Assert(t.EinaHashIntIn(hsh));
         Test.Assert(hsh.Own);
@@ -3010,8 +3010,8 @@ class TestEinaHash
 
     public static void test_eina_hash_int_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var hsh = new eina.Hash<int,int>();
+        var t = new Dummy.TestObject();
+        var hsh = new Eina.Hash<int,int>();
         hsh[22] = 222;
         Test.Assert(t.EinaHashIntInOwn(hsh));
         Test.Assert(!hsh.Own);
@@ -3025,8 +3025,8 @@ class TestEinaHash
 
     public static void test_eina_hash_int_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.Hash<int,int> hsh;
+        var t = new Dummy.TestObject();
+        Eina.Hash<int,int> hsh;
         Test.Assert(t.EinaHashIntOut(out hsh));
         Test.Assert(!hsh.Own);
         Test.Assert(hsh[22] == 222);
@@ -3039,8 +3039,8 @@ class TestEinaHash
 
     public static void test_eina_hash_int_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.Hash<int,int> hsh;
+        var t = new Dummy.TestObject();
+        Eina.Hash<int,int> hsh;
         Test.Assert(t.EinaHashIntOutOwn(out hsh));
         Test.Assert(hsh.Own);
         Test.Assert(hsh[22] == 222);
@@ -3053,7 +3053,7 @@ class TestEinaHash
 
     public static void test_eina_hash_int_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var hsh = t.EinaHashIntReturn();
         Test.Assert(!hsh.Own);
         Test.Assert(hsh[22] == 222);
@@ -3066,7 +3066,7 @@ class TestEinaHash
 
     public static void test_eina_hash_int_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var hsh = t.EinaHashIntReturnOwn();
         Test.Assert(hsh.Own);
         Test.Assert(hsh[22] == 222);
@@ -3081,8 +3081,8 @@ class TestEinaHash
 
     public static void test_eina_hash_str_in()
     {
-        test.ITesting t = new test.Testing();
-        var hsh = new eina.Hash<string,string>();
+        var t = new Dummy.TestObject();
+        var hsh = new Eina.Hash<string,string>();
         hsh["aa"] = "aaa";
         Test.Assert(t.EinaHashStrIn(hsh));
         Test.Assert(hsh.Own);
@@ -3094,8 +3094,8 @@ class TestEinaHash
 
     public static void test_eina_hash_str_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var hsh = new eina.Hash<string,string>();
+        var t = new Dummy.TestObject();
+        var hsh = new Eina.Hash<string,string>();
         hsh["aa"] = "aaa";
         Test.Assert(t.EinaHashStrInOwn(hsh));
         Test.Assert(!hsh.Own);
@@ -3109,8 +3109,8 @@ class TestEinaHash
 
     public static void test_eina_hash_str_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.Hash<string,string> hsh;
+        var t = new Dummy.TestObject();
+        Eina.Hash<string,string> hsh;
         Test.Assert(t.EinaHashStrOut(out hsh));
         Test.Assert(!hsh.Own);
         Test.Assert(hsh["aa"] == "aaa");
@@ -3123,8 +3123,8 @@ class TestEinaHash
 
     public static void test_eina_hash_str_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.Hash<string,string> hsh;
+        var t = new Dummy.TestObject();
+        Eina.Hash<string,string> hsh;
         Test.Assert(t.EinaHashStrOutOwn(out hsh));
         Test.Assert(hsh.Own);
         Test.Assert(hsh["aa"] == "aaa");
@@ -3137,7 +3137,7 @@ class TestEinaHash
 
     public static void test_eina_hash_str_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var hsh = t.EinaHashStrReturn();
         Test.Assert(!hsh.Own);
         Test.Assert(hsh["aa"] == "aaa");
@@ -3150,7 +3150,7 @@ class TestEinaHash
 
     public static void test_eina_hash_str_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var hsh = t.EinaHashStrReturnOwn();
         Test.Assert(hsh.Own);
         Test.Assert(hsh["aa"] == "aaa");
@@ -3165,19 +3165,19 @@ class TestEinaHash
 
     public static void test_eina_hash_obj_in()
     {
-        test.ITesting t = new test.Testing();
-        var hsh = new eina.Hash<test.INumberwrapper, test.INumberwrapper>();
+        var t = new Dummy.TestObject();
+        var hsh = new Eina.Hash<Dummy.Numberwrapper, Dummy.Numberwrapper>();
         var nwk1 = NW(22);
         var nwv1 = NW(222);
         hsh[nwk1] = nwv1;
-        test.INumberwrapper nwk2;
-        test.INumberwrapper nwv2;
+        Dummy.Numberwrapper nwk2;
+        Dummy.Numberwrapper nwv2;
         Test.Assert(t.EinaHashObjIn(hsh, nwk1, nwv1, out nwk2, out nwv2));
         Test.Assert(hsh.Own);
-        Test.Assert(hsh[nwk1].raw_handle == nwv1.raw_handle);
+        Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle);
         Test.Assert(hsh[nwk1].GetNumber() == nwv1.GetNumber());
         Test.Assert(hsh[nwk1].GetNumber() == 222);
-        Test.Assert(hsh[nwk2].raw_handle == nwv2.raw_handle);
+        Test.Assert(hsh[nwk2].NativeHandle == nwv2.NativeHandle);
         Test.Assert(hsh[nwk2].GetNumber() == nwv2.GetNumber());
         Test.Assert(hsh[nwk2].GetNumber() == 444);
         hsh.Dispose();
@@ -3186,19 +3186,19 @@ class TestEinaHash
 
     public static void test_eina_hash_obj_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var hsh = new eina.Hash<test.INumberwrapper, test.INumberwrapper>();
+        var t = new Dummy.TestObject();
+        var hsh = new Eina.Hash<Dummy.Numberwrapper, Dummy.Numberwrapper>();
         var nwk1 = NW(22);
         var nwv1 = NW(222);
         hsh[nwk1] = nwv1;
-        test.INumberwrapper nwk2;
-        test.INumberwrapper nwv2;
+        Dummy.Numberwrapper nwk2;
+        Dummy.Numberwrapper nwv2;
         Test.Assert(t.EinaHashObjInOwn(hsh, nwk1, nwv1, out nwk2, out nwv2));
         Test.Assert(!hsh.Own);
-        Test.Assert(hsh[nwk1].raw_handle == nwv1.raw_handle);
+        Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle);
         Test.Assert(hsh[nwk1].GetNumber() == nwv1.GetNumber());
         Test.Assert(hsh[nwk1].GetNumber() == 222);
-        Test.Assert(hsh[nwk2].raw_handle == nwv2.raw_handle);
+        Test.Assert(hsh[nwk2].NativeHandle == nwv2.NativeHandle);
         Test.Assert(hsh[nwk2].GetNumber() == nwv2.GetNumber());
         Test.Assert(hsh[nwk2].GetNumber() == 444);
         hsh.Dispose();
@@ -3208,17 +3208,17 @@ class TestEinaHash
 
     public static void test_eina_hash_obj_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.Hash<test.INumberwrapper, test.INumberwrapper> hsh;
-        test.INumberwrapper nwk1;
-        test.INumberwrapper nwv1;
+        var t = new Dummy.TestObject();
+        Eina.Hash<Dummy.Numberwrapper, Dummy.Numberwrapper> hsh;
+        Dummy.Numberwrapper nwk1;
+        Dummy.Numberwrapper nwv1;
         Test.Assert(t.EinaHashObjOut(out hsh, out nwk1, out nwv1));
         Test.Assert(!hsh.Own);
-        Test.Assert(hsh[nwk1].raw_handle == nwv1.raw_handle);
+        Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle);
         Test.Assert(hsh[nwk1].GetNumber() == nwv1.GetNumber());
         Test.Assert(hsh[nwk1].GetNumber() == 222);
-        test.INumberwrapper nwk2 = NW(44);
-        test.INumberwrapper nwv2 = NW(444);
+        Dummy.Numberwrapper nwk2 = NW(44);
+        Dummy.Numberwrapper nwv2 = NW(444);
         hsh[nwk2] = nwv2;
         hsh.Dispose();
         Test.Assert(hsh.Handle == IntPtr.Zero);
@@ -3227,17 +3227,17 @@ class TestEinaHash
 
     public static void test_eina_hash_obj_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.Hash<test.INumberwrapper, test.INumberwrapper> hsh;
-        test.INumberwrapper nwk1;
-        test.INumberwrapper nwv1;
+        var t = new Dummy.TestObject();
+        Eina.Hash<Dummy.Numberwrapper, Dummy.Numberwrapper> hsh;
+        Dummy.Numberwrapper nwk1;
+        Dummy.Numberwrapper nwv1;
         Test.Assert(t.EinaHashObjOutOwn(out hsh, out nwk1, out nwv1));
         Test.Assert(hsh.Own);
-        Test.Assert(hsh[nwk1].raw_handle == nwv1.raw_handle);
+        Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle);
         Test.Assert(hsh[nwk1].GetNumber() == nwv1.GetNumber());
         Test.Assert(hsh[nwk1].GetNumber() == 222);
-        test.INumberwrapper nwk2 = NW(44);
-        test.INumberwrapper nwv2 = NW(444);
+        Dummy.Numberwrapper nwk2 = NW(44);
+        Dummy.Numberwrapper nwv2 = NW(444);
         hsh[nwk2] = nwv2;
         hsh.Dispose();
         Test.Assert(hsh.Handle == IntPtr.Zero);
@@ -3246,16 +3246,16 @@ class TestEinaHash
 
     public static void test_eina_hash_obj_return()
     {
-        test.ITesting t = new test.Testing();
-        test.INumberwrapper nwk1;
-        test.INumberwrapper nwv1;
+        var t = new Dummy.TestObject();
+        Dummy.Numberwrapper nwk1;
+        Dummy.Numberwrapper nwv1;
         var hsh = t.EinaHashObjReturn(out nwk1, out nwv1);
         Test.Assert(!hsh.Own);
-        Test.Assert(hsh[nwk1].raw_handle == nwv1.raw_handle);
+        Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle);
         Test.Assert(hsh[nwk1].GetNumber() == nwv1.GetNumber());
         Test.Assert(hsh[nwk1].GetNumber() == 222);
-        test.INumberwrapper nwk2 = NW(44);
-        test.INumberwrapper nwv2 = NW(444);
+        Dummy.Numberwrapper nwk2 = NW(44);
+        Dummy.Numberwrapper nwv2 = NW(444);
         hsh[nwk2] = nwv2;
         hsh.Dispose();
         Test.Assert(hsh.Handle == IntPtr.Zero);
@@ -3264,16 +3264,16 @@ class TestEinaHash
 
     public static void test_eina_hash_obj_return_own()
     {
-        test.ITesting t = new test.Testing();
-        test.INumberwrapper nwk1;
-        test.INumberwrapper nwv1;
+        var t = new Dummy.TestObject();
+        Dummy.Numberwrapper nwk1;
+        Dummy.Numberwrapper nwv1;
         var hsh = t.EinaHashObjReturnOwn(out nwk1, out nwv1);
         Test.Assert(hsh.Own);
-        Test.Assert(hsh[nwk1].raw_handle == nwv1.raw_handle);
+        Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle);
         Test.Assert(hsh[nwk1].GetNumber() == nwv1.GetNumber());
         Test.Assert(hsh[nwk1].GetNumber() == 222);
-        test.INumberwrapper nwk2 = NW(44);
-        test.INumberwrapper nwv2 = NW(444);
+        Dummy.Numberwrapper nwk2 = NW(44);
+        Dummy.Numberwrapper nwv2 = NW(444);
         hsh[nwk2] = nwv2;
         hsh.Dispose();
         Test.Assert(hsh.Handle == IntPtr.Zero);
@@ -3288,7 +3288,7 @@ class TestEinaIterator
 
     public static void eina_array_int_empty_iterator()
     {
-        var arr = new eina.Array<int>();
+        var arr = new Eina.Array<int>();
         var itr = arr.GetIterator();
         int idx = 0;
         foreach (int e in itr)
@@ -3303,7 +3303,7 @@ class TestEinaIterator
 
     public static void eina_array_int_filled_iterator()
     {
-        var arr = new eina.Array<int>();
+        var arr = new Eina.Array<int>();
         arr.Append(base_seq_int);
         var itr = arr.GetIterator();
         int idx = 0;
@@ -3320,7 +3320,7 @@ class TestEinaIterator
 
     public static void eina_array_str_empty_iterator()
     {
-        var arr = new eina.Array<string>();
+        var arr = new Eina.Array<string>();
         var itr = arr.GetIterator();
         int idx = 0;
         foreach (string e in itr)
@@ -3335,7 +3335,7 @@ class TestEinaIterator
 
     public static void eina_array_str_filled_iterator()
     {
-        var arr = new eina.Array<string>();
+        var arr = new Eina.Array<string>();
         arr.Append(base_seq_str);
         var itr = arr.GetIterator();
         int idx = 0;
@@ -3352,10 +3352,10 @@ class TestEinaIterator
 
     public static void eina_array_obj_empty_iterator()
     {
-        var arr = new eina.Array<test.INumberwrapper>();
+        var arr = new Eina.Array<Dummy.Numberwrapper>();
         var itr = arr.GetIterator();
         int idx = 0;
-        foreach (test.INumberwrapper e in itr)
+        foreach (Dummy.Numberwrapper e in itr)
         {
             ++idx;
         }
@@ -3367,14 +3367,14 @@ class TestEinaIterator
 
     public static void eina_array_obj_filled_iterator()
     {
-        var arr = new eina.Array<test.INumberwrapper>();
+        var arr = new Eina.Array<Dummy.Numberwrapper>();
         var base_objs = BaseSeqObj();
         arr.Append(base_objs);
         var itr = arr.GetIterator();
         int idx = 0;
-        foreach (test.INumberwrapper e in itr)
+        foreach (Dummy.Numberwrapper e in itr)
         {
-            Test.Assert(e.raw_handle == base_objs[idx].raw_handle);
+            Test.Assert(e.NativeHandle == base_objs[idx].NativeHandle);
             Test.Assert(e.GetNumber() == base_objs[idx].GetNumber());
             ++idx;
         }
@@ -3388,7 +3388,7 @@ class TestEinaIterator
 
     public static void eina_inarray_int_empty_iterator()
     {
-        var arr = new eina.Inarray<int>();
+        var arr = new Eina.Inarray<int>();
         var itr = arr.GetIterator();
         int idx = 0;
         foreach (int e in itr)
@@ -3403,7 +3403,7 @@ class TestEinaIterator
 
     public static void eina_inarray_int_filled_iterator()
     {
-        var arr = new eina.Inarray<int>();
+        var arr = new Eina.Inarray<int>();
         arr.Append(base_seq_int);
         var itr = arr.GetIterator();
         int idx = 0;
@@ -3422,7 +3422,7 @@ class TestEinaIterator
 
     public static void eina_list_int_empty_iterator()
     {
-        var lst = new eina.List<int>();
+        var lst = new Eina.List<int>();
         var itr = lst.GetIterator();
         int idx = 0;
         foreach (int e in itr)
@@ -3437,7 +3437,7 @@ class TestEinaIterator
 
     public static void eina_list_int_filled_iterator()
     {
-        var lst = new eina.List<int>();
+        var lst = new Eina.List<int>();
         lst.AppendArray(base_seq_int);
         var itr = lst.GetIterator();
         int idx = 0;
@@ -3454,7 +3454,7 @@ class TestEinaIterator
 
     public static void eina_list_str_empty_iterator()
     {
-        var lst = new eina.List<string>();
+        var lst = new Eina.List<string>();
         var itr = lst.GetIterator();
         int idx = 0;
         foreach (string e in itr)
@@ -3469,7 +3469,7 @@ class TestEinaIterator
 
     public static void eina_list_str_filled_iterator()
     {
-        var lst = new eina.List<string>();
+        var lst = new Eina.List<string>();
         lst.AppendArray(base_seq_str);
         var itr = lst.GetIterator();
         int idx = 0;
@@ -3486,10 +3486,10 @@ class TestEinaIterator
 
     public static void eina_list_obj_empty_iterator()
     {
-        var lst = new eina.List<test.INumberwrapper>();
+        var lst = new Eina.List<Dummy.Numberwrapper>();
         var itr = lst.GetIterator();
         int idx = 0;
-        foreach (test.INumberwrapper e in itr)
+        foreach (Dummy.Numberwrapper e in itr)
         {
             ++idx;
         }
@@ -3501,14 +3501,14 @@ class TestEinaIterator
 
     public static void eina_list_obj_filled_iterator()
     {
-        var lst = new eina.List<test.INumberwrapper>();
+        var lst = new Eina.List<Dummy.Numberwrapper>();
         var base_objs = BaseSeqObj();
         lst.AppendArray(base_objs);
         var itr = lst.GetIterator();
         int idx = 0;
-        foreach (test.INumberwrapper e in itr)
+        foreach (Dummy.Numberwrapper e in itr)
         {
-            Test.Assert(e.raw_handle == base_objs[idx].raw_handle);
+            Test.Assert(e.NativeHandle == base_objs[idx].NativeHandle);
             Test.Assert(e.GetNumber() == base_objs[idx].GetNumber());
             ++idx;
         }
@@ -3522,7 +3522,7 @@ class TestEinaIterator
 
     public static void eina_inlist_int_empty_iterator()
     {
-        var lst = new eina.Inlist<int>();
+        var lst = new Eina.Inlist<int>();
         var itr = lst.GetIterator();
         int idx = 0;
         foreach (int e in itr)
@@ -3537,7 +3537,7 @@ class TestEinaIterator
 
     public static void eina_inlist_int_filled_iterator()
     {
-        var lst = new eina.Inlist<int>();
+        var lst = new Eina.Inlist<int>();
         lst.AppendArray(base_seq_int);
         var itr = lst.GetIterator();
         int idx = 0;
@@ -3556,7 +3556,7 @@ class TestEinaIterator
 
     public static void eina_hash_keys_int_empty_iterator()
     {
-        var hsh = new eina.Hash<int, int>();
+        var hsh = new Eina.Hash<int, int>();
         var itr = hsh.Keys();
         bool entered = false;
         foreach (int e in itr)
@@ -3571,7 +3571,7 @@ class TestEinaIterator
 
     public static void eina_hash_values_int_empty_iterator()
     {
-        var hsh = new eina.Hash<int, int>();
+        var hsh = new Eina.Hash<int, int>();
         var itr = hsh.Values();
         bool entered = false;
         foreach (int e in itr)
@@ -3586,7 +3586,7 @@ class TestEinaIterator
 
     public static void eina_hash_keys_int_filled_iterator()
     {
-        var hsh = new eina.Hash<int, int>();
+        var hsh = new Eina.Hash<int, int>();
         var dct = new Dictionary<int, bool>();
         hsh[22] = 222;
         hsh[44] = 444;
@@ -3613,7 +3613,7 @@ class TestEinaIterator
 
     public static void eina_hash_values_int_filled_iterator()
     {
-        var hsh = new eina.Hash<int, int>();
+        var hsh = new Eina.Hash<int, int>();
         var dct = new Dictionary<int, bool>();
         hsh[22] = 222;
         hsh[44] = 444;
@@ -3640,7 +3640,7 @@ class TestEinaIterator
 
     public static void eina_hash_keys_str_empty_iterator()
     {
-        var hsh = new eina.Hash<string, string>();
+        var hsh = new Eina.Hash<string, string>();
         var itr = hsh.Keys();
         bool entered = false;
         foreach (string e in itr)
@@ -3655,7 +3655,7 @@ class TestEinaIterator
 
     public static void eina_hash_values_str_empty_iterator()
     {
-        var hsh = new eina.Hash<string, string>();
+        var hsh = new Eina.Hash<string, string>();
         var itr = hsh.Values();
         bool entered = false;
         foreach (string e in itr)
@@ -3670,7 +3670,7 @@ class TestEinaIterator
 
     public static void eina_hash_keys_str_filled_iterator()
     {
-        var hsh = new eina.Hash<string, string>();
+        var hsh = new Eina.Hash<string, string>();
         var dct = new Dictionary<string, bool>();
         hsh["aa"] = "aaa";
         hsh["bb"] = "bbb";
@@ -3697,7 +3697,7 @@ class TestEinaIterator
 
     public static void eina_hash_values_str_filled_iterator()
     {
-        var hsh = new eina.Hash<string, string>();
+        var hsh = new Eina.Hash<string, string>();
         var dct = new Dictionary<string, bool>();
         hsh["aa"] = "aaa";
         hsh["bb"] = "bbb";
@@ -3724,10 +3724,10 @@ class TestEinaIterator
 
     public static void eina_hash_keys_obj_empty_iterator()
     {
-        var hsh = new eina.Hash<test.INumberwrapper, test.INumberwrapper>();
+        var hsh = new Eina.Hash<Dummy.Numberwrapper, Dummy.Numberwrapper>();
         var itr = hsh.Keys();
         bool entered = false;
-        foreach (test.INumberwrapper e in itr)
+        foreach (Dummy.Numberwrapper e in itr)
         {
             entered = true;
         }
@@ -3739,10 +3739,10 @@ class TestEinaIterator
 
     public static void eina_hash_values_obj_empty_iterator()
     {
-        var hsh = new eina.Hash<test.INumberwrapper, test.INumberwrapper>();
+        var hsh = new Eina.Hash<Dummy.Numberwrapper, Dummy.Numberwrapper>();
         var itr = hsh.Values();
         bool entered = false;
-        foreach (test.INumberwrapper e in itr)
+        foreach (Dummy.Numberwrapper e in itr)
         {
             entered = true;
         }
@@ -3754,8 +3754,8 @@ class TestEinaIterator
 
     public static void eina_hash_keys_obj_filled_iterator()
     {
-        var hsh = new eina.Hash<test.INumberwrapper, test.INumberwrapper>();
-        var dct = new eina.Hash<int, test.INumberwrapper>();
+        var hsh = new Eina.Hash<Dummy.Numberwrapper, Dummy.Numberwrapper>();
+        var dct = new Eina.Hash<int, Dummy.Numberwrapper>();
         var a = NW(22);
         var b = NW(44);
         var c = NW(88);
@@ -3772,10 +3772,10 @@ class TestEinaIterator
         var itr = hsh.Keys();
 
         int idx = 0;
-        foreach (test.INumberwrapper e in itr)
+        foreach (Dummy.Numberwrapper e in itr)
         {
             Test.Assert(dct[e.GetNumber()] != null);
-            Test.Assert(dct[e.GetNumber()].raw_handle == e.raw_handle);
+            Test.Assert(dct[e.GetNumber()].NativeHandle == e.NativeHandle);
             Test.Assert(dct[e.GetNumber()].GetNumber() == e.GetNumber());
             dct.Remove(e.GetNumber());
             ++idx;
@@ -3789,8 +3789,8 @@ class TestEinaIterator
 
     public static void eina_hash_values_obj_filled_iterator()
     {
-        var hsh = new eina.Hash<test.INumberwrapper, test.INumberwrapper>();
-        var dct = new eina.Hash<int, test.INumberwrapper>();
+        var hsh = new Eina.Hash<Dummy.Numberwrapper, Dummy.Numberwrapper>();
+        var dct = new Eina.Hash<int, Dummy.Numberwrapper>();
         var a = NW(22);
         var b = NW(44);
         var c = NW(88);
@@ -3807,10 +3807,10 @@ class TestEinaIterator
         var itr = hsh.Values();
 
         int idx = 0;
-        foreach (test.INumberwrapper e in itr)
+        foreach (Dummy.Numberwrapper e in itr)
         {
             Test.Assert(dct[e.GetNumber()] != null);
-            Test.Assert(dct[e.GetNumber()].raw_handle == e.raw_handle);
+            Test.Assert(dct[e.GetNumber()].NativeHandle == e.NativeHandle);
             Test.Assert(dct[e.GetNumber()].GetNumber() == e.GetNumber());
             dct.Remove(e.GetNumber());
             ++idx;
@@ -3830,8 +3830,8 @@ class TestEinaIterator
 
     public static void test_eina_iterator_int_in()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Array<int>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Array<int>();
         arr.Append(base_seq_int);
         var itr = arr.GetIterator();
 
@@ -3853,8 +3853,8 @@ class TestEinaIterator
 
     public static void test_eina_iterator_int_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Array<int>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Array<int>();
         arr.Append(base_seq_int);
         var itr = arr.GetIterator();
         arr.OwnContent = false;
@@ -3880,8 +3880,8 @@ class TestEinaIterator
 
     public static void test_eina_iterator_int_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.Iterator<int> itr;
+        var t = new Dummy.TestObject();
+        Eina.Iterator<int> itr;
 
         Test.Assert(t.EinaIteratorIntOut(out itr));
 
@@ -3904,8 +3904,8 @@ class TestEinaIterator
 
     public static void test_eina_iterator_int_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.Iterator<int> itr;
+        var t = new Dummy.TestObject();
+        Eina.Iterator<int> itr;
 
         Test.Assert(t.EinaIteratorIntOutOwn(out itr));
 
@@ -3925,7 +3925,7 @@ class TestEinaIterator
 
     public static void test_eina_iterator_int_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
 
         var itr = t.EinaIteratorIntReturn();
 
@@ -3947,7 +3947,7 @@ class TestEinaIterator
 
     public static void test_eina_iterator_int_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
 
         var itr = t.EinaIteratorIntReturnOwn();
 
@@ -3969,8 +3969,8 @@ class TestEinaIterator
 
     public static void test_eina_iterator_str_in()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Array<string>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Array<string>();
         arr.Append(base_seq_str);
         var itr = arr.GetIterator();
 
@@ -3992,8 +3992,8 @@ class TestEinaIterator
 
     public static void test_eina_iterator_str_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Array<string>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Array<string>();
         arr.Append(base_seq_str);
         var itr = arr.GetIterator();
         arr.OwnContent = false;
@@ -4023,8 +4023,8 @@ class TestEinaIterator
 
     public static void test_eina_iterator_str_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.Iterator<string> itr;
+        var t = new Dummy.TestObject();
+        Eina.Iterator<string> itr;
 
         Test.Assert(t.EinaIteratorStrOut(out itr));
 
@@ -4046,8 +4046,8 @@ class TestEinaIterator
 
     public static void test_eina_iterator_str_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.Iterator<string> itr;
+        var t = new Dummy.TestObject();
+        Eina.Iterator<string> itr;
 
         Test.Assert(t.EinaIteratorStrOutOwn(out itr));
 
@@ -4067,7 +4067,7 @@ class TestEinaIterator
 
     public static void test_eina_iterator_str_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
 
         var itr = t.EinaIteratorStrReturn();
 
@@ -4089,7 +4089,7 @@ class TestEinaIterator
 
     public static void test_eina_iterator_str_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
 
         var itr = t.EinaIteratorStrReturnOwn();
 
@@ -4111,8 +4111,8 @@ class TestEinaIterator
 
     public static void test_eina_iterator_obj_in()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Array<test.INumberwrapper>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Array<Dummy.Numberwrapper>();
         arr.Append(BaseSeqObj());
         var itr = arr.GetIterator();
 
@@ -4134,8 +4134,8 @@ class TestEinaIterator
 
     public static void test_eina_iterator_obj_in_own()
     {
-        test.ITesting t = new test.Testing();
-        var arr = new eina.Array<test.INumberwrapper>();
+        var t = new Dummy.TestObject();
+        var arr = new Eina.Array<Dummy.Numberwrapper>();
         arr.Append(BaseSeqObj());
         var itr = arr.GetIterator();
         arr.OwnContent = false;
@@ -4161,8 +4161,8 @@ class TestEinaIterator
 
     public static void test_eina_iterator_obj_out()
     {
-        test.ITesting t = new test.Testing();
-        eina.Iterator<test.INumberwrapper> itr;
+        var t = new Dummy.TestObject();
+        Eina.Iterator<Dummy.Numberwrapper> itr;
 
         Test.Assert(t.EinaIteratorObjOut(out itr));
 
@@ -4172,7 +4172,7 @@ class TestEinaIterator
         var base_seq_obj = BaseSeqObj();
 
         int idx = 0;
-        foreach (test.INumberwrapper e in itr)
+        foreach (Dummy.Numberwrapper e in itr)
         {
             Test.AssertEquals(e.GetNumber(), base_seq_obj[idx].GetNumber());
             ++idx;
@@ -4186,8 +4186,8 @@ class TestEinaIterator
 
     public static void test_eina_iterator_obj_out_own()
     {
-        test.ITesting t = new test.Testing();
-        eina.Iterator<test.INumberwrapper> itr;
+        var t = new Dummy.TestObject();
+        Eina.Iterator<Dummy.Numberwrapper> itr;
 
         Test.Assert(t.EinaIteratorObjOutOwn(out itr));
 
@@ -4197,7 +4197,7 @@ class TestEinaIterator
         var base_seq_obj = BaseSeqObj();
 
         int idx = 0;
-        foreach (test.INumberwrapper e in itr)
+        foreach (Dummy.Numberwrapper e in itr)
         {
             Test.AssertEquals(e.GetNumber(), base_seq_obj[idx].GetNumber());
             ++idx;
@@ -4209,7 +4209,7 @@ class TestEinaIterator
 
     public static void test_eina_iterator_obj_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
 
         var itr = t.EinaIteratorObjReturn();
 
@@ -4219,7 +4219,7 @@ class TestEinaIterator
         var base_seq_obj = BaseSeqObj();
 
         int idx = 0;
-        foreach (test.INumberwrapper e in itr)
+        foreach (Dummy.Numberwrapper e in itr)
         {
             Test.AssertEquals(e.GetNumber(), base_seq_obj[idx].GetNumber());
             ++idx;
@@ -4233,7 +4233,7 @@ class TestEinaIterator
 
     public static void test_eina_iterator_obj_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
 
         var itr = t.EinaIteratorObjReturnOwn();
 
@@ -4243,7 +4243,7 @@ class TestEinaIterator
         var base_seq_obj = BaseSeqObj();
 
         int idx = 0;
-        foreach (test.INumberwrapper e in itr)
+        foreach (Dummy.Numberwrapper e in itr)
         {
             Test.AssertEquals(e.GetNumber(), base_seq_obj[idx].GetNumber());
             ++idx;
@@ -4259,13 +4259,13 @@ class TestEinaAccessor
 {
     public static void basic_accessor_list()
     {
-        var lst = new eina.List<int>();
+        var lst = new Eina.List<int>();
         lst.Append(1);
         lst.Append(2);
         lst.Append(3);
         lst.Append(4);
 
-        eina.Accessor<int> accessor = lst.GetAccessor();
+        Eina.Accessor<int> accessor = lst.GetAccessor();
 
         var zipped = accessor.Zip(lst, (first, second) => new Tuple<int, int>(first, second));
 
@@ -4277,10 +4277,10 @@ class TestEinaAccessor
 
     public static void basic_accessor_array()
     {
-        var arr = new eina.Array<string>();
+        var arr = new Eina.Array<string>();
         arr.Append(base_seq_str);
 
-        eina.Accessor<string> accessor = arr.GetAccessor();
+        Eina.Accessor<string> accessor = arr.GetAccessor();
 
         var zipped = accessor.Zip(arr, (first, second) => new Tuple<string, string>(first, second));
 
@@ -4292,13 +4292,13 @@ class TestEinaAccessor
 
     public static void basic_accessor_inlist()
     {
-        var lst = new eina.Inlist<int>();
+        var lst = new Eina.Inlist<int>();
         lst.Append(1);
         lst.Append(2);
         lst.Append(3);
         lst.Append(4);
 
-        eina.Accessor<int> accessor = lst.GetAccessor();
+        Eina.Accessor<int> accessor = lst.GetAccessor();
 
         var zipped = accessor.Zip(lst, (first, second) => new Tuple<int, int>(first, second));
 
@@ -4310,10 +4310,10 @@ class TestEinaAccessor
 
     public static void basic_accessor_inarray()
     {
-        var arr = new eina.Inarray<int>();
+        var arr = new Eina.Inarray<int>();
         arr.Append(base_seq_int);
 
-        eina.Accessor<int> accessor = arr.GetAccessor();
+        Eina.Accessor<int> accessor = arr.GetAccessor();
 
         var zipped = accessor.Zip(arr, (first, second) => new Tuple<int, int>(first, second));
 
index 5b88f574646750cd871ad5247337552b0034c147..535c309e1cdad0f1184827a7e1fbeb22cdfb4e3d 100644 (file)
@@ -6,7 +6,7 @@ namespace TestSuite
 
 class TestEo
 {
-    private class Derived : test.TestingInherit
+    private class Derived : Dummy.TestObject
     {
     }
 
@@ -15,21 +15,20 @@ class TestEo
     //
     public static void return_same_object()
     {
-        test.ITesting testing = new test.Testing();
-        test.ITesting o1 = testing.ReturnObject();
-        Test.Assert(o1.raw_handle != IntPtr.Zero);
-        Test.Assert(o1.raw_handle == testing.raw_handle);
-        test.ITesting o2 = o1.ReturnObject();
-        Test.Assert(o2.raw_handle != IntPtr.Zero);
-        Test.Assert(o2.raw_handle == o1.raw_handle);
+        var testing = new Dummy.TestObject();
+        var o1 = testing.ReturnObject();
+        Test.Assert(o1.NativeHandle != IntPtr.Zero);
+        Test.Assert(o1.NativeHandle == testing.NativeHandle);
+        var o2 = o1.ReturnObject();
+        Test.Assert(o2.NativeHandle != IntPtr.Zero);
+        Test.Assert(o2.NativeHandle == o1.NativeHandle);
     }
-
     /* Commented out as adding the event listener seems to prevent it from being GC'd.
     public static void destructor_really_frees()
     {
        bool delEventCalled = false;
        {
-           test.ITesting obj = new test.Testing();
+           var obj = new Dummy.TestObject();
            obj.DEL += (object sender, EventArgs e) => { delEventCalled = true; };
        }
 
@@ -46,8 +45,10 @@ class TestEo
     {
        bool delEventCalled = false;
        {
-           test.ITesting obj = new test.Testing();
+           var obj = new Dummy.TestObject();
+           Eina.Log.Error($"Created object 0x{obj.NativeHandle.ToInt64():x}");
            obj.DelEvt += (object sender, EventArgs e) => { delEventCalled = true; };
+           Eina.Log.Error($"Will dispose object 0x{obj.NativeHandle.ToInt64():x}");
            ((IDisposable)obj).Dispose();
        }
 
@@ -59,7 +60,7 @@ class TestEo
     {
        bool delEventCalled = false;
        {
-           test.ITesting obj = new Derived();
+           var obj = new Derived();
            obj.DEL += (object sender, EventArgs e) => { delEventCalled = true; };
        }
 
@@ -76,7 +77,7 @@ class TestEo
     {
        bool delEventCalled = false;
        {
-           test.ITesting obj = new Derived();
+           var obj = new Derived();
            obj.DEL += (object sender, EventArgs e) => { delEventCalled = true; };
            ((IDisposable)obj).Dispose();
        }
@@ -86,7 +87,8 @@ class TestEo
     */
 }
 
-class MyLoop : efl.LoopInherit
+
+class MyLoop : Efl.Loop
 {
     public MyLoop() : base(null) { }
 }
@@ -95,8 +97,8 @@ class TestEoInherit
 {
     public static void instantiate_inherited()
     {
-        efl.ILoop loop = new MyLoop();
-        Test.Assert(loop.raw_handle != System.IntPtr.Zero);
+        Efl.Loop loop = new MyLoop();
+        Test.Assert(loop.NativeHandle != System.IntPtr.Zero);
     }
 }
 
@@ -104,7 +106,7 @@ class TestEoNames
 {
     public static void name_getset()
     {
-        test.ITesting obj = new test.Testing();
+        var obj = new Dummy.TestObject();
 
         string name = "Dummy";
         obj.SetName(name);
@@ -118,9 +120,9 @@ class TestEoConstructingMethods
     {
         bool called = false;
         string name = "Test object";
-        test.ITesting obj = new test.Testing(null, (test.ITesting a) => {
+        var obj = new Dummy.TestObject(null, (Dummy.TestObject a) => {
                 called = true;
-                Console.WriteLine("callback: obj raw_handle: {0:x}", a.raw_handle);
+                Console.WriteLine("callback: obj NativeHandle: {0:x}", a.NativeHandle);
                 a.SetName(name);
             });
 
@@ -128,10 +130,10 @@ class TestEoConstructingMethods
         Test.AssertEquals(name, obj.GetName());
     }
 
-    private class Derived : test.TestingInherit
+    private class Derived : Dummy.TestObject
     {
-        public Derived(test.ITesting parent = null,
-                       test.TestingInherit.ConstructingMethod cb = null) : base(parent, cb) {
+        public Derived(Dummy.TestObject parent = null,
+                       Dummy.TestObject.ConstructingMethod cb = null) : base(parent, cb) {
         }
     }
 
@@ -139,7 +141,7 @@ class TestEoConstructingMethods
     {
         bool called = false;
         string name = "Another test object";
-        Derived obj = new Derived(null, (test.ITesting a) => {
+        Derived obj = new Derived(null, (Dummy.TestObject a) => {
                 called = true;
                 a.SetComment(name);
             });
@@ -153,41 +155,41 @@ class TestEoParent
 {
     public static void basic_parent()
     {
-        test.ITesting parent = new test.Testing(null);
-        test.ITesting child = new test.Testing(parent);
+        var parent = new Dummy.TestObject(null);
+        var child = new Dummy.TestObject(parent);
 
         Test.AssertEquals(parent, child.GetParent());
 
-        test.ITesting parent_retrieved = test.Testing.static_cast(child.GetParent());
+        var parent_retrieved = Dummy.TestObject.static_cast(child.GetParent());
         Test.AssertEquals(parent, parent_retrieved);
     }
 
     public static void parent_inherited_class()
     {
-        test.INumberwrapper parent = new test.Numberwrapper(null);
-        test.ITesting child = new test.Testing(parent);
+        Dummy.Numberwrapper parent = new Dummy.Numberwrapper(null);
+        var child = new Dummy.TestObject(parent);
 
         Test.AssertEquals(parent, child.GetParent());
 
-        test.INumberwrapper parent_retrieved = test.Numberwrapper.static_cast(child.GetParent());
+        Dummy.Numberwrapper parent_retrieved = Dummy.Numberwrapper.static_cast(child.GetParent());
         Test.AssertEquals(parent, parent_retrieved);
     }
 
-    private class Derived : test.TestingInherit
+    private class Derived : Dummy.TestObject
     {
-        public Derived(test.ITesting parent = null) : base (parent)
+        public Derived(Dummy.TestObject parent = null) : base (parent)
         {
         }
     }
 
     public static void basic_parent_managed_inherit()
     {
-        test.ITesting parent = new Derived(null);
-        test.ITesting child = new Derived(parent);
+        var parent = new Derived(null);
+        var child = new Derived(parent);
 
         Test.AssertEquals(parent, child.GetParent());
 
-        test.ITesting parent_from_cast = test.Testing.static_cast(child.GetParent());
+        var parent_from_cast = Dummy.TestObject.static_cast(child.GetParent());
         Test.AssertEquals(parent, parent_from_cast);
     }
 }
@@ -197,15 +199,15 @@ class TestKlassMethods
     public static void basic_class_method()
     {
         int reference = 0xbeef;
-        test.Testing.SetKlassProp(reference);
-        Test.AssertEquals(reference, test.Testing.GetKlassProp());
+        Dummy.TestObject.SetKlassProp(reference);
+        Test.AssertEquals(reference, Dummy.TestObject.GetKlassProp());
     }
 
     public static void inherited_class_method()
     {
         int reference = 0xdead;
-        test.Child.SetKlassProp(reference);
-        Test.AssertEquals(reference, test.Child.GetKlassProp());
+        Dummy.Child.SetKlassProp(reference);
+        Test.AssertEquals(reference, Dummy.Child.GetKlassProp());
     }
 }
 
@@ -213,13 +215,13 @@ class TestTypedefs
 {
     public static void basic_typedef_test()
     {
-        test.ITesting obj = new test.Testing();
-        test.MyInt input = 1900;
-        test.MyInt receiver;
+        var obj = new Dummy.TestObject();
+        Dummy.MyInt input = 1900;
+        Dummy.MyInt receiver;
 
         int ret = obj.BypassTypedef(input, out receiver);
 
-        Test.AssertEquals((test.MyInt)ret, input);
+        Test.AssertEquals((Dummy.MyInt)ret, input);
         Test.AssertEquals(receiver, input);
 
     }
@@ -229,13 +231,13 @@ class TestEoAccessors
 {
     public static void basic_eo_accessors()
     {
-        test.ITesting obj = new test.Testing();
-        eina.List<int> lst = new eina.List<int>();
+        var obj = new Dummy.TestObject();
+        Eina.List<int> lst = new Eina.List<int>();
         lst.Append(4);
         lst.Append(3);
         lst.Append(2);
         lst.Append(5);
-        eina.Accessor<int> acc = obj.CloneAccessor(lst.GetAccessor());
+        Eina.Accessor<int> acc = obj.CloneAccessor(lst.GetAccessor());
 
         var zipped = acc.Zip(lst, (first, second) => new Tuple<int, int>(first, second));
 
@@ -248,10 +250,10 @@ class TestEoAccessors
 
 class TestEoFinalize
 {
-    public sealed class Inherit : efl.ObjectInherit
+    public sealed class Inherit : Efl.Object
     {
         public bool finalizeCalled = false;
-        public override efl.IObject FinalizeAdd()
+        public override Efl.Object FinalizeAdd()
         {
             finalizeCalled = true;
             return this;
@@ -266,4 +268,39 @@ class TestEoFinalize
     }
 }
 
+class TestEoMultipleChildClasses
+{
+
+    public sealed class FirstChild : Efl.Object
+    {
+        public int receivedValue = 0;
+        public override Efl.Object FinalizeAdd()
+        {
+            receivedValue = 1;
+            return this;
+        }
+    }
+
+    public sealed class SecondChild : Efl.Object
+    {
+        public int receivedValue = 0;
+        public override Efl.Object FinalizeAdd()
+        {
+            receivedValue = 2;
+            return this;
+        }
+    }
+
+    public static void test_multiple_child_classes()
+    {
+        FirstChild obj = new FirstChild();
+        Test.AssertEquals(1, obj.receivedValue);
+        SecondChild obj2 = new SecondChild();
+        Test.AssertEquals(2, obj2.receivedValue);
+
+        obj = new FirstChild();
+        Test.AssertEquals(1, obj.receivedValue);
+    }
+}
+
 }
index 0c7c2e95e8b39211eede93b9fcd4891ebe3f1993..d5772396dac83cbf1d8200c0797c8b936c38436d 100644 (file)
@@ -9,24 +9,24 @@ class TestEoPromises
 {
     public static void test_simple_task_run()
     {
-        efl.ILoop loop = efl.App.GetLoopMain();
-        eina.Future future = loop.Idle();
+        Efl.Loop loop = Efl.App.GetLoopMain();
+        Eina.Future future = loop.Idle();
 
         bool callbackCalled = false;
         int ret_code = 1992;
 
-        future.Then((eina.Value value) => {
+        future.Then((Eina.Value value) => {
             callbackCalled = true;
-            eina.Value v = new eina.Value(eina.ValueType.Int32);
+            Eina.Value v = new Eina.Value(Eina.ValueType.Int32);
             v.Set(ret_code);
             loop.Quit(v);
             return value;
         });
-        eina.Value ret_value = loop.Begin();
+        Eina.Value ret_value = loop.Begin();
 
         Test.Assert(callbackCalled, "Future loop callback must have been called.");
 
-        Test.AssertEquals(ret_value.GetValueType(), eina.ValueType.Int32);
+        Test.AssertEquals(ret_value.GetValueType(), Eina.ValueType.Int32);
 
         int ret_from_value;
         Test.Assert(ret_value.Get(out ret_from_value));
@@ -36,17 +36,17 @@ class TestEoPromises
 
     public static void test_object_promise()
     {
-        efl.ILoop loop = efl.App.GetLoopMain();
-        test.Testing obj = new test.Testing();
+        Efl.Loop loop = Efl.App.GetLoopMain();
+        var obj = new Dummy.TestObject();
 
-        eina.Future future = obj.GetFuture();
+        Eina.Future future = obj.GetFuture();
 
         bool callbackCalled = false;
         int receivedValue = -1;
         int sentValue = 1984;
-        future.Then((eina.Value value) => {
+        future.Then((Eina.Value value) => {
             callbackCalled = true;
-            Test.AssertEquals(value.GetValueType(), eina.ValueType.Int32);
+            Test.AssertEquals(value.GetValueType(), Eina.ValueType.Int32);
             value.Get(out receivedValue);
 
             return value;
@@ -61,17 +61,17 @@ class TestEoPromises
 
     public static void test_object_promise_cancel()
     {
-        efl.ILoop loop = efl.App.GetLoopMain();
-        test.Testing obj = new test.Testing();
+        Efl.Loop loop = Efl.App.GetLoopMain();
+        var obj = new Dummy.TestObject();
 
-        eina.Future future = obj.GetFuture();
+        Eina.Future future = obj.GetFuture();
 
         bool callbackCalled = false;
-        eina.Error receivedError = -1;
-        eina.Error sentError = 120;
-        future.Then((eina.Value value) => {
+        Eina.Error receivedError = -1;
+        Eina.Error sentError = 120;
+        future.Then((Eina.Value value) => {
             callbackCalled = true;
-            Test.AssertEquals(value.GetValueType(), eina.ValueType.Error);
+            Test.AssertEquals(value.GetValueType(), Eina.ValueType.Error);
             value.Get(out receivedError);
 
             return value;
@@ -88,10 +88,10 @@ class TestEoPromises
 
 class LoopConsumer
 {
-    public static async Task Consume(efl.ILoop loop)
+    public static async Task Consume(Efl.Loop loop)
     {
-        Task<eina.Value> task = loop.IdleAsync();
-        eina.Value v = await task;
+        Task<Eina.Value> task = loop.IdleAsync();
+        Eina.Value v = await task;
         loop.Quit(v);
     }
 }
@@ -100,7 +100,7 @@ class TestLoopEoAsyncMethods
 {
     public static void test_simple_async()
     {
-        efl.ILoop loop = efl.App.GetLoopMain();
+        Efl.Loop loop = Efl.App.GetLoopMain();
         Task t = LoopConsumer.Consume(loop);
 
         loop.Begin();
@@ -113,18 +113,18 @@ class TestEoAsyncMethods
 
     public static void test_async_fulfill()
     {
-        efl.ILoop loop = efl.App.GetLoopMain();
-        test.ITesting obj = new test.Testing();
+        Efl.Loop loop = Efl.App.GetLoopMain();
+        var obj = new Dummy.TestObject();
 
-        Task<eina.Value> task = obj.GetFutureAsync();
+        Task<Eina.Value> task = obj.GetFutureAsync();
 
         int sentValue = 1337;
 
         obj.FulfillPromise(sentValue);
         loop.Iterate();
 
-        eina.Value v = task.Result;
-        Test.AssertEquals(v.GetValueType(), eina.ValueType.Int32);
+        Eina.Value v = task.Result;
+        Test.AssertEquals(v.GetValueType(), Eina.ValueType.Int32);
 
         int receivedValue;
         v.Get(out receivedValue);
@@ -133,11 +133,11 @@ class TestEoAsyncMethods
 
     public static void test_async_cancel()
     {
-        efl.ILoop loop = efl.App.GetLoopMain();
-        test.ITesting obj = new test.Testing();
+        Efl.Loop loop = Efl.App.GetLoopMain();
+        var obj = new Dummy.TestObject();
 
         CancellationTokenSource cancelSrc = new CancellationTokenSource();
-        Task<eina.Value> task = obj.GetFutureAsync(cancelSrc.Token);
+        Task<Eina.Value> task = obj.GetFutureAsync(cancelSrc.Token);
 
         cancelSrc.Cancel();
         loop.Iterate();
@@ -145,7 +145,7 @@ class TestEoAsyncMethods
         bool raised = false;
         try
         {
-            eina.Value v = task.Result;
+            Eina.Value v = task.Result;
         }
         catch (AggregateException ae)
         {
@@ -162,12 +162,12 @@ class TestEoAsyncMethods
 
     public static void test_async_reject()
     {
-        efl.ILoop loop = efl.App.GetLoopMain();
-        test.ITesting obj = new test.Testing();
+        Efl.Loop loop = Efl.App.GetLoopMain();
+        var obj = new Dummy.TestObject();
 
-        Task<eina.Value> task = obj.GetFutureAsync();
+        Task<Eina.Value> task = obj.GetFutureAsync();
 
-        eina.Error sentError = 1337;
+        Eina.Error sentError = 1337;
         obj.RejectPromise(sentError);
 
         loop.Iterate();
@@ -175,15 +175,15 @@ class TestEoAsyncMethods
         bool raised = false;
         try
         {
-            eina.Value v = task.Result;
+            Eina.Value v = task.Result;
         }
         catch (AggregateException ae)
         {
             raised = true;
             ae.Handle((x) =>
             {
-                Test.Assert(x is efl.FutureException, "AggregateException must have been TaskCanceledException");
-                efl.FutureException ex = x as efl.FutureException;
+                Test.Assert(x is Efl.FutureException, "AggregateException must have been TaskCanceledException");
+                Efl.FutureException ex = x as Efl.FutureException;
                 Test.AssertEquals(ex.Error, sentError);
                 return true;
             });
index b7359c1273b4f6dc61226938ae9a535ae92a6739..9f4ebf2690777399501f32aa648b9e10029f18af 100644 (file)
@@ -7,10 +7,10 @@ class TestEinaError
 {
     public static void basic_test()
     {
-        eina.Error.Clear();
-        Test.AssertNotRaises<efl.EflException>(eina.Error.RaiseIfOccurred);
-        eina.Error.Set(eina.Error.ENOENT);
-        Test.AssertRaises<efl.EflException>(eina.Error.RaiseIfOccurred);
+        Eina.Error.Clear();
+        Test.AssertNotRaises<Efl.EflException>(Eina.Error.RaiseIfOccurred);
+        Eina.Error.Set(Eina.Error.ENOENT);
+        Test.AssertRaises<Efl.EflException>(Eina.Error.RaiseIfOccurred);
     }
 }
 
@@ -19,24 +19,24 @@ class TestEolianError
 
     public static void global_eina_error()
     {
-        test.ITesting obj = new test.Testing();
-        Test.AssertRaises<efl.EflException>(() => obj.RaisesEinaError());
+        var obj = new Dummy.TestObject();
+        Test.AssertRaises<Efl.EflException>(() => obj.RaisesEinaError());
     }
 
-    class Child : test.TestingInherit {
+    class Child : Dummy.TestObject {
     }
 
     public static void global_eina_error_inherited()
     {
-        test.ITesting obj = new Child();
-        Test.AssertRaises<efl.EflException>(() => obj.RaisesEinaError());
+        var obj = new Child();
+        Test.AssertRaises<Efl.EflException>(() => obj.RaisesEinaError());
     }
 
     class CustomException : Exception {
         public CustomException(string msg): base(msg) {}
     }
 
-    class Overrider : test.TestingInherit {
+    class Overrider : Dummy.TestObject {
         public override void ChildrenRaiseError() {
             throw (new CustomException("Children error"));
         }
@@ -44,18 +44,18 @@ class TestEolianError
 
     public static void exception_raised_from_inherited_virtual()
     {
-        test.ITesting obj = new Overrider();
+        var obj = new Overrider();
 
-        Test.AssertRaises<efl.EflException>(obj.CallChildrenRaiseError);
+        Test.AssertRaises<Efl.EflException>(obj.CallChildrenRaiseError);
     }
 
     // return eina_error
     public static void eina_error_return()
     {
-        test.ITesting obj = new test.Testing();
-        eina.Error expected = 42;
+        var obj = new Dummy.TestObject();
+        Eina.Error expected = 42;
         obj.SetErrorRet(expected);
-        eina.Error error = obj.ReturnsError();
+        Eina.Error error = obj.ReturnsError();
 
         Test.AssertEquals(expected, error);
 
@@ -66,12 +66,12 @@ class TestEolianError
         Test.AssertEquals(expected, error);
     }
 
-    class ReturnOverride : test.TestingInherit {
-        eina.Error code;
-        public override void SetErrorRet(eina.Error err) {
+    class ReturnOverride : Dummy.TestObject {
+        Eina.Error code;
+        public override void SetErrorRet(Eina.Error err) {
             code = 2 * err;
         }
-        public override eina.Error ReturnsError()
+        public override Eina.Error ReturnsError()
         {
             return code;
         }
@@ -79,18 +79,18 @@ class TestEolianError
 
     public static void eina_error_return_from_inherited_virtual()
     {
-        test.ITesting obj = new ReturnOverride();
-        eina.Error expected = 42;
+        var obj = new ReturnOverride();
+        Eina.Error expected = 42;
         obj.SetErrorRet(expected);
-        eina.Error error = obj.ReturnsError();
+        Eina.Error error = obj.ReturnsError();
 
-        Test.AssertEquals(new eina.Error(expected * 2), error);
+        Test.AssertEquals(new Eina.Error(expected * 2), error);
 
         expected = 0;
         obj.SetErrorRet(expected);
         error = obj.ReturnsError();
 
-        Test.AssertEquals(new eina.Error(expected * 2), error);
+        Test.AssertEquals(new Eina.Error(expected * 2), error);
     }
 
     // events
@@ -108,11 +108,11 @@ class TestEolianError
         // An event whose managed delegate generates an exception
         // must set an eina_error so it can be reported back to
         // the managed code
-        test.ITesting obj = new test.Testing();
+        var obj = new Dummy.TestObject();
         Listener listener = new Listener();
         obj.EvtWithIntEvt += listener.callback;
 
-        Test.AssertRaises<efl.EflException>(() => { obj.EmitEventWithInt(2); });
+        Test.AssertRaises<Efl.EflException>(() => { obj.EmitEventWithInt(2); });
     }
 }
 }
index 4b5622593efab2ba2309bec9b679caa64509c798..6d40412c3daf06d302a81a5fb9bbaedf10d63d4f 100644 (file)
@@ -2,9 +2,9 @@ using System;
 using System.Runtime.InteropServices;
 using System.Runtime.CompilerServices;
 
-public class MyBox : evas.BoxInherit
+public class MyBox : Evas.Box
 {
-    public MyBox(efl.Object parent) : base(parent) {}
+    public MyBox(Efl.Object parent) : base(parent) {}
 
     [DllImport("evas")] static extern void evas_obj_box_layout_vertical(IntPtr obj, IntPtr data, IntPtr privdata);
     [DllImport("evas")] static extern void evas_obj_box_layout_horizontal(IntPtr obj, IntPtr data, IntPtr privdata);
@@ -15,11 +15,11 @@ public class MyBox : evas.BoxInherit
 
     override public void CalculateGroup()
     {
-        IntPtr evas = evas_object_evas_get(raw_handle);
+        IntPtr evas = evas_object_evas_get(NativeHandle);
         evas_event_freeze(evas);
-        eina.Log.Debug("called group_calculate");
+        Eina.Log.Debug("called group_calculate");
         // slayouting_set(true);
-        evas_obj_box_layout_vertical(raw_handle, IntPtr.Zero, IntPtr.Zero);
+        evas_obj_box_layout_vertical(NativeHandle, IntPtr.Zero, IntPtr.Zero);
         // layouting_set(false);
         // children_changed_set(false);
         evas_event_thaw(evas);
@@ -46,7 +46,7 @@ class TestEvas
     /*     canvas.visible_set(true); */
 
     /*     efl.Object parent = canvas.parent_get(); */
-    /*     Test.Assert(parent.raw_handle != IntPtr.Zero); */
+    /*     Test.Assert(parent.NativeHandle != IntPtr.Zero); */
 
     /*     efl.canvas.Rectangle rect = new efl.canvas.RectangleConcrete(canvas); */
     /*     rect.color_set(255, 255, 255, 255); */
index 9cf7795dca239d44152e1246e592b02c87986ad5..7387c1e1b47b8d760c5a8c206e4e36cebb5b96bf 100644 (file)
@@ -1,7 +1,5 @@
 using System;
 
-using static test.Testing; // For the event args
-
 namespace TestSuite
 {
 
@@ -9,17 +7,17 @@ class TestEoEvents
 {
     public bool called = false;
     public bool correct_sender = false;
-    public efl.ILoop loop { get; set; }
+    public Efl.Loop loop { get; set; }
     protected void callback(object sender, EventArgs e) {
         called = true;
-        efl.IObject obj = sender as efl.IObject;
+        Efl.Object obj = sender as Efl.Object;
         if (obj != null)
         {
             obj.SetName("loop_called");
             correct_sender = true;
         }
 
-        eina.Value v = new eina.Value(eina.ValueType.Int32);
+        Eina.Value v = new Eina.Value(Eina.ValueType.Int32);
         v.Set(0);
         loop.Quit(v);
     }
@@ -27,7 +25,7 @@ class TestEoEvents
 
     public static void idle_event()
     {
-        efl.ILoop loop = new efl.Loop();
+        Efl.Loop loop = new Efl.Loop();
         loop.SetName("loop");
         TestEoEvents listener = new TestEoEvents();
         listener.loop = loop;
@@ -44,10 +42,10 @@ class TestEoEvents
 
     public static void event_with_string_payload()
     {
-        test.ITesting obj = new test.Testing();
+        var obj = new Dummy.TestObject();
         string received_string = null;
 
-        obj.EvtWithStringEvt += (object sender, EvtWithStringEvt_Args e) => {
+        obj.EvtWithStringEvt += (object sender, Dummy.TestObjectEvtWithStringEvt_Args e) => {
             received_string = e.arg;
         };
 
@@ -58,10 +56,10 @@ class TestEoEvents
 
     public static void event_with_int_payload()
     {
-        test.ITesting obj = new test.Testing();
+        var obj = new Dummy.TestObject();
         int received_int= 0;
 
-        obj.EvtWithIntEvt += (object sender, EvtWithIntEvt_Args e) => {
+        obj.EvtWithIntEvt += (object sender, Dummy.TestObjectEvtWithIntEvt_Args e) => {
             received_int = e.arg;
         };
 
@@ -72,10 +70,10 @@ class TestEoEvents
 
     public static void event_with_bool_payload()
     {
-        test.ITesting obj = new test.Testing();
+        var obj = new Dummy.TestObject();
         bool received_bool = false;
 
-        obj.EvtWithBoolEvt += (object sender, EvtWithBoolEvt_Args e) => {
+        obj.EvtWithBoolEvt += (object sender, Dummy.TestObjectEvtWithBoolEvt_Args e) => {
             received_bool = e.arg;
         };
 
@@ -90,9 +88,9 @@ class TestEoEvents
 
     public static void event_with_uint_payload()
     {
-        test.ITesting obj = new test.Testing();
+        var obj = new Dummy.TestObject();
         uint received_uint = 0;
-        obj.EvtWithUintEvt += (object sender, EvtWithUintEvt_Args e) => {
+        obj.EvtWithUintEvt += (object sender, Dummy.TestObjectEvtWithUintEvt_Args e) => {
             received_uint = e.arg;
         };
 
@@ -103,14 +101,14 @@ class TestEoEvents
 
     public static void event_with_object_payload()
     {
-        test.ITesting obj = new test.Testing();
-        test.ITesting received_obj = null;
+        var obj = new Dummy.TestObject();
+        Dummy.TestObject received_obj = null;
 
-        obj.EvtWithObjEvt += (object sender, EvtWithObjEvt_Args e) => {
+        obj.EvtWithObjEvt += (object sender, Dummy.TestObjectEvtWithObjEvt_Args e) => {
             received_obj = e.arg;
         };
 
-        test.ITesting sent_obj = new test.Testing();
+        var sent_obj = new Dummy.TestObject();
 
         obj.EmitEventWithObj(sent_obj);
 
@@ -119,14 +117,14 @@ class TestEoEvents
 
     public static void event_with_error_payload()
     {
-        test.ITesting obj = new test.Testing();
-        eina.Error received_error = 0;
+        var obj = new Dummy.TestObject();
+        Eina.Error received_error = 0;
 
-        obj.EvtWithErrorEvt += (object sender, EvtWithErrorEvt_Args e) => {
+        obj.EvtWithErrorEvt += (object sender, Dummy.TestObjectEvtWithErrorEvt_Args e) => {
             received_error = e.arg;
         };
 
-        eina.Error sent_error = -2001;
+        Eina.Error sent_error = -2001;
 
         obj.EmitEventWithError(sent_error);
 
@@ -135,14 +133,14 @@ class TestEoEvents
 
     public static void event_with_struct_payload()
     {
-        test.ITesting obj = new test.Testing();
-        test.StructSimple received_struct = default(test.StructSimple);
+        var obj = new Dummy.TestObject();
+        Dummy.StructSimple received_struct = default(Dummy.StructSimple);
 
-        obj.EvtWithStructEvt += (object sender, EvtWithStructEvt_Args e) => {
+        obj.EvtWithStructEvt += (object sender, Dummy.TestObjectEvtWithStructEvt_Args e) => {
             received_struct = e.arg;
         };
 
-        test.StructSimple sent_struct = default(test.StructSimple);
+        Dummy.StructSimple sent_struct = default(Dummy.StructSimple);
         sent_struct.Fstring = "Struct Event";
 
         obj.EmitEventWithStruct(sent_struct);
@@ -154,8 +152,8 @@ class TestEoEvents
     {
         int received = 0;
         int sent = 42;
-        test.ITesting obj = new test.Testing(null, (test.ITesting t) => {
-            t.EvtWithIntEvt += (object sender, EvtWithIntEvt_Args e) => {
+        var obj = new Dummy.TestObject(null, (Dummy.TestObject t) => {
+            t.EvtWithIntEvt += (object sender, Dummy.TestObjectEvtWithIntEvt_Args e) => {
                 received = e.arg;
             };
         });
@@ -170,10 +168,10 @@ class TestEventAddRemove
 {
     public static void test_add_remove_event()
     {
-        test.ITesting obj = new test.Testing();
+        var obj = new Dummy.TestObject();
         bool called = true;
 
-        EventHandler<test.Testing.EvtWithIntEvt_Args> evtCb = (object sender, EvtWithIntEvt_Args e) => {
+        EventHandler<Dummy.TestObjectEvtWithIntEvt_Args> evtCb = (object sender, Dummy.TestObjectEvtWithIntEvt_Args e) => {
             called = true;
         };
 
@@ -185,9 +183,50 @@ class TestEventAddRemove
         obj.EvtWithIntEvt -= evtCb;
         obj.EmitEventWithInt(42);
         Test.Assert(!called);
+    }
+}
+
+class TestInterfaceEvents
+{
+    public static void test_nonconflicting_events()
+    {
+        var obj = new Dummy.TestObject();
+        var called = false;
+
+        EventHandler cb = (object sender, EventArgs e) => {
+            called = true;
+        };
+
+        obj.NonconflictedEvt += cb;
+        obj.EmitNonconflicted();
+        Test.Assert(called);
+    }
+
+    public static void test_conflicting_events()
+    {
+        var obj = new Dummy.TestObject();
+        var test_called = false;
+        var another_called = false;
+
+        EventHandler cb = (object sender, EventArgs e) => {
+            test_called = true;
+        };
+
+        EventHandler another_cb = (object sender, EventArgs e) => {
+            another_called = true;
+        };
 
+        ((Dummy.TestIface)obj).ConflictedEvt += cb;
+        ((Dummy.AnotherIface)obj).ConflictedEvt += another_cb;
 
+        obj.EmitTestConflicted();
+        Test.Assert(test_called);
+        Test.Assert(!another_called);
+        test_called = false;
 
+        obj.EmitAnotherConflicted();
+        Test.Assert(!test_called);
+        Test.Assert(another_called);
     }
 }
 }
index b6ba6df3d1f78b9a2f3e8bb76d30c6f7481be6e6..0f943d32653408c13e0b5d54263235440e12c81a 100644 (file)
@@ -9,15 +9,15 @@ class TestFunctionPointerMarshalling
 {
     public static void func_pointer_marshalling()
     {
-        test.ITesting obj = new test.Testing();
+        var obj = new Dummy.TestObject();
         bool called = false;
-        eina.Strbuf buf = new eina.Strbuf();
+        Eina.Strbuf buf = new Eina.Strbuf();
         string argument = "Some String";
-        eina.Value v = new eina.Value(eina.ValueType.String);
+        Eina.Value v = new Eina.Value(Eina.ValueType.String);
         v.Set(argument);
         string reference = new string(argument.ToCharArray().Reverse().ToArray());
 
-        obj.CallFormatCb(buf, v, (eina.Strbuf ibuf, eina.Value val) => {
+        obj.CallFormatCb(buf, v, (Eina.Strbuf ibuf, Eina.Value val) => {
             called = true;
             string str = null;
             val.Get(out str);
index 1e2431ce4784885eaf378cdde9d00c466dfcb20b..de363c86d652f2d623d8c2608f1d221fa26427ae 100644 (file)
@@ -29,7 +29,7 @@ class TestFunctionPointers
     public static void set_callback_basic()
     {
         setup();
-        test.ITesting obj = new test.Testing();
+        var obj = new Dummy.TestObject();
         obj.SetCallback(twice);
 
         Test.Assert(called == false, "set_callback should not call the callback");
@@ -44,7 +44,7 @@ class TestFunctionPointers
     {
         setup();
 
-        test.ITesting obj = new test.Testing();
+        var obj = new Dummy.TestObject();
         obj.SetCallback(y => {
                     called = true;
                     return y + 4;
@@ -62,7 +62,7 @@ class TestFunctionPointers
     {
         setup();
 
-        test.ITesting obj = new test.Testing();
+        var obj = new Dummy.TestObject();
         obj.SetCallback(twice);
         Test.Assert(called == false, "set_callback should not call the callback");
 
@@ -83,7 +83,7 @@ class TestFunctionPointers
         Test.AssertEquals(42 * 42, x);
     }
 
-    class NoOverride : test.TestingInherit {
+    class NoOverride : Dummy.TestObject {
     }
     public static void set_callback_inherited_no_override()
     {
@@ -99,15 +99,15 @@ class TestFunctionPointers
         Test.AssertEquals(42 * 3, x);
     }
 
-    class WithOverride : test.TestingInherit {
+    class WithOverride : Dummy.TestObject {
         public bool set_called = false;
         public bool invoke_called = false;
-        public test.SimpleCb cb = null;
+        public Dummy.SimpleCb cb = null;
 
         public WithOverride() : base() {
 
         }
-        public override void SetCallback(test.SimpleCb cb) {
+        public override void SetCallback(Dummy.SimpleCb cb) {
             set_called = true;
             this.cb = cb;
         }
@@ -115,7 +115,7 @@ class TestFunctionPointers
             invoke_called = true;
             if (cb != null)
                 return cb(a);
-            eina.Log.Error("No callback set upon call_callback invocation");
+            Eina.Log.Error("No callback set upon call_callback invocation");
             return -1;
         }
     }
index eae6882a45f29972c41d8f4ad413957c0efbe1a9..3ae3584798630df82c8fbd5cbac576fd2799aed3 100644 (file)
@@ -15,7 +15,7 @@ class TestMain
 
     static int Main(string[] args)
     {
-        efl.All.Init();
+        Efl.All.Init();
 
         bool pass = true;
 
index 6137609a9c3bfa7589118c7201b26f2f897589a5..5afed1fdd668652cd353aa8f47fa51f7664a4216 100644 (file)
@@ -13,11 +13,11 @@ public static class TestParts
 {
     public static void basic_part_test()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         do_part_test(t);
     }
 
-    private class Child : test.TestingInherit
+    private class Child : Dummy.TestObject
     {
         public Child() : base(null) {}
     }
@@ -27,14 +27,14 @@ public static class TestParts
         do_part_test(t);
     }
 
-    private static void do_part_test(test.ITesting t)
+    private static void do_part_test(Dummy.TestObject t)
     {
-        var p1 = t.Part1;
-        var p2 = t.Part2;
-        Test.Assert(p1 is test.Testing);
-        Test.AssertEquals("part1", p1.GetName());
-        Test.Assert(p2 is test.Testing);
-        Test.AssertEquals("part2", p2.GetName());
+        var p1 = t.PartOne;
+        var p2 = t.PartTwo;
+        Test.Assert(p1 is Dummy.TestObject);
+        Test.AssertEquals("part_one", p1.GetName());
+        Test.Assert(p2 is Dummy.TestObject);
+        Test.AssertEquals("part_two", p2.GetName());
     }
 }
 
index 4191c31c5fdca91310515e2c5c07ab09d00d62d9..22c5239e252fc54c69a39376661baabbaaceb348 100644 (file)
@@ -9,8 +9,8 @@ class TestPromises
     public static void test_simple_cancel()
     {
         bool cleanCalled = false;
-        eina.Promise promise = new eina.Promise(() => { cleanCalled = true; });
-        eina.Future future = new eina.Future(promise);
+        Eina.Promise promise = new Eina.Promise(() => { cleanCalled = true; });
+        Eina.Future future = new Eina.Future(promise);
         future.Cancel();
         Test.Assert(cleanCalled, "Promise clean callback should have been called.");
         Test.AssertRaises<ObjectDisposedException>(() => { promise.Resolve(null); });
@@ -20,19 +20,19 @@ class TestPromises
     public static void test_simple_resolve()
     {
         bool callbackCalled = false;
-        eina.Value received_value = null;
+        Eina.Value received_value = null;
 
-        efl.ILoop loop = efl.App.GetLoopMain();
-        eina.Promise promise = new eina.Promise();
-        eina.Future future = new eina.Future(promise);
+        Efl.Loop loop = Efl.App.GetLoopMain();
+        Eina.Promise promise = new Eina.Promise();
+        Eina.Future future = new Eina.Future(promise);
 
-        future = future.Then((eina.Value value) => {
+        future = future.Then((Eina.Value value) => {
             callbackCalled = true;
             received_value = value;
             return value;
         } );
 
-        eina.Value reference_value = new eina.Value(eina.ValueType.Int32);
+        Eina.Value reference_value = new Eina.Value(Eina.ValueType.Int32);
         reference_value.Set(1984);
         promise.Resolve(reference_value);
 
@@ -45,24 +45,24 @@ class TestPromises
     public static void test_simple_reject()
     {
         bool callbackCalled = false;
-        eina.Error received_error = eina.Error.NO_ERROR;
+        Eina.Error received_error = Eina.Error.NO_ERROR;
 
-        efl.ILoop loop = efl.App.GetLoopMain();
-        eina.Promise promise = new eina.Promise();
-        eina.Future future = new eina.Future(promise);
+        Efl.Loop loop = Efl.App.GetLoopMain();
+        Eina.Promise promise = new Eina.Promise();
+        Eina.Future future = new Eina.Future(promise);
 
-        future = future.Then((eina.Value value) => {
+        future = future.Then((Eina.Value value) => {
             callbackCalled = true;
             value.Get(out received_error);
             return value;
         });
 
-        promise.Reject(eina.Error.EPERM);
+        promise.Reject(Eina.Error.EPERM);
 
         loop.Iterate();
 
         Test.Assert(callbackCalled, "Future callback should have been called.");
-        Test.AssertEquals(received_error, eina.Error.EPERM);
+        Test.AssertEquals(received_error, Eina.Error.EPERM);
 
         Test.AssertRaises<ObjectDisposedException>(() => { promise.Resolve(null); });
         Test.AssertRaises<ObjectDisposedException>(future.Cancel);
@@ -72,12 +72,12 @@ class TestPromises
     {
         bool callbackCalled = false;
         bool promiseCallbackCalled = false;
-        eina.Error received_error = eina.Error.NO_ERROR;
+        Eina.Error received_error = Eina.Error.NO_ERROR;
 
-        eina.Promise promise = new eina.Promise(() => { promiseCallbackCalled = true; });
-        eina.Future future = new eina.Future(promise);
+        Eina.Promise promise = new Eina.Promise(() => { promiseCallbackCalled = true; });
+        Eina.Future future = new Eina.Future(promise);
 
-        future = future.Then((eina.Value value) => {
+        future = future.Then((Eina.Value value) => {
             callbackCalled = true;
             value.Get(out received_error);
             return value;
@@ -87,18 +87,18 @@ class TestPromises
 
         Test.Assert(promiseCallbackCalled, "Promise cancel callback should have been called.");
         Test.Assert(callbackCalled, "Future callback should have been called.");
-        Test.AssertEquals(received_error, eina.Error.ECANCELED);
+        Test.AssertEquals(received_error, Eina.Error.ECANCELED);
     }
 
 
-    private delegate eina.Future.ResolvedCb FutureCbGenerator(int x);
+    private delegate Eina.Future.ResolvedCb FutureCbGenerator(int x);
     public static void test_then_chaining()
     {
         bool[] callbacksCalled = {false, false, false, false};
-        eina.Value[] received_value = {null, null, null, null};
+        Eina.Value[] received_value = {null, null, null, null};
 
         FutureCbGenerator genResolvedCb = (int i) => {
-            return (eina.Value value) => {
+            return (Eina.Value value) => {
                 callbacksCalled[i] = true;
                 int x;
                 value.Get(out x);
@@ -108,13 +108,13 @@ class TestPromises
             };
         };
 
-        efl.ILoop loop = efl.App.GetLoopMain();
-        eina.Promise promise = new eina.Promise();
-        eina.Future future = new eina.Future(promise);
+        Efl.Loop loop = Efl.App.GetLoopMain();
+        Eina.Promise promise = new Eina.Promise();
+        Eina.Future future = new Eina.Future(promise);
         for (int i = 0; i < 4; i++)
             future = future.Then(genResolvedCb(i));
 
-        eina.Value reference_value = new eina.Value(eina.ValueType.Int32);
+        Eina.Value reference_value = new Eina.Value(Eina.ValueType.Int32);
         reference_value.Set(0);
         promise.Resolve(reference_value);
 
@@ -137,10 +137,10 @@ class TestPromises
     public static void test_then_chain_array()
     {
         bool[] callbacksCalled = {false, false, false, false};
-        eina.Value[] received_value = {null, null, null, null};
+        Eina.Value[] received_value = {null, null, null, null};
 
         FutureCbGenerator genResolvedCb = (int i) => {
-            return (eina.Value value) => {
+            return (Eina.Value value) => {
                 callbacksCalled[i] = true;
                 int x;
                 value.Get(out x);
@@ -150,16 +150,16 @@ class TestPromises
             };
         };
 
-        var cbs = new List<eina.Future.ResolvedCb>();
+        var cbs = new List<Eina.Future.ResolvedCb>();
         for (int i = 0; i < 4; i++)
             cbs.Add(genResolvedCb(i));
 
-        efl.ILoop loop = efl.App.GetLoopMain();
-        eina.Promise promise = new eina.Promise();
-        eina.Future future = new eina.Future(promise);
+        Efl.Loop loop = Efl.App.GetLoopMain();
+        Eina.Promise promise = new Eina.Promise();
+        Eina.Future future = new Eina.Future(promise);
         future = future.Chain(cbs);
 
-        eina.Value reference_value = new eina.Value(eina.ValueType.Int32);
+        Eina.Value reference_value = new Eina.Value(Eina.ValueType.Int32);
         reference_value.Set(0);
         promise.Resolve(reference_value);
 
@@ -182,25 +182,25 @@ class TestPromises
     public static void test_cancel_after_resolve()
     {
         bool callbackCalled = false;
-        eina.Error received_error = eina.Error.NO_ERROR;
+        Eina.Error received_error = Eina.Error.NO_ERROR;
 
-        efl.ILoop loop = efl.App.GetLoopMain();
-        eina.Promise promise = new eina.Promise();
-        eina.Future future = new eina.Future(promise);
+        Efl.Loop loop = Efl.App.GetLoopMain();
+        Eina.Promise promise = new Eina.Promise();
+        Eina.Future future = new Eina.Future(promise);
 
-        future = future.Then((eina.Value value) => {
+        future = future.Then((Eina.Value value) => {
             callbackCalled = true;
             value.Get(out received_error);
             return value;
         });
 
-        promise.Reject(eina.Error.EPERM);
+        promise.Reject(Eina.Error.EPERM);
         future.Cancel();
 
         loop.Iterate();
 
         Test.Assert(callbackCalled, "Future callback should have been called.");
-        Test.AssertEquals(received_error, eina.Error.ECANCELED);
+        Test.AssertEquals(received_error, Eina.Error.ECANCELED);
 
         Test.AssertRaises<ObjectDisposedException>(() => { promise.Resolve(null); });
         Test.AssertRaises<ObjectDisposedException>(future.Cancel);
@@ -209,19 +209,19 @@ class TestPromises
     public static void test_constructor_with_callback()
     {
         bool callbackCalled = false;
-        eina.Value received_value = null;
+        Eina.Value received_value = null;
 
-        efl.ILoop loop = efl.App.GetLoopMain();
-        eina.Promise promise = new eina.Promise();
+        Efl.Loop loop = Efl.App.GetLoopMain();
+        Eina.Promise promise = new Eina.Promise();
 #pragma warning disable 0219
-        eina.Future future = new eina.Future(promise,(eina.Value value) => {
+        Eina.Future future = new Eina.Future(promise,(Eina.Value value) => {
             callbackCalled = true;
             received_value = value;
             return value;
         } );
 #pragma warning restore 0219
 
-        eina.Value reference_value = new eina.Value(eina.ValueType.Int32);
+        Eina.Value reference_value = new Eina.Value(Eina.ValueType.Int32);
         reference_value.Set(1984);
         promise.Resolve(reference_value);
 
@@ -234,13 +234,13 @@ class TestPromises
     public static void test_reject_on_disposal()
     {
         bool callbackCalled = false;
-        eina.Error received_error = eina.Error.NO_ERROR;
+        Eina.Error received_error = Eina.Error.NO_ERROR;
 
-        efl.ILoop loop = efl.App.GetLoopMain();
-        eina.Promise promise = new eina.Promise();
-        eina.Future future = new eina.Future(promise);
+        Efl.Loop loop = Efl.App.GetLoopMain();
+        Eina.Promise promise = new Eina.Promise();
+        Eina.Future future = new Eina.Future(promise);
 
-        future = future.Then((eina.Value value) => {
+        future = future.Then((Eina.Value value) => {
             callbackCalled = true;
             value.Get(out received_error);
             return value;
@@ -251,7 +251,7 @@ class TestPromises
         loop.Iterate();
 
         Test.Assert(callbackCalled, "Future callback should have been called.");
-        Test.AssertEquals(received_error, eina.Error.ECANCELED);
+        Test.AssertEquals(received_error, Eina.Error.ECANCELED);
 
         Test.AssertRaises<ObjectDisposedException>(() => { promise.Resolve(null); });
         Test.AssertRaises<ObjectDisposedException>(future.Cancel);
index 97a70c23d27c79ce1cd3ea2ea858f90b4799bd41..ef2cc56f161d4bfb7cda4ad57440c4cd8802af51 100644 (file)
@@ -6,7 +6,7 @@ class TestStrBuf
 {
     public static void test_steal()
     {
-        eina.Strbuf buf = new eina.Strbuf();
+        Eina.Strbuf buf = new Eina.Strbuf();
 
         buf.Append("Here's");
         buf.Append(' ');
@@ -18,8 +18,8 @@ class TestStrBuf
 
     public static void test_eolian()
     {
-        test.ITesting obj = new test.Testing();
-        eina.Strbuf buf = new eina.Strbuf();
+        var obj = new Dummy.TestObject();
+        Eina.Strbuf buf = new Eina.Strbuf();
 
         obj.AppendToStrbuf(buf, "Appended");
         obj.AppendToStrbuf(buf, " to buf");
@@ -27,7 +27,7 @@ class TestStrBuf
         Test.AssertEquals("Appended to buf", buf.Steal());
     }
 
-    private class Appender : test.TestingInherit
+    private class Appender : Dummy.TestObject
     {
         public bool called;
         public Appender() : base(null)
@@ -35,9 +35,9 @@ class TestStrBuf
             called = false;
         }
 
-        public override void AppendToStrbuf(eina.Strbuf buf, string str)
+        public override void AppendToStrbuf(Eina.Strbuf buf, string str)
         {
-            eina.Log.Error("Virtual wrapper called");
+            Eina.Log.Error("Virtual wrapper called");
             called = true;
             buf.Append(str);
         }
@@ -46,7 +46,7 @@ class TestStrBuf
     public static void test_virtual_eolian()
     {
         Appender obj = new Appender();
-        eina.Strbuf buf = new eina.Strbuf();
+        Eina.Strbuf buf = new Eina.Strbuf();
 
         obj.CallAppendToStrbuf(buf, "Is");
         obj.CallAppendToStrbuf(buf, " this");
index 156b7ca9cf1e53174c922980cd4236d36b0b65b1..bb20833ffc23879cea5d3d453620e1b706f61068 100644 (file)
@@ -8,7 +8,7 @@ class TestStrings
     public static void in_string()
     {
         {
-            test.ITesting obj = new test.Testing();
+            var obj = new Dummy.TestObject();
             String sent = "in_string";
             String returned = obj.InString(sent);
             Test.AssertEquals(sent, returned);
@@ -21,7 +21,7 @@ class TestStrings
     public static void in_own_string()
     {
         {
-            test.ITesting obj = new test.Testing();
+            var obj = new Dummy.TestObject();
             String sent = "in_own_string";
             String returned = obj.InOwnString(sent);
             Test.AssertEquals(sent, returned);
@@ -33,7 +33,7 @@ class TestStrings
     public static void return_string()
     {
         {
-            test.ITesting obj = new test.Testing();
+            var obj = new Dummy.TestObject();
             Test.AssertEquals("string", obj.ReturnString());
         }
         System.GC.Collect();
@@ -43,7 +43,7 @@ class TestStrings
     public static void return_own_string()
     {
         {
-            test.ITesting obj = new test.Testing();
+            var obj = new Dummy.TestObject();
             Test.AssertEquals("own_string", obj.ReturnOwnString());
         }
         System.GC.Collect();
@@ -54,7 +54,7 @@ class TestStrings
     {
         {
             String str = String.Empty;
-            test.ITesting obj = new test.Testing();
+            var obj = new Dummy.TestObject();
             obj.OutString(out str);
             Test.AssertEquals("out_string", str);
         }
@@ -66,14 +66,14 @@ class TestStrings
     {
         {
             String str = String.Empty;
-            test.ITesting obj = new test.Testing();
+            var obj = new Dummy.TestObject();
             obj.OutOwnString(out str);
             Test.AssertEquals(str.ToString(), "out_own_string");
         }
         System.GC.Collect();
     }
 
-    private class StringReturner : test.TestingInherit
+    private class StringReturner : Dummy.TestObject
     {
         public String received_in;
         public String received_in_own;
@@ -144,7 +144,7 @@ class TestStrings
      * some time in the future */
     public static void return_string_from_virtual()
     {
-        test.ITesting obj = new StringReturner();
+        var obj = new StringReturner();
         /* for (int i = 0; i < 10000; i ++) // Uncomment this to check for memory leaks. */
         Test.AssertEquals("inherited", obj.CallReturnString());
         System.GC.Collect();
@@ -153,7 +153,7 @@ class TestStrings
     /* The managed wrapper must surrender the ownership to the C after the virtual call. */
     public static void return_own_string_from_virtual()
     {
-        test.ITesting obj = new StringReturner();
+        var obj = new StringReturner();
         /* for (int i = 0; i < 10000; i ++) // Uncomment this to check for memory leaks. */
         Test.AssertEquals("own_inherited", obj.CallReturnOwnString());
         System.GC.Collect();
@@ -163,7 +163,7 @@ class TestStrings
      * need to cache it until some time in the future. */
     public static void out_string_from_virtual()
     {
-        test.ITesting obj = new StringReturner();
+        var obj = new StringReturner();
         /* for (int i = 0; i < 10000; i ++) // Uncomment this to check for memory leaks. */
         Test.AssertEquals("out_inherited", obj.CallOutString());
         System.GC.Collect();
@@ -172,7 +172,7 @@ class TestStrings
     /* The managed wrapper gives C the ownership of the filled out parameter */
     public static void out_own_string_from_virtual()
     {
-        test.ITesting obj = new StringReturner();
+        var obj = new StringReturner();
         /* for (int i = 0; i < 10000; i ++) // Uncomment this to check for memory leaks. */
         Test.AssertEquals("out_own_inherited", obj.CallOutOwnString());
         System.GC.Collect();
@@ -185,7 +185,7 @@ class TestStringshare
     public static void in_stringshare()
     {
         {
-            test.ITesting obj = new test.Testing();
+            var obj = new Dummy.TestObject();
             String sent = "in_stringshare";
             String returned = obj.InStringshare(sent);
             Test.AssertEquals(sent, returned);
@@ -196,7 +196,7 @@ class TestStringshare
     public static void in_own_stringshare()
     {
         {
-            test.ITesting obj = new test.Testing();
+            var obj = new Dummy.TestObject();
             String sent = "in_own_stringshare";
             String returned = obj.InOwnStringshare(sent);
             Test.AssertEquals(sent, returned);
@@ -207,7 +207,7 @@ class TestStringshare
     public static void return_stringshare()
     {
         {
-            test.ITesting obj = new test.Testing();
+            var obj = new Dummy.TestObject();
             Test.AssertEquals("stringshare", obj.ReturnStringshare());
         }
         System.GC.Collect();
@@ -216,7 +216,7 @@ class TestStringshare
     public static void return_own_stringshare()
     {
         {
-            test.ITesting obj = new test.Testing();
+            var obj = new Dummy.TestObject();
             Test.AssertEquals("own_stringshare", obj.ReturnOwnStringshare());
         }
         System.GC.Collect();
@@ -226,7 +226,7 @@ class TestStringshare
     {
         {
             String str = String.Empty;
-            test.ITesting obj = new test.Testing();
+            var obj = new Dummy.TestObject();
             obj.OutStringshare(out str);
             Test.AssertEquals("out_stringshare", str);
         }
@@ -237,14 +237,14 @@ class TestStringshare
     {
         {
             String str = String.Empty;
-            test.ITesting obj = new test.Testing();
+            var obj = new Dummy.TestObject();
             obj.OutOwnStringshare(out str);
             Test.AssertEquals(str.ToString(), "out_own_stringshare");
         }
         System.GC.Collect();
     }
 
-    private class StringshareReturner : test.TestingInherit
+    private class StringshareReturner : Dummy.TestObject
     {
         public String received_in;
         public String received_in_own;
@@ -304,28 +304,28 @@ class TestStringshare
 
     public static void return_stringshare_from_virtual()
     {
-        test.ITesting obj = new StringshareReturner();
+        var obj = new StringshareReturner();
         // for (int i = 0; i < 1000000; i ++) // Uncomment this to check for memory leaks.
         Test.AssertEquals("inherited", obj.CallReturnStringshare());
     }
 
     public static void return_own_stringshare_from_virtual()
     {
-        test.ITesting obj = new StringshareReturner();
+        var obj = new StringshareReturner();
         // for (int i = 0; i < 1000000; i ++) // Uncomment this to check for memory leaks.
         Test.AssertEquals("own_inherited", obj.CallReturnOwnStringshare());
     }
 
     public static void out_stringshare_from_virtual()
     {
-        test.ITesting obj = new StringshareReturner();
+        var obj = new StringshareReturner();
         // for (int i = 0; i < 1000000; i ++) // Uncomment this to check for memory leaks.
         Test.AssertEquals("out_inherited", obj.CallOutStringshare());
     }
 
     public static void out_own_stringshare_from_virtual()
     {
-        test.ITesting obj = new StringshareReturner();
+        var obj = new StringshareReturner();
         // for (int i = 0; i < 1000000; i ++) // Uncomment this to check for memory leaks.
         Test.AssertEquals("out_own_inherited", obj.CallOutOwnStringshare());
     }
index 4a9e7e9018b89257a4563948128b4eb4da634ce5..d2bb464c855e4cd2eb0a959832abf25beff56286 100644 (file)
@@ -11,9 +11,9 @@ class TestStructs
 {
     // Auxiliary function //
 
-    private static test.StructSimple structSimpleWithValues()
+    private static Dummy.StructSimple structSimpleWithValues()
     {
-        var simple = new test.StructSimple();
+        var simple = new Dummy.StructSimple();
 
         simple.Fbyte = (sbyte)-126;
         simple.Fubyte = (byte) 254u;
@@ -42,7 +42,7 @@ class TestStructs
         simple.Fdouble = -9007199254740992.0;
         simple.Fbool = true;
         simple.Fvoid_ptr = (IntPtr) 0xFE;
-        simple.Fenum = test.SampleEnum.V2;
+        simple.Fenum = Dummy.SampleEnum.V2;
         simple.Fstring = "test/string";
         simple.Fmstring = "test/mstring";
         simple.Fstringshare = "test/stringshare";
@@ -50,7 +50,7 @@ class TestStructs
         return simple;
     }
 
-    private static void checkStructSimple(test.StructSimple simple)
+    private static void checkStructSimple(Dummy.StructSimple simple)
     {
         Test.Assert(simple.Fbyte == (sbyte) -126);
         Test.Assert(simple.Fubyte == (byte) 254u);
@@ -79,13 +79,13 @@ class TestStructs
         Test.Assert(simple.Fdouble == -9007199254740992.0);
         Test.Assert(simple.Fbool == true);
         Test.Assert(simple.Fvoid_ptr == (IntPtr) 0xFE);
-        Test.Assert(simple.Fenum == test.SampleEnum.V2);
+        Test.Assert(simple.Fenum == Dummy.SampleEnum.V2);
         Test.Assert(simple.Fstring == "test/string");
         Test.Assert(simple.Fmstring == "test/mstring");
         Test.Assert(simple.Fstringshare == "test/stringshare");
     }
 
-    private static void checkZeroedStructSimple(test.StructSimple simple)
+    private static void checkZeroedStructSimple(Dummy.StructSimple simple)
     {
         Test.Assert(simple.Fbyte == 0);
         Test.Assert(simple.Fubyte == 0);
@@ -114,64 +114,64 @@ class TestStructs
         Test.Assert(simple.Fdouble == 0);
         Test.Assert(simple.Fbool == false);
         Test.Assert(simple.Fvoid_ptr == IntPtr.Zero);
-        Test.Assert(simple.Fenum == test.SampleEnum.V0);
+        Test.Assert(simple.Fenum == Dummy.SampleEnum.V0);
         Test.Assert(simple.Fstring == null);
         Test.Assert(simple.Fmstring == null);
         Test.Assert(simple.Fstringshare == null);
     }
 
-    private static test.StructComplex structComplexWithValues()
+    private static Dummy.StructComplex structComplexWithValues()
     {
-        var complex = new test.StructComplex();
+        var complex = new Dummy.StructComplex();
 
-        complex.Farray = new eina.Array<int>();
+        complex.Farray = new Eina.Array<int>();
         complex.Farray.Push(0x0);
         complex.Farray.Push(0x2A);
         complex.Farray.Push(0x42);
 
-        complex.Finarray = new eina.Inarray<int>();
+        complex.Finarray = new Eina.Inarray<int>();
         complex.Finarray.Push(0x0);
         complex.Finarray.Push(0x2A);
         complex.Finarray.Push(0x42);
 
 
-        complex.Flist = new eina.List<string>();
+        complex.Flist = new Eina.List<string>();
         complex.Flist.Append("0x0");
         complex.Flist.Append("0x2A");
         complex.Flist.Append("0x42");
 
-        complex.Finlist = new eina.Inlist<int>();
+        complex.Finlist = new Eina.Inlist<int>();
         complex.Finlist.Append(0x0);
         complex.Finlist.Append(0x2A);
         complex.Finlist.Append(0x42);
 
-        complex.Fhash = new eina.Hash<string, string>();
+        complex.Fhash = new Eina.Hash<string, string>();
         complex.Fhash["aa"] = "aaa";
         complex.Fhash["bb"] = "bbb";
         complex.Fhash["cc"] = "ccc";
 
         complex.Fiterator = complex.Farray.GetIterator();
 
-        complex.Fany_value = new eina.Value(eina.ValueType.Double);
+        complex.Fany_value = new Eina.Value(Eina.ValueType.Double);
         complex.Fany_value.Set(-9007199254740992.0);
 
-        complex.Fany_value_ptr = new eina.Value(eina.ValueType.String);
+        complex.Fany_value_ptr = new Eina.Value(Eina.ValueType.String);
         complex.Fany_value_ptr.Set("abc");
 
-        complex.Fbinbuf = new eina.Binbuf();
+        complex.Fbinbuf = new Eina.Binbuf();
         complex.Fbinbuf.Append(126);
 
         complex.Fslice.Length = 1;
-        complex.Fslice.Mem = eina.MemoryNative.Alloc(1);
+        complex.Fslice.Mem = Eina.MemoryNative.Alloc(1);
         Marshal.WriteByte(complex.Fslice.Mem, 125);
 
-        complex.Fobj = new test.Numberwrapper();
+        complex.Fobj = new Dummy.Numberwrapper();
         complex.Fobj.SetNumber(42);
 
         return complex;
     }
 
-    private static void checkStructComplex(test.StructComplex complex)
+    private static void checkStructComplex(Dummy.StructComplex complex)
     {
         Test.Assert(complex.Farray.ToArray().SequenceEqual(base_seq_int));
 
@@ -211,7 +211,7 @@ class TestStructs
     }
 
 
-    private static void checkZeroedStructComplex(test.StructComplex complex)
+    private static void checkZeroedStructComplex(Dummy.StructComplex complex)
     {
         Test.Assert(complex.Farray == null);
         Test.Assert(complex.Finarray == null);
@@ -235,19 +235,19 @@ class TestStructs
 
     private static void simple_default_instantiation()
     {
-        var simple = new test.StructSimple();
+        var simple = new Dummy.StructSimple();
         checkZeroedStructSimple(simple);
     }
 
     private static void complex_default_instantiation()
     {
-        var complex = new test.StructComplex();
+        var complex = new Dummy.StructComplex();
         checkZeroedStructComplex(complex);
     }
 
     public static void parameter_initialization()
     {
-        var simple = new test.StructSimple(0x1, 0x2, (char)0x3, 0x4, 0x5);
+        var simple = new Dummy.StructSimple(0x1, 0x2, (char)0x3, 0x4, 0x5);
         Test.AssertEquals(0x1, simple.Fbyte);
         Test.AssertEquals(0x2, simple.Fubyte);
         Test.AssertEquals(0x3, simple.Fchar);
@@ -261,7 +261,7 @@ class TestStructs
     public static void simple_in()
     {
         var simple = structSimpleWithValues();
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         bool r = t.StructSimpleIn(simple);
         Test.Assert(r, "Function returned false");
     }
@@ -271,7 +271,7 @@ class TestStructs
         var simple = structSimpleWithValues();
         int original = simple.Fint;
         simple.Fmstring = "Struct Ptr In";
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         Test.Assert(t.StructSimplePtrIn(ref simple));
         Test.AssertEquals(-original, simple.Fint);
         Test.AssertEquals("nI rtP tcurtS", simple.Fmstring);
@@ -282,16 +282,16 @@ class TestStructs
         var simple = structSimpleWithValues();
         int original = simple.Fint;
         simple.Fmstring = "Struct Ptr In Own";
-        test.ITesting t = new test.Testing();
-        test.StructSimple result = t.StructSimplePtrInOwn(ref simple);
+        var t = new Dummy.TestObject();
+        Dummy.StructSimple result = t.StructSimplePtrInOwn(ref simple);
         Test.AssertEquals(-original, result.Fint);
         Test.AssertEquals("nwO nI rtP tcurtS", result.Fmstring);
     }
 
     public static void simple_out()
     {
-        var simple = new test.StructSimple();
-        test.ITesting t = new test.Testing();
+        var simple = new Dummy.StructSimple();
+        var t = new Dummy.TestObject();
         bool r = t.StructSimpleOut(out simple);
         Test.Assert(r, "Function returned false");
         checkStructSimple(simple);
@@ -299,55 +299,55 @@ class TestStructs
 
     public static void simple_ptr_out()
     {
-        test.StructSimple simple;
-        test.ITesting t = new test.Testing();
-        test.StructSimple result = t.StructSimplePtrOut(out simple);
+        Dummy.StructSimple simple;
+        var t = new Dummy.TestObject();
+        Dummy.StructSimple result = t.StructSimplePtrOut(out simple);
         Test.AssertEquals(result.Fint, simple.Fint);
         Test.AssertEquals(result.Fstring, simple.Fstring);
     }
 
     public static void simple_ptr_out_own()
     {
-        test.StructSimple simple;
-        test.ITesting t = new test.Testing();
-        test.StructSimple result = t.StructSimplePtrOutOwn(out simple);
+        Dummy.StructSimple simple;
+        var t = new Dummy.TestObject();
+        Dummy.StructSimple result = t.StructSimplePtrOutOwn(out simple);
         Test.AssertEquals(result.Fint, simple.Fint);
         Test.AssertEquals(simple.Fstring, "Ptr Out Own");
     }
 
     public static void simple_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var simple = t.StructSimpleReturn();
         checkStructSimple(simple);
     }
 
     public static void simple_ptr_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var simple = t.StructSimplePtrReturn();
         Test.AssertEquals(simple.Fstring, "Ret Ptr");
     }
 
     public static void simple_ptr_return_own()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var simple = t.StructSimplePtrReturnOwn();
         Test.AssertEquals(simple.Fstring, "Ret Ptr Own");
     }
 
-    public class StructReturner : test.TestingInherit
+    public class StructReturner : Dummy.TestObject
     {
-        public test.StructSimple received;
+        public Dummy.StructSimple received;
         public bool called;
 
         public StructReturner() : base(null)
         {
             called = false;
-            received = default(test.StructSimple);
+            received = default(Dummy.StructSimple);
         }
 
-        public override bool StructSimpleIn(test.StructSimple simple)
+        public override bool StructSimpleIn(Dummy.StructSimple simple)
         {
             called = true;
             received = simple;
@@ -355,63 +355,63 @@ class TestStructs
             return true;
         }
 
-        public override bool StructSimplePtrIn(ref test.StructSimple simple)
+        public override bool StructSimplePtrIn(ref Dummy.StructSimple simple)
         {
             called = true;
             simple.Fstring = "Virtual Struct Ptr In";
             return true;
         }
 
-        public override test.StructSimple StructSimplePtrInOwn(ref test.StructSimple simple)
+        public override Dummy.StructSimple StructSimplePtrInOwn(ref Dummy.StructSimple simple)
         {
             called = true;
             received = simple;
             return received;
         }
 
-        public override bool StructSimpleOut(out test.StructSimple simple) {
+        public override bool StructSimpleOut(out Dummy.StructSimple simple) {
             called = true;
-            simple = new test.StructSimple();
+            simple = new Dummy.StructSimple();
             simple.Fstring = "Virtual Struct Out";
             return true;
         }
 
-        public override test.StructSimple StructSimplePtrOut(out test.StructSimple simple) {
+        public override Dummy.StructSimple StructSimplePtrOut(out Dummy.StructSimple simple) {
             called = true;
             // No way to explicitly define the ownership of the parameter.
-            simple = new test.StructSimple();
+            simple = new Dummy.StructSimple();
             simple.Fstring = "Virtual Struct Ptr Out";
             return simple;
         }
 
-        public override test.StructSimple StructSimplePtrOutOwn(out test.StructSimple simple) {
+        public override Dummy.StructSimple StructSimplePtrOutOwn(out Dummy.StructSimple simple) {
             called = true;
             // No way to explicitly define the ownership of the parameter.
-            simple = new test.StructSimple();
+            simple = new Dummy.StructSimple();
             simple.Fstring = "Virtual Struct Ptr Out Own";
             return simple;
         }
 
-        public override test.StructSimple StructSimpleReturn()
+        public override Dummy.StructSimple StructSimpleReturn()
         {
             called = true;
-            var simple = new test.StructSimple();
+            var simple = new Dummy.StructSimple();
             simple.Fstring = "Virtual Struct Return";
             return simple;
         }
 
-        public override test.StructSimple StructSimplePtrReturn()
+        public override Dummy.StructSimple StructSimplePtrReturn()
         {
             called = true;
-            var simple = new test.StructSimple();
+            var simple = new Dummy.StructSimple();
             simple.Fstring = "Virtual Struct Ptr Return";
             return simple;
         }
 
-        public override test.StructSimple StructSimplePtrReturnOwn()
+        public override Dummy.StructSimple StructSimplePtrReturnOwn()
         {
             called = true;
-            var simple = new test.StructSimple();
+            var simple = new Dummy.StructSimple();
             simple.Fstring = "Virtual Struct Ptr Return Own";
             return simple;
         }
@@ -453,7 +453,7 @@ class TestStructs
     public static void simple_out_virtual()
     {
         StructReturner t = new StructReturner();
-        test.StructSimple simple;
+        Dummy.StructSimple simple;
         t.CallStructSimpleOut(out simple);
         Test.Assert(t.called, "override was not called");
         Test.AssertEquals("Virtual Struct Out", simple.Fstring);
@@ -462,7 +462,7 @@ class TestStructs
     public static void simple_ptr_out_virtual()
     {
         StructReturner t = new StructReturner();
-        test.StructSimple simple;
+        Dummy.StructSimple simple;
         t.CallStructSimplePtrOut(out simple);
         Test.Assert(t.called, "override was not called");
         Test.AssertEquals("Virtual Struct Ptr Out", simple.Fstring);
@@ -471,7 +471,7 @@ class TestStructs
     public static void simple_ptr_out_own_virtual()
     {
         StructReturner t = new StructReturner();
-        test.StructSimple simple;
+        Dummy.StructSimple simple;
         t.CallStructSimplePtrOutOwn(out simple);
         Test.Assert(t.called, "override was not called");
         Test.AssertEquals("Virtual Struct Ptr Out Own", simple.Fstring);
@@ -480,7 +480,7 @@ class TestStructs
     public static void simple_return_virtual()
     {
         StructReturner t = new StructReturner();
-        test.StructSimple simple = t.CallStructSimpleReturn();
+        Dummy.StructSimple simple = t.CallStructSimpleReturn();
         Test.Assert(t.called, "override was not called");
         Test.AssertEquals("Virtual Struct Return", simple.Fstring);
     }
@@ -488,7 +488,7 @@ class TestStructs
     public static void simple_ptr_return_virtual()
     {
         StructReturner t = new StructReturner();
-        test.StructSimple simple = t.CallStructSimplePtrReturn();
+        Dummy.StructSimple simple = t.CallStructSimplePtrReturn();
         Test.Assert(t.called, "override was not called");
         Test.AssertEquals("Virtual Struct Ptr Return", simple.Fstring);
     }
@@ -496,7 +496,7 @@ class TestStructs
     public static void simple_ptr_return_own_virtual()
     {
         StructReturner t = new StructReturner();
-        test.StructSimple simple = t.CallStructSimplePtrReturnOwn();
+        Dummy.StructSimple simple = t.CallStructSimplePtrReturnOwn();
         Test.Assert(t.called, "override was not called");
         Test.AssertEquals("Virtual Struct Ptr Return Own", simple.Fstring);
     }
@@ -505,7 +505,7 @@ class TestStructs
     public static void complex_in()
     {
         var complex = structComplexWithValues();
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         bool r = t.StructComplexIn(complex);
         Test.Assert(r, "Function returned false");
     }
@@ -520,8 +520,8 @@ class TestStructs
 
     public static void complex_out()
     {
-        var complex = new test.StructComplex();
-        test.ITesting t = new test.Testing();
+        var complex = new Dummy.StructComplex();
+        var t = new Dummy.TestObject();
         bool r = t.StructComplexOut(out complex);
         Test.Assert(r, "Function returned false");
         checkStructComplex(complex);
@@ -537,7 +537,7 @@ class TestStructs
 
     public static void complex_return()
     {
-        test.ITesting t = new test.Testing();
+        var t = new Dummy.TestObject();
         var complex = t.StructComplexReturn();
         checkStructComplex(complex);
     }
index 31326f949c5415b1f0d9adda77ec71ff0a27da35..63b1d1f4be8660f745692d78f08e8f260ae39248 100644 (file)
@@ -13,7 +13,7 @@ public static class TestEinaValue {
 
     public static void TestByteSimple()
     {
-        using (eina.Value v = new eina.Value(eina.ValueType.Byte)) {
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.Byte)) {
             byte val = 0xff;
             Test.Assert(v.Set(val));
             byte x;
@@ -24,7 +24,7 @@ public static class TestEinaValue {
 
     public static void TestSByteSimple()
     {
-        using (eina.Value v = new eina.Value(eina.ValueType.SByte)) {
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.SByte)) {
             sbyte val = -45;
             Test.Assert(v.Set(val));
             sbyte x;
@@ -35,7 +35,7 @@ public static class TestEinaValue {
 
     public static void TestShortSimple()
     {
-        using (eina.Value v = new eina.Value(eina.ValueType.Short)) {
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.Short)) {
             short val = -128;
             Test.Assert(v.Set(val));
             short x;
@@ -46,7 +46,7 @@ public static class TestEinaValue {
 
     public static void TestUShortSimple()
     {
-        using (eina.Value v = new eina.Value(eina.ValueType.UShort)) {
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.UShort)) {
             ushort val = 0xff55;
             Test.Assert(v.Set(val));
             ushort x;
@@ -57,7 +57,7 @@ public static class TestEinaValue {
 
     public static void TestLongSimple()
     {
-        using (eina.Value v = new eina.Value(eina.ValueType.Long)) {
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.Long)) {
             long val = 0xdeadbeef;
             Test.Assert(v.Set(val));
             long x;
@@ -68,7 +68,7 @@ public static class TestEinaValue {
 
     public static void TestULongSimple()
     {
-        using (eina.Value v = new eina.Value(eina.ValueType.ULong)) {
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.ULong)) {
             ulong val = 0xdeadbeef;
             Test.Assert(v.Set(val));
             ulong x;
@@ -79,7 +79,7 @@ public static class TestEinaValue {
 
     public static void TestFloatSimple()
     {
-        using (eina.Value v = new eina.Value(eina.ValueType.Float)) {
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.Float)) {
             float val = 1.609344f;
             Test.Assert(v.Set(val));
             float x;
@@ -90,7 +90,7 @@ public static class TestEinaValue {
 
     public static void TestDoubleSimple()
     {
-        using (eina.Value v = new eina.Value(eina.ValueType.Double)) {
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.Double)) {
             double val = 1.609344;
             Test.Assert(v.Set(val));
             double  x;
@@ -102,7 +102,7 @@ public static class TestEinaValue {
 
     public static void TestIntSimple()
     {
-        using (eina.Value v = new eina.Value(eina.ValueType.Int32)) {
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.Int32)) {
             Test.Assert(v.Set(32));
             int x;
             Test.Assert(v.Get(out x));
@@ -116,7 +116,7 @@ public static class TestEinaValue {
 
     public static void TestUIntSimple()
     {
-        using (eina.Value v = new eina.Value(eina.ValueType.Int32)) {
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.Int32)) {
             Test.Assert(v.Set(0xdeadbeef));
             uint x = 0;
             Test.Assert(v.Get(out x));
@@ -126,7 +126,7 @@ public static class TestEinaValue {
 
     public static void TestStringSimple()
     {
-        using (eina.Value v = new eina.Value(eina.ValueType.String)) {
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.String)) {
             string expected_str = "Hello";
             Test.Assert(v.Set(expected_str));
             string str = null;
@@ -137,10 +137,10 @@ public static class TestEinaValue {
 
     public static void TestErrorSimple()
     {
-        using (eina.Value v = new eina.Value(eina.ValueType.Error)) {
-            eina.Error error = new eina.Error(eina.Error.NO_ERROR);
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.Error)) {
+            Eina.Error error = new Eina.Error(Eina.Error.NO_ERROR);
             Test.Assert(v.Set(error));
-            eina.Error x;
+            Eina.Error x;
             Test.Assert(v.Get(out x));
             Test.AssertEquals(error, x);
         }
@@ -148,10 +148,10 @@ public static class TestEinaValue {
 
     public static void TestSetWrongType()
     {
-        using (eina.Value v = new eina.Value(eina.ValueType.String)) {
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.String)) {
             Test.AssertRaises<ArgumentException>(() => v.Set(42));
             Test.AssertNotRaises<ArgumentException>(() => v.Set("Wumpus"));
-            Test.Assert(v.Setup(eina.ValueType.Int32));
+            Test.Assert(v.Setup(Eina.ValueType.Int32));
             Test.AssertRaises<ArgumentException>(() => v.Set("Wat?"));
             Test.AssertNotRaises<ArgumentException>(() => v.Set(1984));
         }
@@ -159,12 +159,12 @@ public static class TestEinaValue {
 
     public static void TestValueSetup()
     {
-        using (eina.Value v = new eina.Value(eina.ValueType.Int32)) {
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.Int32)) {
             Test.Assert(v.Set(44));
             int x = 0;
             Test.Assert(v.Get(out x));
             Test.AssertEquals(44, x);
-            v.Setup(eina.ValueType.String);
+            v.Setup(Eina.ValueType.String);
 
             string str = "Hello";
             Test.Assert(v.Get(out str));
@@ -174,7 +174,7 @@ public static class TestEinaValue {
 
     public static void TestValueDispose()
     {
-        eina.Value v = new eina.Value(eina.ValueType.Int32);
+        Eina.Value v = new Eina.Value(Eina.ValueType.Int32);
         v.Dispose();
         Test.AssertRaises<ObjectDisposedException>(v.Flush);
         Test.AssertRaises<ObjectDisposedException>(() => v.ToString());
@@ -183,34 +183,34 @@ public static class TestEinaValue {
 
     public static void TestValueFlush()
     {
-        using (eina.Value v = new eina.Value(eina.ValueType.Int32)) {
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.Int32)) {
             Test.Assert(v.Set(44));
             Test.Assert(!v.Flushed);
             v.Flush();
             Test.Assert(v.Flushed);
 
             int x;
-            Test.AssertRaises<eina.ValueFlushedException>(() => v.Get(out x));
+            Test.AssertRaises<Eina.ValueFlushedException>(() => v.Get(out x));
             x = 42;
-            Test.AssertRaises<eina.ValueFlushedException>(() => v.Set(x));
+            Test.AssertRaises<Eina.ValueFlushedException>(() => v.Set(x));
 
-            v.Setup(eina.ValueType.String);
-            Test.AssertNotRaises<eina.ValueFlushedException>(() => v.Set("Hello, EFL"));
+            v.Setup(Eina.ValueType.String);
+            Test.AssertNotRaises<Eina.ValueFlushedException>(() => v.Set("Hello, EFL"));
 
             string y = String.Empty;
-            Test.AssertNotRaises<eina.ValueFlushedException>(() => v.Get(out y));
+            Test.AssertNotRaises<Eina.ValueFlushedException>(() => v.Get(out y));
             v.Flush();
-            Test.AssertRaises<eina.ValueFlushedException>(() => v.Get(out y));
+            Test.AssertRaises<Eina.ValueFlushedException>(() => v.Get(out y));
 
-            v.Setup(eina.ValueType.Array, eina.ValueType.UInt32);
+            v.Setup(Eina.ValueType.Array, Eina.ValueType.UInt32);
 
-            Test.AssertNotRaises<eina.ValueFlushedException>(() =>
+            Test.AssertNotRaises<Eina.ValueFlushedException>(() =>
                     v.Append(42));
             v.Flush();
-            Test.AssertRaises<eina.ValueFlushedException>(() =>
+            Test.AssertRaises<Eina.ValueFlushedException>(() =>
                     v.Append(42));
 
-            Test.AssertRaises<eina.ValueFlushedException>(() => v.GetValueSubType());
+            Test.AssertRaises<Eina.ValueFlushedException>(() => v.GetValueSubType());
 
         }
     }
@@ -218,7 +218,7 @@ public static class TestEinaValue {
     private delegate bool BoolRet();
     public static void TestValueOptionalInt()
     {
-        using (eina.Value a = new eina.Value(eina.ValueType.Optional)) {
+        using (Eina.Value a = new Eina.Value(Eina.ValueType.Optional)) {
             Test.Assert(a.Optional);
             Test.Assert(a.OptionalEmpty); // By default, optional values are empty
 
@@ -242,7 +242,7 @@ public static class TestEinaValue {
     }
     public static void TestValueOptionalUint()
     {
-        using (eina.Value a = new eina.Value(eina.ValueType.Optional)) {
+        using (Eina.Value a = new Eina.Value(Eina.ValueType.Optional)) {
             Test.Assert(a.Optional);
             Test.Assert(a.OptionalEmpty); // By default, optional values are empty
 
@@ -266,13 +266,13 @@ public static class TestEinaValue {
     }
     public static void TestValueOptionalString()
     {
-        using (eina.Value a = new eina.Value(eina.ValueType.Int32)) {
+        using (Eina.Value a = new Eina.Value(Eina.ValueType.Int32)) {
             Test.Assert(!a.Optional);
             BoolRet dummy = () => a.OptionalEmpty;
-            Test.AssertRaises<eina.InvalidValueTypeException>(() => dummy());
+            Test.AssertRaises<Eina.InvalidValueTypeException>(() => dummy());
         }
 
-        using (eina.Value a = new eina.Value(eina.ValueType.Optional)) {
+        using (Eina.Value a = new Eina.Value(Eina.ValueType.Optional)) {
             Test.Assert(a.Optional);
             Test.Assert(a.OptionalEmpty); // By default, optional values are empty
 
@@ -296,9 +296,9 @@ public static class TestEinaValue {
     }
     public static void TestValueOptionalArrays()
     {
-        using (eina.Value a = new eina.Value(eina.ValueType.Optional))
-        using (eina.Value expected = new eina.Value(eina.ValueType.Array,
-                                                 eina.ValueType.Int32))
+        using (Eina.Value a = new Eina.Value(Eina.ValueType.Optional))
+        using (Eina.Value expected = new Eina.Value(Eina.ValueType.Array,
+                                                 Eina.ValueType.Int32))
         {
 
             Test.Assert(a.Optional);
@@ -320,7 +320,7 @@ public static class TestEinaValue {
             Test.Assert(a.Set(expected));
             Test.Assert(!a.OptionalEmpty);
 
-            eina.Value actual = null;
+            Eina.Value actual = null;
             Test.Assert(a.Get(out actual));
             Test.AssertEquals(expected, actual);
 
@@ -330,9 +330,9 @@ public static class TestEinaValue {
     }
     public static void TestValueOptionalLists()
     {
-        using (eina.Value a = new eina.Value(eina.ValueType.Optional))
-        using (eina.Value expected = new eina.Value(eina.ValueType.List,
-                                                 eina.ValueType.Int32))
+        using (Eina.Value a = new Eina.Value(Eina.ValueType.Optional))
+        using (Eina.Value expected = new Eina.Value(Eina.ValueType.List,
+                                                 Eina.ValueType.Int32))
         {
 
             Test.Assert(a.Optional);
@@ -354,7 +354,7 @@ public static class TestEinaValue {
             Test.Assert(a.Set(expected));
             Test.Assert(!a.OptionalEmpty);
 
-            eina.Value actual = null;
+            Eina.Value actual = null;
             Test.Assert(a.Get(out actual));
             Test.AssertEquals(expected, actual);
         }
@@ -362,8 +362,8 @@ public static class TestEinaValue {
 
     public static void TestValueCompareInts()
     {
-        using (eina.Value a = new eina.Value(eina.ValueType.Int32))
-        using (eina.Value b = new eina.Value(eina.ValueType.Int32)) {
+        using (Eina.Value a = new Eina.Value(Eina.ValueType.Int32))
+        using (Eina.Value b = new Eina.Value(Eina.ValueType.Int32)) {
             Test.Assert(a.Set(123));
             Test.Assert(b.Set(123));
             Test.AssertEquals(0, a.CompareTo(b));
@@ -379,9 +379,9 @@ public static class TestEinaValue {
 
     public static void TestValueComparisonEquals()
     {
-        using (eina.Value a = new eina.Value(eina.ValueType.Int32))
-        using (eina.Value b = new eina.Value(eina.ValueType.Int32))
-        using (eina.Value c = new eina.Value(eina.ValueType.Int32)) {
+        using (Eina.Value a = new Eina.Value(Eina.ValueType.Int32))
+        using (Eina.Value b = new Eina.Value(Eina.ValueType.Int32))
+        using (Eina.Value c = new Eina.Value(Eina.ValueType.Int32)) {
             Test.Assert(a.Set(1));
             Test.Assert(b.Set(1));
             Test.Assert(c.Set(1));
@@ -399,8 +399,8 @@ public static class TestEinaValue {
 
     public static void TestValueComparisonOverloadEquals()
     {
-        using (eina.Value a = new eina.Value(eina.ValueType.Int32))
-        using (eina.Value b = new eina.Value(eina.ValueType.Int32)) {
+        using (Eina.Value a = new Eina.Value(Eina.ValueType.Int32))
+        using (Eina.Value b = new Eina.Value(Eina.ValueType.Int32)) {
             Test.Assert(a.Set(1));
             Test.Assert(b.Set(1));
 
@@ -423,8 +423,8 @@ public static class TestEinaValue {
 
     public static void TestValueComparisonOverloadLessMore()
     {
-        using (eina.Value a = new eina.Value(eina.ValueType.Int32))
-        using (eina.Value b = new eina.Value(eina.ValueType.Int32)) {
+        using (Eina.Value a = new Eina.Value(Eina.ValueType.Int32))
+        using (Eina.Value b = new Eina.Value(Eina.ValueType.Int32)) {
             Test.Assert(a.Set(1));
             Test.Assert(b.Set(0));
 
@@ -437,8 +437,8 @@ public static class TestEinaValue {
 
     public static void TestValueCompareStrings()
     {
-        using (eina.Value a = new eina.Value(eina.ValueType.String))
-        using (eina.Value b = new eina.Value(eina.ValueType.String)) {
+        using (Eina.Value a = new Eina.Value(Eina.ValueType.String))
+        using (Eina.Value b = new Eina.Value(Eina.ValueType.String)) {
             Test.Assert(a.Set("aaa"));
             Test.Assert(b.Set("aaa"));
             Test.AssertEquals(0, a.CompareTo(b));
@@ -455,8 +455,8 @@ public static class TestEinaValue {
 
     public static void TestValueCompareArray()
     {
-        using(eina.Value a = new eina.Value(eina.ValueType.Array, eina.ValueType.Int32))
-        using(eina.Value b = new eina.Value(eina.ValueType.Array, eina.ValueType.Int32)) {
+        using(Eina.Value a = new Eina.Value(Eina.ValueType.Array, Eina.ValueType.Int32))
+        using(Eina.Value b = new Eina.Value(Eina.ValueType.Array, Eina.ValueType.Int32)) {
 
             Test.AssertEquals(a, b);
 
@@ -498,8 +498,8 @@ public static class TestEinaValue {
 
     public static void TestValueCompareList()
     {
-        using(eina.Value a = new eina.Value(eina.ValueType.List, eina.ValueType.Int32))
-        using(eina.Value b = new eina.Value(eina.ValueType.List, eina.ValueType.Int32)) {
+        using(Eina.Value a = new Eina.Value(Eina.ValueType.List, Eina.ValueType.Int32))
+        using(Eina.Value b = new Eina.Value(Eina.ValueType.List, Eina.ValueType.Int32)) {
 
             Test.AssertEquals(a, b);
 
@@ -546,7 +546,7 @@ public static class TestEinaValue {
 
     public static void TestValueToString()
     {
-        using(eina.Value a = new eina.Value(eina.ValueType.Int32)) {
+        using(Eina.Value a = new Eina.Value(Eina.ValueType.Int32)) {
             int i = -12345;
             string x = $"{i}";
             Test.Assert(a.Set(i));
@@ -554,13 +554,13 @@ public static class TestEinaValue {
 
             uint u = 0xdeadbeef;
             x = $"{u}";
-            Test.Assert(a.Setup(eina.ValueType.UInt32));
+            Test.Assert(a.Setup(Eina.ValueType.UInt32));
             Test.Assert(a.Set(u));
             Test.AssertEquals(x, a.ToString());
 
             string s = "Hello, Johnny!";
             x = s;
-            Test.Assert(a.Setup(eina.ValueType.String));
+            Test.Assert(a.Setup(Eina.ValueType.String));
             Test.Assert(a.Set(s));
             Test.AssertEquals(x, a.ToString());
         }
@@ -568,8 +568,8 @@ public static class TestEinaValue {
 
     public static void TestValueConvertInt()
     {
-        using(eina.Value from = new eina.Value(eina.ValueType.Int32))
-        using(eina.Value to = new eina.Value(eina.ValueType.UInt32)) {
+        using(Eina.Value from = new Eina.Value(Eina.ValueType.Int32))
+        using(Eina.Value to = new Eina.Value(Eina.ValueType.UInt32)) {
             int source = 0x7FFFFFFF;
             uint target_uint;
             int target_int;
@@ -581,12 +581,12 @@ public static class TestEinaValue {
             Test.Assert(to.Get(out target_uint));
             Test.AssertEquals(target_uint, (uint)source);
 
-            Test.Assert(to.Setup(eina.ValueType.Int32));
+            Test.Assert(to.Setup(Eina.ValueType.Int32));
             Test.Assert(from.ConvertTo(to));
             Test.Assert(to.Get(out target_int));
             Test.AssertEquals(target_int, source);
 
-            Test.Assert(to.Setup(eina.ValueType.String));
+            Test.Assert(to.Setup(Eina.ValueType.String));
             Test.Assert(from.ConvertTo(to));
             Test.Assert(to.Get(out target_str));
             Test.AssertEquals(target_str, source_str);
@@ -598,8 +598,8 @@ public static class TestEinaValue {
 
     public static void TestValueConvertUInt()
     {
-        using(eina.Value from = new eina.Value(eina.ValueType.UInt32))
-        using(eina.Value to = new eina.Value(eina.ValueType.UInt32)) {
+        using(Eina.Value from = new Eina.Value(Eina.ValueType.UInt32))
+        using(Eina.Value to = new Eina.Value(Eina.ValueType.UInt32)) {
             uint source = 0xFFFFFFFF;
             uint target_uint;
             string target_str;
@@ -610,10 +610,10 @@ public static class TestEinaValue {
             Test.Assert(to.Get(out target_uint));
             Test.AssertEquals(target_uint, source);
 
-            Test.Assert(to.Setup(eina.ValueType.Int32));
+            Test.Assert(to.Setup(Eina.ValueType.Int32));
             Test.Assert(!from.ConvertTo(to));
 
-            Test.Assert(to.Setup(eina.ValueType.String));
+            Test.Assert(to.Setup(Eina.ValueType.String));
             Test.Assert(from.ConvertTo(to));
             Test.Assert(to.Get(out target_str));
             Test.AssertEquals(target_str, source_str);
@@ -626,21 +626,21 @@ public static class TestEinaValue {
     public static void TestValueContainerConstructorWrongArgs()
     {
         Test.AssertRaises<ArgumentException>(() => {
-            using(eina.Value array = new eina.Value(eina.ValueType.String, eina.ValueType.String)) { }
+            using(Eina.Value array = new Eina.Value(Eina.ValueType.String, Eina.ValueType.String)) { }
         });
     }
 
     public static void TestValueContainerWithNonContainerAccess()
     {
-        using(eina.Value array = new eina.Value(eina.ValueType.Int32)) {
-            Test.AssertRaises<eina.InvalidValueTypeException>(() => array[0] = 1);
+        using(Eina.Value array = new Eina.Value(Eina.ValueType.Int32)) {
+            Test.AssertRaises<Eina.InvalidValueTypeException>(() => array[0] = 1);
             object val = null;
-            Test.AssertRaises<eina.InvalidValueTypeException>(() => val = array[0]);
+            Test.AssertRaises<Eina.InvalidValueTypeException>(() => val = array[0]);
         }
     }
 
     public static void TestValueArray() {
-        using(eina.Value array = new eina.Value(eina.ValueType.Array, eina.ValueType.Int32)) {
+        using(Eina.Value array = new Eina.Value(Eina.ValueType.Array, Eina.ValueType.Int32)) {
             Test.AssertEquals(0, array.Count());
             Test.Assert(array.Append(0));
             Test.AssertEquals(1, array.Count());
@@ -669,13 +669,13 @@ public static class TestEinaValue {
             Test.AssertEquals("[1984, -42, 5, 42]", array.ToString());
         }
 
-        using(eina.Value array = new eina.Value(eina.ValueType.Array, eina.ValueType.UInt32)) {
+        using(Eina.Value array = new Eina.Value(Eina.ValueType.Array, Eina.ValueType.UInt32)) {
             Test.Assert(array.Append(2));
             Test.AssertEquals((uint)array[0], (uint)2);
             Test.AssertRaises<OverflowException>(() => array[0] = -1);
         }
 
-        using(eina.Value array = new eina.Value(eina.ValueType.Array, eina.ValueType.String)) {
+        using(Eina.Value array = new Eina.Value(Eina.ValueType.Array, Eina.ValueType.String)) {
 
             Test.Assert(array.Append("hello"));
             Test.Assert(array.Append("world"));
@@ -692,7 +692,7 @@ public static class TestEinaValue {
     }
 
     public static void TestArrayOutOfBounds() {
-        using(eina.Value array = new eina.Value(eina.ValueType.Array, eina.ValueType.Int32)) {
+        using(Eina.Value array = new Eina.Value(Eina.ValueType.Array, Eina.ValueType.Int32)) {
             object placeholder = null;
             Test.AssertRaises<System.ArgumentOutOfRangeException>(() => array[0] = 1);
             Test.AssertRaises<System.ArgumentOutOfRangeException>(() => placeholder = array[0]);
@@ -708,16 +708,16 @@ public static class TestEinaValue {
     }
 
     public static void TestValueArraySubType() {
-        using(eina.Value array = new eina.Value(eina.ValueType.Array, eina.ValueType.Int32))
-            Test.AssertEquals(eina.ValueType.Int32, array.GetValueSubType());
+        using(Eina.Value array = new Eina.Value(Eina.ValueType.Array, Eina.ValueType.Int32))
+            Test.AssertEquals(Eina.ValueType.Int32, array.GetValueSubType());
 
-        using(eina.Value array = new eina.Value(eina.ValueType.Array, eina.ValueType.UInt32))
-            Test.AssertEquals(eina.ValueType.UInt32, array.GetValueSubType());
+        using(Eina.Value array = new Eina.Value(Eina.ValueType.Array, Eina.ValueType.UInt32))
+            Test.AssertEquals(Eina.ValueType.UInt32, array.GetValueSubType());
     }
 
     public static void TestValueArrayConvert() {
-        using(eina.Value array = new eina.Value(eina.ValueType.Array, eina.ValueType.Int32))
-        using(eina.Value other = new eina.Value(eina.ValueType.Int32)) {
+        using(Eina.Value array = new Eina.Value(Eina.ValueType.Array, Eina.ValueType.Int32))
+        using(Eina.Value other = new Eina.Value(Eina.ValueType.Int32)) {
             other.Set(100);
             other.ConvertTo(array);
             Test.AssertEquals(100, (int)array[0]);
@@ -726,7 +726,7 @@ public static class TestEinaValue {
     }
 
     public static void TestValueList() {
-        using(eina.Value list = new eina.Value(eina.ValueType.List, eina.ValueType.Int32)) {
+        using(Eina.Value list = new Eina.Value(Eina.ValueType.List, Eina.ValueType.Int32)) {
             Test.AssertEquals(0, list.Count());
             Test.Assert(list.Append(0));
             Test.AssertEquals(1, list.Count());
@@ -755,13 +755,13 @@ public static class TestEinaValue {
             Test.AssertEquals("[1984, -42, 5, 42]", list.ToString());
         }
 
-        using(eina.Value list = new eina.Value(eina.ValueType.List, eina.ValueType.UInt32)) {
+        using(Eina.Value list = new Eina.Value(Eina.ValueType.List, Eina.ValueType.UInt32)) {
             Test.Assert(list.Append(2));
             Test.AssertEquals((uint)list[0], (uint)2);
             Test.AssertRaises<OverflowException>(() => list[0] = -1);
         }
 
-        using(eina.Value list = new eina.Value(eina.ValueType.List, eina.ValueType.String)) {
+        using(Eina.Value list = new Eina.Value(Eina.ValueType.List, Eina.ValueType.String)) {
 
             Test.Assert(list.Append("hello"));
             Test.Assert(list.Append("world"));
@@ -778,7 +778,7 @@ public static class TestEinaValue {
     }
 
     public static void TestListOutOfBounds() {
-        using(eina.Value list = new eina.Value(eina.ValueType.List, eina.ValueType.Int32)) {
+        using(Eina.Value list = new Eina.Value(Eina.ValueType.List, Eina.ValueType.Int32)) {
             object placeholder = null;
             Test.AssertRaises<System.ArgumentOutOfRangeException>(() => list[0] = 1);
             Test.AssertRaises<System.ArgumentOutOfRangeException>(() => placeholder = list[0]);
@@ -794,16 +794,16 @@ public static class TestEinaValue {
     }
 
     public static void TestValueListSubType() {
-        using(eina.Value list = new eina.Value(eina.ValueType.List, eina.ValueType.Int32))
-            Test.AssertEquals(eina.ValueType.Int32, list.GetValueSubType());
+        using(Eina.Value list = new Eina.Value(Eina.ValueType.List, Eina.ValueType.Int32))
+            Test.AssertEquals(Eina.ValueType.Int32, list.GetValueSubType());
 
-        using(eina.Value list = new eina.Value(eina.ValueType.List, eina.ValueType.UInt32))
-            Test.AssertEquals(eina.ValueType.UInt32, list.GetValueSubType());
+        using(Eina.Value list = new Eina.Value(Eina.ValueType.List, Eina.ValueType.UInt32))
+            Test.AssertEquals(Eina.ValueType.UInt32, list.GetValueSubType());
     }
 
     public static void TestValueListConvert() {
-        using(eina.Value list = new eina.Value(eina.ValueType.List, eina.ValueType.Int32))
-        using(eina.Value other = new eina.Value(eina.ValueType.Int32)) {
+        using(Eina.Value list = new Eina.Value(Eina.ValueType.List, Eina.ValueType.Int32))
+        using(Eina.Value other = new Eina.Value(Eina.ValueType.Int32)) {
             other.Set(100);
             other.ConvertTo(list);
             Test.AssertEquals(100, (int)list[0]);
@@ -813,20 +813,20 @@ public static class TestEinaValue {
 
     public static void TestStringThroughValue() {
         // Check if Value_Native->Value doesn't try to free the pointed string.
-        using(eina.Value value_ptr = new eina.Value(eina.ValueType.String)) {
+        using(Eina.Value value_ptr = new Eina.Value(Eina.ValueType.String)) {
             string payload = "Something";
             value_ptr.Set(payload);
-            eina.Value_Native byvalue = value_ptr;
-            eina.Value another_value_ptr = byvalue;
+            Eina.ValueNative byvalue = value_ptr;
+            Eina.Value another_value_ptr = byvalue;
             Test.AssertEquals(value_ptr, another_value_ptr);
         }
     }
 
     public static void TestValueEmpty() {
-        using (eina.Value empty = new eina.Value(eina.ValueType.Empty)) {
+        using (Eina.Value empty = new Eina.Value(Eina.ValueType.Empty)) {
             Test.Assert(empty.Empty, "Value must be empty");
 
-            empty.Setup(eina.ValueType.Int32);
+            empty.Setup(Eina.ValueType.Int32);
 
             // Values already set-up are not empty. For this kind of empty, use Optional
             Test.Assert(!empty.Empty, "Values already set-up must not be empty.");
@@ -837,13 +837,13 @@ public static class TestEinaValue {
     }
 
     public static void TestValueCopy() {
-        eina.Value v2 = null;
+        Eina.Value v2 = null;
         int raw_val = 42;
 
-        using (eina.Value v = new eina.Value(eina.ValueType.Int32)) {
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.Int32)) {
             Test.Assert(v.Set(raw_val));
 
-            v2 = new eina.Value(v);
+            v2 = new Eina.Value(v);
         }
 
         int rec_val;
index 4c3531544b8e2a4104630c2b9820943c9c5c826a..78da29087a618c23c3423fa62d54d756b3c94d15 100644 (file)
@@ -11,15 +11,15 @@ namespace TestSuite {
 public static class TestEinaValueEolian {
     public static void TestEolianEinaValueInReturn()
     {
-        test.ITesting obj = new test.Testing();
+        var obj = new Dummy.TestObject();
 
-        using (eina.Value v = new eina.Value(eina.ValueType.Int32)) {
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.Int32)) {
             v.Set(42);
             obj.SetValuePtr(v);
-            Test.AssertEquals(eina.Ownership.Managed, v.Ownership);
+            Test.AssertEquals(Eina.Ownership.Managed, v.Ownership);
 
-            eina.Value v_received = obj.GetValuePtrOwn();
-            Test.AssertEquals(eina.Ownership.Managed, v_received.Ownership);
+            Eina.Value v_received = obj.GetValuePtrOwn();
+            Test.AssertEquals(Eina.Ownership.Managed, v_received.Ownership);
             Test.AssertEquals(v, v_received);
             v_received.Dispose();
         }
@@ -27,17 +27,17 @@ public static class TestEinaValueEolian {
 
     public static void TestEolianEinaValueInOwn()
     {
-        test.ITesting obj = new test.Testing();
+        var obj = new Dummy.TestObject();
 
-        using (eina.Value v = new eina.Value(eina.ValueType.Int32)) {
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.Int32)) {
             v.Set(2001);
-            Test.AssertEquals(eina.Ownership.Managed, v.Ownership);
+            Test.AssertEquals(Eina.Ownership.Managed, v.Ownership);
 
             obj.SetValuePtrOwn(v);
-            Test.AssertEquals(eina.Ownership.Unmanaged, v.Ownership);
+            Test.AssertEquals(Eina.Ownership.Unmanaged, v.Ownership);
 
-            eina.Value v_received = obj.GetValuePtr();
-            Test.AssertEquals(eina.Ownership.Unmanaged, v_received.Ownership);
+            Eina.Value v_received = obj.GetValuePtr();
+            Test.AssertEquals(Eina.Ownership.Unmanaged, v_received.Ownership);
 
             Test.AssertEquals(v, v_received);
 
@@ -47,62 +47,62 @@ public static class TestEinaValueEolian {
 
     public static void TestEolianEinaValueOut()
     {
-        test.ITesting obj = new test.Testing();
+        var obj = new Dummy.TestObject();
 
-        using (eina.Value v = new eina.Value(eina.ValueType.String)) {
-            eina.Value v_out = null;
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.String)) {
+            Eina.Value v_out = null;
 
             v.Set("hello!");
             obj.SetValuePtr(v);
             obj.OutValuePtr(out v_out);
 
             Test.AssertEquals(v, v_out);
-            Test.AssertEquals(eina.Ownership.Unmanaged, v_out.Ownership);
+            Test.AssertEquals(Eina.Ownership.Unmanaged, v_out.Ownership);
         }
     }
 
     public static void TestEolianEinaValueOutOwn()
     {
-        test.ITesting obj = new test.Testing();
+        var obj = new Dummy.TestObject();
 
-        using (eina.Value v = new eina.Value(eina.ValueType.String)) {
-            eina.Value v_out = null;
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.String)) {
+            Eina.Value v_out = null;
 
             v.Set("hello!");
             obj.SetValuePtr(v);
             obj.OutValuePtrOwn(out v_out);
 
             Test.AssertEquals(v, v_out);
-            Test.AssertEquals(eina.Ownership.Managed, v_out.Ownership);
+            Test.AssertEquals(Eina.Ownership.Managed, v_out.Ownership);
         }
     }
 
     public static void TestEolianEinaValueOutByValue()
     {
-        test.ITesting obj = new test.Testing();
+        var obj = new Dummy.TestObject();
 
-        using (eina.Value v = new eina.Value(eina.ValueType.String)) {
-            eina.Value v_out = null;
+        using (Eina.Value v = new Eina.Value(Eina.ValueType.String)) {
+            Eina.Value v_out = null;
 
             v.Set("hello!");
             obj.SetValue(v);
             obj.OutValue(out v_out);
 
             Test.AssertEquals(v, v_out);
-            Test.AssertEquals(eina.Ownership.Managed, v_out.Ownership);
+            Test.AssertEquals(Eina.Ownership.Managed, v_out.Ownership);
         }
     }
 
-    private class ValueHandler : test.TestingInherit
+    private class ValueHandler : Dummy.TestObject
     {
-        public eina.Value value;
+        public Eina.Value value;
 
         public ValueHandler() : base(null)
         {
             value = null;
         }
 
-        public override void SetValue(eina.Value value)
+        public override void SetValue(Eina.Value value)
         {
             this.value = value;
         }
@@ -111,7 +111,7 @@ public static class TestEinaValueEolian {
     public static void TestEolianEinaValueByValueConst()
     {
         ValueHandler obj = new ValueHandler();
-        using (eina.Value val = new eina.Value(eina.ValueType.String)) {
+        using (Eina.Value val = new Eina.Value(Eina.ValueType.String)) {
             obj.CallSetValue(val);
             Test.AssertEquals(val, obj.value);
         }
diff --git a/src/tests/efl_mono/dummy_another_iface.eo b/src/tests/efl_mono/dummy_another_iface.eo
new file mode 100644 (file)
index 0000000..6c4376e
--- /dev/null
@@ -0,0 +1,10 @@
+interface Dummy.Another_Iface ()
+{
+   methods {
+      emit_another_conflicted {
+      }
+   }
+   events {
+      conflicted: void;
+   }
+}
diff --git a/src/tests/efl_mono/dummy_child.eo b/src/tests/efl_mono/dummy_child.eo
new file mode 100644 (file)
index 0000000..e3e1a7c
--- /dev/null
@@ -0,0 +1,9 @@
+import eina_types;
+
+class Dummy.Child extends Dummy.Test_Object {
+
+   implements {
+      class.constructor;
+      class.destructor;
+   }
+}
diff --git a/src/tests/efl_mono/dummy_numberwrapper.eo b/src/tests/efl_mono/dummy_numberwrapper.eo
new file mode 100644 (file)
index 0000000..98b2652
--- /dev/null
@@ -0,0 +1,13 @@
+class Dummy.Numberwrapper extends Efl.Object {
+   methods {
+      @property number {
+         get {
+         }
+         set {
+         }
+         values {
+             n: int;
+         }
+      }
+   }
+}
diff --git a/src/tests/efl_mono/dummy_test_iface.eo b/src/tests/efl_mono/dummy_test_iface.eo
new file mode 100644 (file)
index 0000000..f7295e7
--- /dev/null
@@ -0,0 +1,13 @@
+interface Dummy.Test_Iface ()
+{
+   methods {
+      emit_test_conflicted {
+      }
+      emit_nonconflicted {
+      }
+   }
+   events {
+      conflicted: void;
+      nonconflicted: void;
+   }
+}
diff --git a/src/tests/efl_mono/dummy_test_object.eo b/src/tests/efl_mono/dummy_test_object.eo
new file mode 100644 (file)
index 0000000..a72e13a
--- /dev/null
@@ -0,0 +1,1663 @@
+import eina_types;
+
+type Dummy.MyInt: int;
+
+enum Dummy.SampleEnum {
+   v0,
+   v1,
+   v2,
+   v3,
+   v4,
+}
+
+struct Dummy.StructSimple
+{
+   fbyte: byte;
+   fubyte: ubyte;
+   fchar: char;
+   fshort: short;
+   fushort: ushort;
+   fint: int;
+   fuint: uint;
+   flong: long;
+   fulong: ulong;
+   fllong: llong;
+   fullong: ullong;
+   fint8: int8;
+   fuint8: uint8;
+   fint16: int16;
+   fuint16: uint16;
+   fint32: int32;
+   fuint32: uint32;
+   fint64: int64;
+   fuint64: uint64;
+   fssize: ssize;
+   fsize: size;
+   fintptr: intptr;
+   // fuintptr: uintptr; // TODO
+   fptrdiff: ptrdiff;
+   ffloat: float;
+   fdouble: double;
+   fbool: bool;
+   fvoid_ptr: void_ptr;
+   fenum: Dummy.SampleEnum;
+   // fboolptr: ptr(bool); // TODO
+   // fbyteptr: ptr(byte);
+   // fubyteptr: ptr(ubyte);
+   // fcharptr: ptr(char);
+   // fuint8ptr: ptr(uint8);
+   // fint16ptr: ptr(int16);
+   // fuint64ptr: ptr(uint64);
+   // fssizeptr: ptr(ssize);
+   // fsizeptr: ptr(size);
+   // fintptrptr: ptr(intptr);
+   // fptrdiffptr: ptr(ptrdiff);
+   // ffloatptr: ptr(float);
+   // fdoubleptr: ptr(double);
+   // fvoid_ptrptr: ptr(void_ptr);
+   // fenumptr: ptr(Dummy.SampleEnum);
+   fstring: string;
+   fmstring: mstring;
+   fstringshare: stringshare;
+   fmyint: Dummy.MyInt;
+}
+
+struct Dummy.StructComplex {
+   farray: array<ptr(int)>;
+   finarray: inarray<int>;
+   flist: list<string>;
+   finlist: inlist<ptr(int)>;
+   fhash: hash<string, string>;
+   fiterator: iterator<ptr(int)>;
+   fany_value: any_value;
+   fany_value_ptr: any_value_ptr;
+   fbinbuf: ptr(Eina.Binbuf);
+   fslice: Eina.Slice;
+   // fslice: ptr(Eina.Slice); // TODO
+   fobj: Dummy.Numberwrapper;
+}
+
+function Dummy.SimpleCb {
+   params {
+      a: int;
+   }
+   return: int;
+};
+
+function Dummy.FormatCb {
+   params {
+      @in str: strbuf;
+      @in value: const(any_value);
+   }
+};
+
+class Dummy.Test_Object extends Efl.Object implements Efl.Part, Dummy.Test_Iface, Dummy.Another_Iface {
+
+   parts {
+      part_one: Dummy.Test_Object; [[ Part number one. ]]
+      part_two: Dummy.Test_Object; [[ Part number two. ]]
+   }
+   methods {
+      return_object {
+         return: Dummy.Test_Object;
+      }
+
+      int_out {
+         params {
+            @in x: int;
+            @out y: int;
+         }
+      }
+
+      int_ptr_out {
+         params {
+            @in x: int;
+            @out y: ptr(int);
+         }
+      }
+
+      in_stringshare {
+         params {
+            @in v: stringshare;
+         }
+         return: stringshare @owned;
+      }
+      in_own_stringshare {
+         params {
+            @in v: stringshare @owned;
+         }
+         return: stringshare @owned;
+      }
+
+      out_stringshare {
+         params {
+            @out v: stringshare;
+         }
+      }
+      out_own_stringshare {
+         params {
+            @out v: stringshare @owned;
+         }
+      }
+
+      return_stringshare {
+         return: stringshare;
+      }
+      return_own_stringshare {
+         return: stringshare @owned;
+      }
+
+      in_string {
+         params {
+            @in str: string;
+         }
+         return: string @owned;
+      }
+
+      in_own_string {
+         params {
+            @in str: mstring @owned;
+         }
+         return: mstring @owned;
+      }
+
+      return_string {
+         return: string;
+      }
+
+      return_own_string {
+         return: string @owned;
+      }
+
+      out_string {
+         params {
+            @out str: string;
+         }
+      }
+
+      out_own_string {
+         params {
+            @out str: string @owned;
+         }
+      }
+
+      call_in_string {
+        params {
+            @in str: string;
+        }
+      }
+
+      call_in_own_string {
+        params {
+            @in str: mstring @owned;
+        }
+      }
+
+      call_return_string {
+         return: string;
+      }
+
+      call_return_own_string {
+         return: string @owned;
+      }
+
+      call_out_string {
+         return: string;
+      }
+
+      call_out_own_string {
+         return: string @owned;
+      }
+
+      // Stringshare virtual helpers
+      call_in_stringshare {
+        params {
+            @in str: stringshare;
+        }
+      }
+
+      call_in_own_stringshare {
+        params {
+            @in str: stringshare @owned;
+        }
+      }
+
+      call_return_stringshare {
+         return: stringshare;
+      }
+
+      call_return_own_stringshare {
+         return: stringshare @owned;
+      }
+
+      call_out_stringshare {
+         return: stringshare;
+      }
+
+      call_out_own_stringshare {
+         return: stringshare @owned;
+      }
+
+      eina_slice_in {
+         params {
+            @in slice: Eina.Slice;
+         }
+         return: bool;
+      }
+
+      eina_rw_slice_in {
+         params {
+            @in slice: Eina.Rw_Slice;
+         }
+         return: bool;
+      }
+
+      eina_slice_out {
+         params {
+            @out slice: Eina.Slice;
+         }
+         return: bool;
+      }
+
+      eina_rw_slice_out {
+         params {
+            @out slice: Eina.Rw_Slice;
+         }
+         return: bool;
+      }
+
+      /*
+      eina_slice_return {
+         return: Eina.Slice;
+      }
+
+      eina_rw_slice_return {
+         return: Eina.Rw_Slice;
+      }
+      */
+
+      eina_binbuf_in {
+         params {
+            @in binbuf: ptr(Eina.Binbuf);
+         }
+         return: bool;
+      }
+
+      call_eina_binbuf_in {
+         params {
+            @in binbuf: ptr(Eina.Binbuf);
+         }
+         return: bool;
+      }
+
+      eina_binbuf_in_own {
+         params {
+            @in binbuf: ptr(Eina.Binbuf) @owned;
+         }
+         return: bool;
+      }
+
+      call_eina_binbuf_in_own {
+        params {
+            @in str: ptr(Eina.Binbuf) @owned;
+        }
+        return: bool;
+      }
+
+      check_binbuf_in_own {
+         return: bool;
+      }
+
+      eina_binbuf_out {
+         params {
+            @out binbuf: ptr(Eina.Binbuf);
+         }
+         return: bool;
+      }
+
+      call_eina_binbuf_out {
+         return: ptr(Eina.Binbuf);
+      }
+
+      check_binbuf_out {
+         return: bool;
+      }
+
+      eina_binbuf_out_own {
+         params {
+            @out binbuf: ptr(Eina.Binbuf) @owned;
+         }
+         return: bool;
+      }
+
+      call_eina_binbuf_out_own {
+         return: ptr(Eina.Binbuf) @owned;
+      }
+
+      eina_binbuf_return {
+         return: ptr(Eina.Binbuf);
+      }
+
+      call_eina_binbuf_return {
+         return: ptr(Eina.Binbuf);
+      }
+
+      check_binbuf_return {
+         return: bool;
+      }
+
+      eina_binbuf_return_own {
+         return: ptr(Eina.Binbuf) @owned;
+      }
+
+      call_eina_binbuf_return_own {
+         return: ptr(Eina.Binbuf) @owned;
+      }
+
+      /* Eina Array */
+
+      /* Integer */
+      eina_array_int_in {
+         params {
+            @in arr: array<ptr(int)>;
+         }
+         return: bool;
+      }
+
+      eina_array_int_in_own {
+         params {
+            @in arr: array<ptr(int) @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_array_int_in_own {
+         return: bool;
+      }
+
+      eina_array_int_out {
+         params {
+            @out arr: array<ptr(int)>;
+         }
+         return: bool;
+      }
+      check_eina_array_int_out {
+         return: bool;
+      }
+
+      eina_array_int_out_own {
+         params {
+            @out arr: array<ptr(int) @owned> @owned;
+         }
+         return: bool;
+      }
+
+      eina_array_int_return {
+         return: array<ptr(int)>;
+      }
+      check_eina_array_int_return {
+         return: bool;
+      }
+
+      eina_array_int_return_own {
+         return: array<ptr(int) @owned> @owned;
+      }
+
+      /* String */
+      eina_array_str_in {
+         params {
+            @in arr: array<string>;
+         }
+         return: bool;
+      }
+
+      eina_array_str_in_own {
+         params {
+            @in arr: array<string @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_array_str_in_own {
+         return: bool;
+      }
+
+      eina_array_str_out {
+         params {
+            @out arr: array<string>;
+         }
+         return: bool;
+      }
+      check_eina_array_str_out {
+         return: bool;
+      }
+
+      eina_array_str_out_own {
+         params {
+            @out arr: array<string @owned> @owned;
+         }
+         return: bool;
+      }
+
+      eina_array_str_return {
+         return: array<string>;
+      }
+      check_eina_array_str_return {
+         return: bool;
+      }
+
+      eina_array_str_return_own {
+         return: array<string @owned> @owned;
+      }
+
+      /* Object */
+      eina_array_obj_in {
+         params {
+            @in arr: array<Dummy.Numberwrapper>;
+         }
+         return: bool;
+      }
+
+      eina_array_obj_in_own {
+         params {
+            @in arr: array<Dummy.Numberwrapper @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_array_obj_in_own {
+         return: bool;
+      }
+
+      eina_array_obj_out {
+         params {
+            @out arr: array<Dummy.Numberwrapper>;
+         }
+         return: bool;
+      }
+      check_eina_array_obj_out {
+         return: bool;
+      }
+
+      eina_array_obj_out_own {
+         params {
+            @out arr: array<Dummy.Numberwrapper @owned> @owned;
+         }
+         return: bool;
+      }
+
+      eina_array_obj_return {
+         return: array<Dummy.Numberwrapper>;
+      }
+      check_eina_array_obj_return {
+         return: bool;
+      }
+
+      eina_array_obj_return_own {
+         return: array<Dummy.Numberwrapper @owned> @owned;
+      }
+
+      eina_array_obj_return_in {
+         params {
+            @in arr: array<Dummy.Numberwrapper>;
+         }
+         return: array<Dummy.Numberwrapper>;
+     }
+
+      /* Eina Inarray */
+
+      /* Integer */
+      eina_inarray_int_in {
+         params {
+            @in arr: inarray<ptr(int)>;
+         }
+         return: bool;
+      }
+
+      eina_inarray_int_in_own {
+         params {
+            @in arr: inarray<ptr(int) @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_inarray_int_in_own {
+         return: bool;
+      }
+
+      eina_inarray_int_out {
+         params {
+            @out arr: inarray<ptr(int)>;
+         }
+         return: bool;
+      }
+      check_eina_inarray_int_out {
+         return: bool;
+      }
+
+      eina_inarray_int_out_own {
+         params {
+            @out arr: inarray<ptr(int) @owned> @owned;
+         }
+         return: bool;
+      }
+
+      eina_inarray_int_return {
+         return: inarray<int>;
+      }
+      check_eina_inarray_int_return {
+         return: bool;
+      }
+
+      eina_inarray_int_return_own {
+         return: inarray<ptr(int) @owned> @owned;
+      }
+
+      /* String */
+      eina_inarray_str_in {
+         params {
+            @in arr: inarray<string>;
+         }
+         return: bool;
+      }
+
+      eina_inarray_str_in_own {
+         params {
+            @in arr: inarray<string @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_inarray_str_in_own {
+         return: bool;
+      }
+
+      eina_inarray_str_out {
+         params {
+            @out arr: inarray<string>;
+         }
+         return: bool;
+      }
+      check_eina_inarray_str_out {
+         return: bool;
+      }
+
+      eina_inarray_str_out_own {
+         params {
+            @out arr: inarray<string @owned> @owned;
+         }
+         return: bool;
+      }
+
+      eina_inarray_str_return {
+         return: inarray<string>;
+      }
+      check_eina_inarray_str_return {
+         return: bool;
+      }
+
+      eina_inarray_str_return_own {
+         return: inarray<string @owned> @owned;
+      }
+
+      /* Object */
+      eina_inarray_obj_in {
+         params {
+            @in arr: inarray<Dummy.Numberwrapper>;
+         }
+         return: bool;
+      }
+
+      eina_inarray_obj_in_own {
+         params {
+            @in arr: inarray<Dummy.Numberwrapper @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_inarray_obj_in_own {
+         return: bool;
+      }
+
+      eina_inarray_obj_out {
+         params {
+            @out arr: inarray<Dummy.Numberwrapper>;
+         }
+         return: bool;
+      }
+      check_eina_inarray_obj_out {
+         return: bool;
+      }
+
+      eina_inarray_obj_out_own {
+         params {
+            @out arr: inarray<Dummy.Numberwrapper @owned> @owned;
+         }
+         return: bool;
+      }
+
+      eina_inarray_obj_return {
+         return: inarray<Dummy.Numberwrapper>;
+      }
+      check_eina_inarray_obj_return {
+         return: bool;
+      }
+
+      eina_inarray_obj_return_own {
+         return: inarray<Dummy.Numberwrapper @owned> @owned;
+      }
+
+      eina_inarray_obj_return_in {
+         params {
+            @in arr: inarray<Dummy.Numberwrapper>;
+         }
+         return: inarray<Dummy.Numberwrapper>;
+     }
+
+      /* Eina List */
+
+      /* Integer */
+      eina_list_int_in {
+         params {
+            @in lst: list<ptr(int)>;
+         }
+         return: bool;
+      }
+
+      eina_list_int_in_own {
+         params {
+            @in lst: list<ptr(int) @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_list_int_in_own {
+         return: bool;
+      }
+
+      eina_list_int_out {
+         params {
+            @out lst: list<ptr(int)>;
+         }
+         return: bool;
+      }
+      check_eina_list_int_out {
+         return: bool;
+      }
+
+      eina_list_int_out_own {
+         params {
+            @out lst: list<ptr(int) @owned> @owned;
+         }
+         return: bool;
+      }
+
+      eina_list_int_return {
+         return: list<ptr(int)>;
+      }
+      check_eina_list_int_return {
+         return: bool;
+      }
+
+      eina_list_int_return_own {
+         return: list<ptr(int) @owned> @owned;
+      }
+
+      /* String */
+      eina_list_str_in {
+         params {
+            @in lst: list<string>;
+         }
+         return: bool;
+      }
+
+      eina_list_str_in_own {
+         params {
+            @in lst: list<string @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_list_str_in_own {
+         return: bool;
+      }
+
+      eina_list_str_out {
+         params {
+            @out lst: list<string>;
+         }
+         return: bool;
+      }
+      check_eina_list_str_out {
+         return: bool;
+      }
+
+      eina_list_str_out_own {
+         params {
+            @out lst: list<string @owned> @owned;
+         }
+         return: bool;
+      }
+
+      eina_list_str_return {
+         return: list<string>;
+      }
+      check_eina_list_str_return {
+         return: bool;
+      }
+
+      eina_list_str_return_own {
+         return: list<string @owned> @owned;
+      }
+
+      /* Object */
+      eina_list_obj_in {
+         params {
+            @in lst: list<Dummy.Numberwrapper>;
+         }
+         return: bool;
+      }
+
+      eina_list_obj_in_own {
+         params {
+            @in lst: list<Dummy.Numberwrapper @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_list_obj_in_own {
+         return: bool;
+      }
+
+      eina_list_obj_out {
+         params {
+            @out lst: list<Dummy.Numberwrapper>;
+         }
+         return: bool;
+      }
+      check_eina_list_obj_out {
+         return: bool;
+      }
+
+      eina_list_obj_out_own {
+         params {
+            @out lst: list<Dummy.Numberwrapper @owned> @owned;
+         }
+         return: bool;
+      }
+
+      eina_list_obj_return {
+         return: list<Dummy.Numberwrapper>;
+      }
+      check_eina_list_obj_return {
+         return: bool;
+      }
+
+      eina_list_obj_return_own {
+         return: list<Dummy.Numberwrapper @owned> @owned;
+      }
+
+      eina_list_obj_return_in {
+         params {
+            @in lst: list<Dummy.Numberwrapper>;
+         }
+         return: list<Dummy.Numberwrapper>;
+      }
+
+      /* Eina Inlist */
+
+      /* Integer */
+      eina_inlist_int_in {
+         params {
+            @in lst: inlist<int>;
+         }
+         return: bool;
+      }
+
+      eina_inlist_int_in_own {
+         params {
+            @in lst: inlist<ptr(int) @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_inlist_int_in_own {
+         return: bool;
+      }
+
+      eina_inlist_int_out {
+         params {
+            @out lst: inlist<int>;
+         }
+         return: bool;
+      }
+      check_eina_inlist_int_out {
+         return: bool;
+      }
+
+      eina_inlist_int_out_own {
+         params {
+            @out lst: inlist<ptr(int) @owned> @owned;
+         }
+         return: bool;
+      }
+
+      eina_inlist_int_return {
+         return: inlist<int>;
+      }
+      check_eina_inlist_int_return {
+         return: bool;
+      }
+
+      eina_inlist_int_return_own {
+         return: inlist<ptr(int) @owned> @owned;
+      }
+
+      /* String */
+      eina_inlist_str_in {
+         params {
+            @in lst: inlist<string>;
+         }
+         return: bool;
+      }
+
+      eina_inlist_str_in_own {
+         params {
+            @in lst: inlist<string @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_inlist_str_in_own {
+         return: bool;
+      }
+
+      eina_inlist_str_out {
+         params {
+            @out lst: inlist<string>;
+         }
+         return: bool;
+      }
+      check_eina_inlist_str_out {
+         return: bool;
+      }
+
+      eina_inlist_str_out_own {
+         params {
+            @out lst: inlist<string @owned> @owned;
+         }
+         return: bool;
+      }
+
+      eina_inlist_str_return {
+         return: inlist<string>;
+      }
+      check_eina_inlist_str_return {
+         return: bool;
+      }
+
+      eina_inlist_str_return_own {
+         return: inlist<string @owned> @owned;
+      }
+
+      /* Object */
+      eina_inlist_obj_in {
+         params {
+            @in lst: inlist<Dummy.Numberwrapper>;
+         }
+         return: bool;
+      }
+
+      eina_inlist_obj_in_own {
+         params {
+            @in lst: inlist<Dummy.Numberwrapper @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_inlist_obj_in_own {
+         return: bool;
+      }
+
+      eina_inlist_obj_out {
+         params {
+            @out lst: inlist<Dummy.Numberwrapper>;
+         }
+         return: bool;
+      }
+      check_eina_inlist_obj_out {
+         return: bool;
+      }
+
+      eina_inlist_obj_out_own {
+         params {
+            @out lst: inlist<Dummy.Numberwrapper @owned> @owned;
+         }
+         return: bool;
+      }
+
+      eina_inlist_obj_return {
+         return: inlist<Dummy.Numberwrapper>;
+      }
+      check_eina_inlist_obj_return {
+         return: bool;
+      }
+
+      eina_inlist_obj_return_own {
+         return: inlist<Dummy.Numberwrapper @owned> @owned;
+      }
+
+      eina_inlist_obj_return_in {
+         params {
+            @in lst: inlist<Dummy.Numberwrapper>;
+         }
+         return: inlist<Dummy.Numberwrapper>;
+      }
+
+
+      // Eina Hash //
+
+      // Integer //
+      eina_hash_int_in {
+         params {
+            @in hsh: hash<ptr(int), ptr(int)>;
+         }
+         return: bool;
+      }
+
+      eina_hash_int_in_own {
+         params {
+            @in hsh: hash<ptr(int), ptr(int) @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_hash_int_in_own {
+         return: bool;
+      }
+
+      eina_hash_int_out {
+         params {
+            @out hsh: hash<ptr(int), ptr(int)>;
+         }
+         return: bool;
+      }
+      check_eina_hash_int_out {
+         return: bool;
+      }
+
+      eina_hash_int_out_own {
+         params {
+            @out hsh: hash<ptr(int), ptr(int) @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_hash_int_out_own {
+         return: bool;
+      }
+
+      eina_hash_int_return {
+         return: hash<ptr(int), ptr(int)>;
+      }
+      check_eina_hash_int_return {
+         return: bool;
+      }
+
+      eina_hash_int_return_own {
+         return: hash<ptr(int), ptr(int) @owned> @owned;
+      }
+      check_eina_hash_int_return_own {
+         return: bool;
+      }
+
+      // String //
+      eina_hash_str_in {
+         params {
+            @in hsh: hash<string, string>;
+         }
+         return: bool;
+      }
+
+      eina_hash_str_in_own {
+         params {
+            @in hsh: hash<string, string @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_hash_str_in_own {
+         return: bool;
+      }
+
+      eina_hash_str_out {
+         params {
+            @out hsh: hash<string, string>;
+         }
+         return: bool;
+      }
+      check_eina_hash_str_out {
+         return: bool;
+      }
+
+      eina_hash_str_out_own {
+         params {
+            @out hsh: hash<string, string @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_hash_str_out_own {
+         return: bool;
+      }
+
+      eina_hash_str_return {
+         return: hash<string, string>;
+      }
+      check_eina_hash_str_return {
+         return: bool;
+      }
+
+      eina_hash_str_return_own {
+         return: hash<string, string @owned> @owned;
+      }
+      check_eina_hash_str_return_own {
+         return: bool;
+      }
+
+      // Object //
+      eina_hash_obj_in {
+         params {
+            @in hsh: hash<Dummy.Numberwrapper, Dummy.Numberwrapper>;
+            @in nwk1: Dummy.Numberwrapper;
+            @in nwv1: Dummy.Numberwrapper;
+            @out nwk2: Dummy.Numberwrapper;
+            @out nwv2: Dummy.Numberwrapper;
+         }
+         return: bool;
+      }
+
+      eina_hash_obj_in_own {
+         params {
+            @in hsh: hash<Dummy.Numberwrapper, Dummy.Numberwrapper @owned> @owned;
+            @in nwk1: Dummy.Numberwrapper;
+            @in nwv1: Dummy.Numberwrapper;
+            @out nwk2: Dummy.Numberwrapper;
+            @out nwv2: Dummy.Numberwrapper;
+         }
+         return: bool;
+      }
+      check_eina_hash_obj_in_own {
+         params {
+            @in nwk1: Dummy.Numberwrapper;
+            @in nwv1: Dummy.Numberwrapper;
+            @in nwk2: Dummy.Numberwrapper;
+            @in nwv2: Dummy.Numberwrapper;
+         }
+         return: bool;
+      }
+
+      eina_hash_obj_out {
+         params {
+            @out hsh: hash<Dummy.Numberwrapper, Dummy.Numberwrapper>;
+            @out nwk: Dummy.Numberwrapper;
+            @out nwv: Dummy.Numberwrapper;
+         }
+         return: bool;
+      }
+      check_eina_hash_obj_out {
+         params {
+            @in nwk1: Dummy.Numberwrapper;
+            @in nwv1: Dummy.Numberwrapper;
+            @in nwk2: Dummy.Numberwrapper;
+            @in nwv2: Dummy.Numberwrapper;
+         }
+         return: bool;
+      }
+
+      eina_hash_obj_out_own {
+         params {
+            @out hsh: hash<Dummy.Numberwrapper, Dummy.Numberwrapper @owned> @owned;
+            @out nwk: Dummy.Numberwrapper;
+            @out nwv: Dummy.Numberwrapper;
+         }
+         return: bool;
+      }
+      check_eina_hash_obj_out_own {
+         return: bool;
+      }
+
+      eina_hash_obj_return {
+         params {
+            @out nwk: Dummy.Numberwrapper;
+            @out nwv: Dummy.Numberwrapper;
+         }
+         return: hash<Dummy.Numberwrapper, Dummy.Numberwrapper>;
+      }
+      check_eina_hash_obj_return {
+         params {
+            @in nwk1: Dummy.Numberwrapper;
+            @in nwv1: Dummy.Numberwrapper;
+            @in nwk2: Dummy.Numberwrapper;
+            @in nwv2: Dummy.Numberwrapper;
+         }
+         return: bool;
+      }
+
+      eina_hash_obj_return_own {
+         params {
+            @out nwk: Dummy.Numberwrapper;
+            @out nwv: Dummy.Numberwrapper;
+         }
+         return: hash<Dummy.Numberwrapper, Dummy.Numberwrapper @owned> @owned;
+      }
+      check_eina_hash_obj_return_own {
+         return: bool;
+      }
+
+      /* Eina Iterator */
+
+      /* Integer */
+      eina_iterator_int_in {
+         params {
+            @in itr: iterator<ptr(int)>;
+         }
+         return: bool;
+      }
+
+      eina_iterator_int_in_own {
+         params {
+            @in itr: iterator<ptr(int) @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_iterator_int_in_own {
+         return: bool;
+      }
+
+      eina_iterator_int_out {
+         params {
+            @out itr: iterator<ptr(int)>;
+         }
+         return: bool;
+      }
+      check_eina_iterator_int_out {
+         return: bool;
+      }
+
+      eina_iterator_int_out_own {
+         params {
+            @out itr: iterator<ptr(int) @owned> @owned;
+         }
+         return: bool;
+      }
+
+      eina_iterator_int_return {
+         return: iterator<ptr(int)>;
+      }
+      check_eina_iterator_int_return {
+         return: bool;
+      }
+
+      eina_iterator_int_return_own {
+         return: iterator<ptr(int) @owned> @owned;
+      }
+
+      /* String */
+      eina_iterator_str_in {
+         params {
+            @in itr: iterator<string>;
+         }
+         return: bool;
+      }
+
+      eina_iterator_str_in_own {
+         params {
+            @in itr: iterator<string @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_iterator_str_in_own {
+         return: bool;
+      }
+
+      eina_iterator_str_out {
+         params {
+            @out itr: iterator<string>;
+         }
+         return: bool;
+      }
+      check_eina_iterator_str_out {
+         return: bool;
+      }
+
+      eina_iterator_str_out_own {
+         params {
+            @out itr: iterator<string @owned> @owned;
+         }
+         return: bool;
+      }
+
+      eina_iterator_str_return {
+         return: iterator<string>;
+      }
+      check_eina_iterator_str_return {
+         return: bool;
+      }
+
+      eina_iterator_str_return_own {
+         return: iterator<string @owned> @owned;
+      }
+
+      /* Object */
+      eina_iterator_obj_in {
+         params {
+            @in itr: iterator<Dummy.Numberwrapper>;
+         }
+         return: bool;
+      }
+
+      eina_iterator_obj_in_own {
+         params {
+            @in itr: iterator<Dummy.Numberwrapper @owned> @owned;
+         }
+         return: bool;
+      }
+      check_eina_iterator_obj_in_own {
+         return: bool;
+      }
+
+      eina_iterator_obj_out {
+         params {
+            @out itr: iterator<Dummy.Numberwrapper>;
+         }
+         return: bool;
+      }
+      check_eina_iterator_obj_out {
+         return: bool;
+      }
+
+      eina_iterator_obj_out_own {
+         params {
+            @out itr: iterator<Dummy.Numberwrapper @owned> @owned;
+         }
+         return: bool;
+      }
+
+      eina_iterator_obj_return {
+         return: iterator<Dummy.Numberwrapper>;
+      }
+      check_eina_iterator_obj_return {
+         return: bool;
+      }
+
+      eina_iterator_obj_return_own {
+         return: iterator<Dummy.Numberwrapper @owned> @owned;
+      }
+
+     /* Function Pointer */
+
+     set_callback {
+         params {
+            cb: Dummy.SimpleCb;
+         }
+      }
+
+      call_callback {
+         params {
+            a: int;
+         }
+         return: int;
+      }
+
+      call_set_callback {
+      }
+
+      raises_eina_error {
+
+      }
+
+      children_raise_error {
+
+      }
+      call_children_raise_error {
+
+      }
+
+      error_ret_set {
+         params {
+            error: Eina.Error;
+         }
+      }
+
+      returns_error {
+         return: Eina.Error;
+      }
+
+      /* Eina Values */
+      set_value_ptr {
+         params {
+            value: any_value_ptr;
+         }
+      }
+
+      set_value_ptr_own {
+         params {
+            value: any_value_ptr @owned;
+         }
+      }
+
+      set_value {
+         params {
+            value: any_value;
+         }
+      }
+
+      call_set_value {
+         params {
+            value: const(any_value);
+         }
+      }
+
+      get_value_ptr_own {
+         return: any_value_ptr @owned;
+      }
+
+      get_value_ptr {
+         return: any_value_ptr;
+      }
+
+      /* Commented out due to issues regarding eolian treatment of any_value.
+       * Somehow eolian is giving 0 as the default value when declaring the function below,
+       * leading to compiler errors.
+       */
+      /* get_value {
+         return: any_value;
+      }
+      */
+
+      clear_value {
+      }
+
+      out_value_ptr {
+         params {
+            @out value: any_value_ptr;
+         }
+      }
+
+      out_value_ptr_own {
+         params {
+            @out value: any_value_ptr @owned;
+         }
+      }
+
+      out_value {
+         params {
+            @out value: any_value;
+         }
+      }
+
+      /* Structs */
+
+      struct_simple_in {
+         params {
+            @in simple: Dummy.StructSimple;
+         }
+         return: bool;
+      }
+
+      struct_simple_ptr_in {
+         params {
+            @in simple: ptr(Dummy.StructSimple);
+         }
+         return: bool;
+      }
+
+      struct_simple_ptr_in_own {
+         params {
+            @in simple: ptr(Dummy.StructSimple) @owned;
+         }
+         return: Dummy.StructSimple;
+      }
+
+      struct_simple_out {
+         params {
+            @out simple: Dummy.StructSimple;
+         }
+         return: bool;
+      }
+
+      struct_simple_ptr_out {
+         params {
+            @out simple: ptr(Dummy.StructSimple);
+         }
+         return: Dummy.StructSimple;
+      }
+
+      struct_simple_ptr_out_own {
+         params {
+            @out simple: ptr(Dummy.StructSimple) @owned;
+         }
+         return: Dummy.StructSimple;
+      }
+
+      struct_simple_return {
+         return: Dummy.StructSimple;
+      }
+
+      struct_simple_ptr_return {
+         return: ptr(Dummy.StructSimple);
+      }
+
+      struct_simple_ptr_return_own {
+         return: ptr(Dummy.StructSimple) @owned;
+      }
+
+      call_struct_simple_in {
+         params {
+            @in simple: Dummy.StructSimple;
+         }
+      }
+
+      call_struct_simple_ptr_in {
+         params {
+            @in simple: ptr(Dummy.StructSimple);
+         }
+      }
+
+      call_struct_simple_ptr_in_own {
+         params {
+            @in simple: ptr(Dummy.StructSimple) @owned;
+         }
+      }
+
+      call_struct_simple_out {
+         params {
+            @out simple: Dummy.StructSimple;
+         }
+      }
+
+      call_struct_simple_ptr_out {
+         params {
+            @out simple: ptr(Dummy.StructSimple);
+         }
+      }
+
+      call_struct_simple_ptr_out_own {
+         params {
+            @out simple: ptr(Dummy.StructSimple) @owned;
+         }
+      }
+
+      call_struct_simple_return {
+         return: Dummy.StructSimple;
+      }
+
+      call_struct_simple_ptr_return {
+         return: ptr(Dummy.StructSimple);
+      }
+
+      call_struct_simple_ptr_return_own {
+         return: ptr(Dummy.StructSimple) @owned;
+      }
+
+      struct_complex_in {
+         params {
+            @in complex: Dummy.StructComplex;
+         }
+         return: bool;
+      }
+
+      struct_complex_ptr_in {
+         params {
+            @in complex: ptr(Dummy.StructComplex);
+         }
+         return: bool;
+      }
+
+      struct_complex_ptr_in_own {
+         params {
+            @in complex: ptr(Dummy.StructComplex) @owned;
+         }
+         return: bool;
+      }
+
+      struct_complex_out {
+         params {
+            @out complex: Dummy.StructComplex;
+         }
+         return: bool;
+      }
+
+      // struct_complex_ptr_out {
+      //    params {
+      //       @out complex: ptr(Dummy.StructComplex);
+      //    }
+      //    return: bool;
+      // }
+      //
+      // struct_complex_ptr_out_own {
+      //    params {
+      //       @out complex: ptr(Dummy.StructComplex) @owned;
+      //    }
+      //    return: bool;
+      // }
+
+      struct_complex_return {
+         return: Dummy.StructComplex;
+      }
+
+      // struct_complex_ptr_return {
+      //    return: ptr(Dummy.StructComplex);
+      // }
+      //
+      // struct_complex_ptr_return_own {
+      //    return: ptr(Dummy.StructComplex) @owned;
+      // }
+
+      emit_event_with_string {
+         params {
+            @in data: string;
+         }
+      }
+      emit_event_with_bool {
+         params {
+            @in data: bool;
+         }
+      }
+      emit_event_with_int {
+         params {
+            @in data: int;
+         }
+      }
+      emit_event_with_uint {
+         params {
+            @in data: uint;
+         }
+      }
+      emit_event_with_obj {
+         params {
+            @in data: Dummy.Test_Object;
+         }
+      }
+
+      emit_event_with_error {
+         params {
+            @in data: Eina.Error;
+         }
+      }
+
+      emit_event_with_struct {
+         params {
+            @in data: Dummy.StructSimple;
+         }
+      }
+
+      append_to_strbuf {
+         params {
+            @in buf: strbuf;
+            @in str: string;
+         }
+      }
+
+      call_append_to_strbuf {
+         params {
+            @in buf: strbuf;
+            @in str: string;
+         }
+      }
+
+      call_format_cb {
+         params {
+            @in str: strbuf;
+            @in value: const(any_value);
+            @in func: Dummy.FormatCb;
+         }
+      }
+
+      bypass_typedef {
+         params {
+            @in data: Dummy.MyInt;
+            @out receiver: Dummy.MyInt;
+         }
+
+         return: Dummy.MyInt;
+      }
+
+      @property klass_prop @class {
+         get {}
+         set {}
+         values {
+            prop: int;
+         }
+      }
+
+      /* Futures */
+
+      get_future {
+         return: future<any_value_ptr>;
+      }
+
+      fulfill_promise {
+         params {
+            @in data: int;
+         }
+      }
+
+      reject_promise {
+         params {
+            @in error: Eina.Error;
+         }
+      }
+
+      /* Accessors */
+      clone_accessor {
+         params {
+            @in acc: accessor<ptr(int)>;
+         }
+         return: accessor<ptr(int)> @owned;
+      }
+   }
+   implements {
+      class.constructor;
+      class.destructor;
+      Efl.Object.constructor;
+      Efl.Part.part_get;
+      Dummy.Test_Iface.emit_test_conflicted;
+      Dummy.Test_Iface.emit_nonconflicted;
+      Dummy.Another_Iface.emit_another_conflicted;
+   }
+   events {
+      evt,with,string @hot: string;
+      evt,with,bool: bool;
+      evt,with,int @hot: int;
+      evt,with,uint @hot: uint;
+      evt,with,obj @hot: Dummy.Test_Object;
+      evt,with,error @hot: Eina.Error;
+      evt,with,struct @hot: Dummy.StructSimple;
+   }
+}
index 6a746abb920ba05b70549a07af2dc6e8ca2a787f..8a4592e35b7189b0ded4b97e8be125901d0729b4 100644 (file)
 # endif
 #endif
 
-#include "test_numberwrapper.eo.h"
-#include "test_testing.eo.h"
+#include "dummy_numberwrapper.eo.h"
+#include "dummy_test_object.eo.h"
+#include "dummy_test_iface.eo.h"
+#include "dummy_another_iface.eo.h"
 
 #include <interfaces/efl_part.eo.h>
 
 #define EQUAL(a, b) ((a) == (b) ? 1 : (fprintf(stderr, "NOT EQUAL! %s:%i (%s)", __FILE__, __LINE__, __FUNCTION__), fflush(stderr), 0))
 #define STR_EQUAL(a, b) (strcmp((a), (b)) == 0 ? 1 : (fprintf(stderr, "NOT EQUAL! %s:%i (%s) '%s' != '%s'", __FILE__, __LINE__, __FUNCTION__, (a), (b)), fflush(stderr), 0))
 
-typedef struct Test_Testing_Data
+typedef struct Dummy_Test_Object_Data
 {
-  Test_SimpleCb cb;
+  Dummy_SimpleCb cb;
   void *cb_data;
   Eina_Free_Cb free_cb;
   Eina_Error error_code;
   Eina_Value *stored_value;
-  Test_StructSimple stored_struct;
+  Dummy_StructSimple stored_struct;
   int stored_int;
-  Eo *part1;
-  Eo *part2;
+  Eo *part_one;
+  Eo *part_two;
   Eina_Promise *promise;
   Eina_List *list_for_accessor;
-} Test_Testing_Data;
+} Dummy_Test_Object_Data;
 
-typedef struct Test_Numberwrapper_Data
+typedef struct Dummy_Numberwrapper_Data
 {
    int number;
-} Test_Numberwrapper_Data;
+} Dummy_Numberwrapper_Data;
 
 
 static
@@ -88,15 +90,15 @@ char **_new_str_ref(const char* str)
 }
 
 static
-Test_Numberwrapper *_new_obj(int n)
+Dummy_Numberwrapper *_new_obj(int n)
 {
-   return efl_add_ref(TEST_NUMBERWRAPPER_CLASS, NULL, test_numberwrapper_number_set(efl_added, n));
+   return efl_add_ref(DUMMY_NUMBERWRAPPER_CLASS, NULL, dummy_numberwrapper_number_set(efl_added, n));
 }
 
 static
-Test_Numberwrapper **_new_obj_ref(int n)
+Dummy_Numberwrapper **_new_obj_ref(int n)
 {
-   static Test_Numberwrapper *r;
+   static Dummy_Numberwrapper *r;
    r = _new_obj(n);
    return &r;
 }
@@ -106,43 +108,43 @@ Test_Numberwrapper **_new_obj_ref(int n)
 // ############ //
 
 static Efl_Object*
-_test_testing_efl_object_constructor(Eo *obj, Test_Testing_Data *pd)
+_dummy_test_object_efl_object_constructor(Eo *obj, Dummy_Test_Object_Data *pd)
 {
-   efl_constructor(efl_super(obj, TEST_TESTING_CLASS));
+   efl_constructor(efl_super(obj, DUMMY_TEST_OBJECT_CLASS));
 
    // To avoid an infinite loop calling the same constructor
    if (!efl_parent_get(obj))
      {
-        pd->part1 = efl_add(TEST_TESTING_CLASS, obj, efl_name_set(efl_added, "part1"));
-        pd->part2 = efl_add(TEST_TESTING_CLASS, obj, efl_name_set(efl_added, "part2"));
+        pd->part_one = efl_add(DUMMY_TEST_OBJECT_CLASS, obj, efl_name_set(efl_added, "part_one"));
+        pd->part_two = efl_add(DUMMY_TEST_OBJECT_CLASS, obj, efl_name_set(efl_added, "part_two"));
      }
 
    return obj;
 }
 
-Efl_Object *_test_testing_return_object(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Efl_Object *_dummy_test_object_return_object(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
   return obj;
 }
 
-void _test_testing_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, int x, int *y)
+void _dummy_test_object_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, int x, int *y)
 {
     *y = -x;
 }
 
-void _test_testing_int_ptr_out(EINA_UNUSED Eo *obj, Test_Testing_Data *pd, int x, int **y)
+void _dummy_test_object_int_ptr_out(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd, int x, int **y)
 {
     pd->stored_int = x * 2;
     *y = &pd->stored_int;
 }
 
-const char *_test_testing_in_string(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, const char *str)
+const char *_dummy_test_object_in_string(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, const char *str)
 {
   const char *ret = malloc(sizeof(char)*(strlen(str) + 1));
   return strcpy((char*)ret, str);
 }
 
-char *_test_testing_in_own_string(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, char *str)
+char *_dummy_test_object_in_own_string(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, char *str)
 {
   char *ret = malloc(sizeof(char)*(strlen(str) + 1));
   strcpy(ret, str);
@@ -150,130 +152,130 @@ char *_test_testing_in_own_string(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_
   return ret;
 }
 
-Eina_Stringshare *_test_testing_return_stringshare(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Stringshare *_dummy_test_object_return_stringshare(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
   Eina_Stringshare *str = eina_stringshare_add("stringshare");
   return str;
 }
 
-Eina_Stringshare *_test_testing_return_own_stringshare(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Stringshare *_dummy_test_object_return_own_stringshare(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
   Eina_Stringshare *str = eina_stringshare_add("own_stringshare");
   return str;
 }
 
-const char *_test_testing_return_string(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+const char *_dummy_test_object_return_string(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
   return "string";
 }
 
-const char *_test_testing_return_own_string(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+const char *_dummy_test_object_return_own_string(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
   static const char* reference = "own_string";
   const char *ret = malloc(sizeof(char)*(strlen(reference) + 1));
   return strcpy((char*)ret, reference);
 }
 
-void _test_testing_out_string(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, const char**str)
+void _dummy_test_object_out_string(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, const char**str)
 {
   *str = "out_string";
 }
 
-void _test_testing_out_own_string(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, const char**str)
+void _dummy_test_object_out_own_string(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, const char**str)
 {
   static const char* reference = "out_own_string";
   *str = malloc(sizeof(char)*(strlen(reference) + 1));
   strcpy((char*)*str, reference);
 }
 
-void _test_testing_call_in_string(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, const char *str)
+void _dummy_test_object_call_in_string(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, const char *str)
 {
-  test_testing_in_string(obj, str);
+  dummy_test_object_in_string(obj, str);
 }
 
-void _test_testing_call_in_own_string(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, char *str)
+void _dummy_test_object_call_in_own_string(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, char *str)
 {
-  test_testing_in_own_string(obj, str);
+  dummy_test_object_in_own_string(obj, str);
 }
 
-const char *_test_testing_call_return_string(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+const char *_dummy_test_object_call_return_string(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
-  return test_testing_return_string(obj);
+  return dummy_test_object_return_string(obj);
 }
 
-const char *_test_testing_call_return_own_string(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+const char *_dummy_test_object_call_return_own_string(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
-  return test_testing_return_own_string(obj);
+  return dummy_test_object_return_own_string(obj);
 }
 
-const char *_test_testing_call_out_string(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+const char *_dummy_test_object_call_out_string(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
   const char *ret = NULL;
-  test_testing_out_string(obj, &ret);
+  dummy_test_object_out_string(obj, &ret);
   return ret;
 }
 
-const char *_test_testing_call_out_own_string(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+const char *_dummy_test_object_call_out_own_string(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
   const char *ret = NULL;
-  test_testing_out_own_string(obj, &ret);
+  dummy_test_object_out_own_string(obj, &ret);
   return ret;
 }
 
 // Stringshare virtual test helpers
-void _test_testing_call_in_stringshare(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Stringshare *str)
+void _dummy_test_object_call_in_stringshare(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Stringshare *str)
 {
-  test_testing_in_stringshare(obj, str);
+  dummy_test_object_in_stringshare(obj, str);
 }
 
-void _test_testing_call_in_own_stringshare(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Stringshare *str)
+void _dummy_test_object_call_in_own_stringshare(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Stringshare *str)
 {
-  str = test_testing_in_own_stringshare(obj, str);
+  str = dummy_test_object_in_own_stringshare(obj, str);
   eina_stringshare_del(str);
 }
 
-Eina_Stringshare *_test_testing_in_stringshare(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Stringshare *str)
+Eina_Stringshare *_dummy_test_object_in_stringshare(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Stringshare *str)
 {
     return eina_stringshare_add(str);
 }
 
-Eina_Stringshare *_test_testing_in_own_stringshare(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Stringshare *str)
+Eina_Stringshare *_dummy_test_object_in_own_stringshare(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Stringshare *str)
 {
     return str;
 }
 
-void _test_testing_out_stringshare(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, const char**str)
+void _dummy_test_object_out_stringshare(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, const char**str)
 {
   // Returning simple string but the binding shouldn't del it as it is not owned by the caller
   *str = "out_stringshare";
 }
 
-void _test_testing_out_own_stringshare(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, const char**str)
+void _dummy_test_object_out_own_stringshare(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, const char**str)
 {
   *str = eina_stringshare_add("out_own_stringshare");
 }
 
-Eina_Stringshare *_test_testing_call_return_stringshare(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Stringshare *_dummy_test_object_call_return_stringshare(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
-  return test_testing_return_stringshare(obj);
+  return dummy_test_object_return_stringshare(obj);
 }
 
-Eina_Stringshare *_test_testing_call_return_own_stringshare(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Stringshare *_dummy_test_object_call_return_own_stringshare(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
-  return test_testing_return_own_stringshare(obj);
+  return dummy_test_object_return_own_stringshare(obj);
 }
 
-Eina_Stringshare *_test_testing_call_out_stringshare(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Stringshare *_dummy_test_object_call_out_stringshare(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
   Eina_Stringshare *ret = NULL;
-  test_testing_out_stringshare(obj, &ret);
+  dummy_test_object_out_stringshare(obj, &ret);
   return ret;
 }
 
-Eina_Stringshare *_test_testing_call_out_own_stringshare(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Stringshare *_dummy_test_object_call_out_own_stringshare(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
   Eina_Stringshare *ret = NULL;
-  test_testing_out_own_stringshare(obj, &ret);
+  dummy_test_object_out_own_stringshare(obj, &ret);
   return ret;
 }
 
@@ -288,14 +290,14 @@ static void *memdup(const void* mem, size_t size)
   return out;
 }
 
-Eina_Bool _test_testing_eina_slice_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Slice slice)
+Eina_Bool _dummy_test_object_eina_slice_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Slice slice)
 {
   uint8_t *buf = memdup(slice.mem, slice.len);
   free(buf);
   return 0 == memcmp(slice.mem, base_seq, slice.len);
 }
 
-Eina_Bool _test_testing_eina_rw_slice_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Rw_Slice slice)
+Eina_Bool _dummy_test_object_eina_rw_slice_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Rw_Slice slice)
 {
   Eina_Bool r = (0 == memcmp(slice.mem, base_seq, slice.len));
   unsigned char *buf = memdup(slice.mem, slice.len);
@@ -305,7 +307,7 @@ Eina_Bool _test_testing_eina_rw_slice_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_T
   return r;
 }
 
-Eina_Bool _test_testing_eina_slice_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Slice *slice)
+Eina_Bool _dummy_test_object_eina_slice_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Slice *slice)
 {
   if (!slice) return EINA_FALSE;
   static const Eina_Slice slc = EINA_SLICE_ARRAY(base_seq);
@@ -314,7 +316,7 @@ Eina_Bool _test_testing_eina_slice_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Tes
   return EINA_TRUE;
 }
 
-Eina_Bool _test_testing_eina_rw_slice_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Rw_Slice *slice)
+Eina_Bool _dummy_test_object_eina_rw_slice_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Rw_Slice *slice)
 {
   if (!slice) return EINA_FALSE;
   slice->len = 3;
@@ -322,19 +324,19 @@ Eina_Bool _test_testing_eina_rw_slice_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_
   return EINA_TRUE;
 }
 
-Eina_Slice _test_testing_eina_slice_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Slice _dummy_test_object_eina_slice_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
   Eina_Slice slc = EINA_SLICE_ARRAY(base_seq);
   return slc;
 }
 
-Eina_Rw_Slice _test_testing_eina_rw_slice_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Rw_Slice _dummy_test_object_eina_rw_slice_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
   Eina_Rw_Slice slc = { .len = 3, .mem = memdup(base_seq, 3) };
   return slc;
 }
 
-Eina_Bool _test_testing_eina_binbuf_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Binbuf *binbuf)
+Eina_Bool _dummy_test_object_eina_binbuf_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Binbuf *binbuf)
 {
   Eina_Bool r = (0 == memcmp(eina_binbuf_string_get(binbuf), base_seq, eina_binbuf_length_get(binbuf)));
   eina_binbuf_insert_char(binbuf, 42, 0);
@@ -343,14 +345,14 @@ Eina_Bool _test_testing_eina_binbuf_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Tes
   return r;
 }
 
-Eina_Bool _test_testing_call_eina_binbuf_in(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Binbuf *binbuf)
+Eina_Bool _dummy_test_object_call_eina_binbuf_in(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Binbuf *binbuf)
 {
-  return test_testing_eina_binbuf_in(obj, binbuf);
+  return dummy_test_object_eina_binbuf_in(obj, binbuf);
 }
 
 Eina_Binbuf *_binbuf_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_binbuf_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Binbuf *binbuf)
+Eina_Bool _dummy_test_object_eina_binbuf_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Binbuf *binbuf)
 {
   Eina_Bool r = (0 == memcmp(eina_binbuf_string_get(binbuf), base_seq, eina_binbuf_length_get(binbuf)));
   eina_binbuf_insert_char(binbuf, 42, 0);
@@ -360,12 +362,12 @@ Eina_Bool _test_testing_eina_binbuf_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test
   return r;
 }
 
-Eina_Bool _test_testing_call_eina_binbuf_in_own(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Binbuf *binbuf)
+Eina_Bool _dummy_test_object_call_eina_binbuf_in_own(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Binbuf *binbuf)
 {
-    return test_testing_eina_binbuf_in_own(obj, binbuf);
+    return dummy_test_object_eina_binbuf_in_own(obj, binbuf);
 }
 
-Eina_Bool _test_testing_check_binbuf_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_binbuf_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
     if (!_binbuf_in_own_to_check) return EINA_FALSE;
     const uint8_t mod_seq[] = {43,42,0x0,0x2A,0x42,33};
@@ -376,7 +378,7 @@ Eina_Bool _test_testing_check_binbuf_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Tes
 
 Eina_Binbuf *_binbuf_out_to_check = NULL;
 
-Eina_Bool _test_testing_eina_binbuf_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Binbuf **binbuf)
+Eina_Bool _dummy_test_object_eina_binbuf_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Binbuf **binbuf)
 {
   if (!binbuf) return EINA_FALSE;
   *binbuf = eina_binbuf_new();
@@ -385,20 +387,20 @@ Eina_Bool _test_testing_eina_binbuf_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Te
   return EINA_TRUE;
 }
 
-Eina_Binbuf *_test_testing_call_eina_binbuf_out(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Binbuf *_dummy_test_object_call_eina_binbuf_out(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
   Eina_Binbuf *binbuf = NULL;
-  test_testing_eina_binbuf_out(obj, &binbuf);
+  dummy_test_object_eina_binbuf_out(obj, &binbuf);
   return binbuf;
 }
 
-Eina_Bool _test_testing_check_binbuf_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_binbuf_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
     if (!_binbuf_out_to_check) return EINA_FALSE;
     return 0 == memcmp(eina_binbuf_string_get(_binbuf_out_to_check), base_seq, eina_binbuf_length_get(_binbuf_out_to_check));
 }
 
-Eina_Bool _test_testing_eina_binbuf_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Binbuf **binbuf)
+Eina_Bool _dummy_test_object_eina_binbuf_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Binbuf **binbuf)
 {
   if (!binbuf) return EINA_FALSE;
   *binbuf = eina_binbuf_new();
@@ -406,16 +408,16 @@ Eina_Bool _test_testing_eina_binbuf_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Tes
   return EINA_TRUE;
 }
 
-Eina_Binbuf *_test_testing_call_eina_binbuf_out_own(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Binbuf *_dummy_test_object_call_eina_binbuf_out_own(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
   Eina_Binbuf *binbuf = NULL;
-  test_testing_eina_binbuf_out_own(obj, &binbuf);
+  dummy_test_object_eina_binbuf_out_own(obj, &binbuf);
   return binbuf;
 }
 
 Eina_Binbuf *_binbuf_return_to_check = NULL;
 
-Eina_Binbuf *_test_testing_eina_binbuf_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Binbuf *_dummy_test_object_eina_binbuf_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
   Eina_Binbuf *binbuf = eina_binbuf_new();
   eina_binbuf_append_char(binbuf, 33);
@@ -423,27 +425,27 @@ Eina_Binbuf *_test_testing_eina_binbuf_return(EINA_UNUSED Eo *obj, EINA_UNUSED T
   return binbuf;
 }
 
-Eina_Binbuf *_test_testing_call_eina_binbuf_return(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Binbuf *_dummy_test_object_call_eina_binbuf_return(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
-  return test_testing_eina_binbuf_return(obj);
+  return dummy_test_object_eina_binbuf_return(obj);
 }
 
-Eina_Bool _test_testing_check_binbuf_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_binbuf_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
     if (!_binbuf_return_to_check) return EINA_FALSE;
     return 0 == memcmp(eina_binbuf_string_get(_binbuf_return_to_check), base_seq, eina_binbuf_length_get(_binbuf_return_to_check));
 }
 
-Eina_Binbuf *_test_testing_eina_binbuf_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Binbuf *_dummy_test_object_eina_binbuf_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
   Eina_Binbuf *binbuf = eina_binbuf_new();
   eina_binbuf_append_char(binbuf, 33);
   return binbuf;
 }
 
-Eina_Binbuf *_test_testing_call_eina_binbuf_return_own(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Binbuf *_dummy_test_object_call_eina_binbuf_return_own(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
-  return test_testing_eina_binbuf_return_own(obj);
+  return dummy_test_object_eina_binbuf_return_own(obj);
 }
 
 
@@ -457,9 +459,9 @@ static const unsigned int base_seq_str_size = EINA_C_ARRAY_LENGTH(base_seq_str);
 static const char * const modified_seq_str[] = {"0x0","0x2A","0x42","42","43","33"};
 static const unsigned int modified_seq_str_size = EINA_C_ARRAY_LENGTH(modified_seq_str);
 
-static const Test_Numberwrapper *base_seq_obj[] = {NULL,NULL,NULL};
+static const Dummy_Numberwrapper *base_seq_obj[] = {NULL,NULL,NULL};
 static const unsigned int base_seq_obj_size = EINA_C_ARRAY_LENGTH(base_seq_str);
-static const Test_Numberwrapper *modified_seq_obj[] = {NULL,NULL,NULL,NULL,NULL,NULL};
+static const Dummy_Numberwrapper *modified_seq_obj[] = {NULL,NULL,NULL,NULL,NULL,NULL};
 static const unsigned int modified_seq_obj_size = EINA_C_ARRAY_LENGTH(modified_seq_str);
 
 // //
@@ -482,7 +484,7 @@ Eina_Bool _array_int_equal(const Eina_Array *arr, const int base[], unsigned int
    return EINA_TRUE;
 }
 
-Eina_Bool _test_testing_eina_array_int_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Array *arr)
+Eina_Bool _dummy_test_object_eina_array_int_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Array *arr)
 {
    Eina_Bool r = _array_int_equal(arr, base_seq_int, base_seq_int_size);
    eina_array_push(arr, _new_int(42));
@@ -493,7 +495,7 @@ Eina_Bool _test_testing_eina_array_int_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_
 
 static Eina_Array *_array_int_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_array_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Array *arr)
+Eina_Bool _dummy_test_object_eina_array_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Array *arr)
 {
    Eina_Bool r = _array_int_equal(arr, base_seq_int, base_seq_int_size);
    eina_array_push(arr, _new_int(42));
@@ -503,7 +505,7 @@ Eina_Bool _test_testing_eina_array_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED T
    return r;
 }
 
-Eina_Bool _test_testing_check_eina_array_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_array_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
     if (!_array_int_in_own_to_check) return EINA_FALSE;
 
@@ -522,7 +524,7 @@ Eina_Bool _test_testing_check_eina_array_int_in_own(EINA_UNUSED Eo *obj, EINA_UN
 
 Eina_Array *_array_int_out_to_check = NULL;
 
-Eina_Bool _test_testing_eina_array_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Array **arr)
+Eina_Bool _dummy_test_object_eina_array_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Array **arr)
 {
     if (!arr) return EINA_FALSE;
     *arr = eina_array_new(default_step);
@@ -532,7 +534,7 @@ Eina_Bool _test_testing_eina_array_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test
     _array_int_out_to_check = *arr;
     return EINA_TRUE;
 }
-Eina_Bool _test_testing_check_eina_array_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_array_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_array_int_out_to_check) return EINA_FALSE;
 
@@ -549,7 +551,7 @@ Eina_Bool _test_testing_check_eina_array_int_out(EINA_UNUSED Eo *obj, EINA_UNUSE
    return r;
 }
 
-Eina_Bool _test_testing_eina_array_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Array **arr)
+Eina_Bool _dummy_test_object_eina_array_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Array **arr)
 {
    if (!arr) return EINA_FALSE;
    *arr = eina_array_new(default_step);
@@ -561,7 +563,7 @@ Eina_Bool _test_testing_eina_array_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED
 
 Eina_Array *_array_int_return_to_check = NULL;
 
-Eina_Array *_test_testing_eina_array_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Array *_dummy_test_object_eina_array_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Array *arr = eina_array_new(default_step);
    eina_array_push(arr, _new_int(0x0));
@@ -570,7 +572,7 @@ Eina_Array *_test_testing_eina_array_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED
    _array_int_return_to_check = arr;
    return arr;
 }
-Eina_Bool _test_testing_check_eina_array_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_array_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_array_int_return_to_check) return EINA_FALSE;
 
@@ -587,7 +589,7 @@ Eina_Bool _test_testing_check_eina_array_int_return(EINA_UNUSED Eo *obj, EINA_UN
    return r;
 }
 
-Eina_Array *_test_testing_eina_array_int_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Array *_dummy_test_object_eina_array_int_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Array *arr = eina_array_new(default_step);
    eina_array_push(arr, _new_int(0x0));
@@ -610,7 +612,7 @@ Eina_Bool _array_str_equal(const Eina_Array *arr, const char * const base[], uns
    return EINA_TRUE;
 }
 
-Eina_Bool _test_testing_eina_array_str_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Array *arr)
+Eina_Bool _dummy_test_object_eina_array_str_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Array *arr)
 {
    Eina_Bool r = _array_str_equal(arr, base_seq_str, base_seq_str_size);
    eina_array_push(arr, strdup("42"));
@@ -621,7 +623,7 @@ Eina_Bool _test_testing_eina_array_str_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_
 
 static Eina_Array *_array_str_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_array_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Array *arr)
+Eina_Bool _dummy_test_object_eina_array_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Array *arr)
 {
    Eina_Bool r = _array_str_equal(arr, base_seq_str, base_seq_str_size);
    eina_array_push(arr, strdup("42"));
@@ -631,7 +633,7 @@ Eina_Bool _test_testing_eina_array_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED T
    return r;
 }
 
-Eina_Bool _test_testing_check_eina_array_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_array_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_array_str_in_own_to_check) return EINA_FALSE;
 
@@ -650,7 +652,7 @@ Eina_Bool _test_testing_check_eina_array_str_in_own(EINA_UNUSED Eo *obj, EINA_UN
 
 Eina_Array *_array_str_out_to_check = NULL;
 
-Eina_Bool _test_testing_eina_array_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Array **arr)
+Eina_Bool _dummy_test_object_eina_array_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Array **arr)
 {
    if (!arr) return EINA_FALSE;
    *arr = eina_array_new(default_step);
@@ -660,7 +662,7 @@ Eina_Bool _test_testing_eina_array_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test
    _array_str_out_to_check = *arr;
    return EINA_TRUE;
 }
-Eina_Bool _test_testing_check_eina_array_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_array_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_array_str_out_to_check) return EINA_FALSE;
 
@@ -677,7 +679,7 @@ Eina_Bool _test_testing_check_eina_array_str_out(EINA_UNUSED Eo *obj, EINA_UNUSE
    return r;
 }
 
-Eina_Bool _test_testing_eina_array_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Array **arr)
+Eina_Bool _dummy_test_object_eina_array_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Array **arr)
 {
    if (!arr) return EINA_FALSE;
    *arr = eina_array_new(default_step);
@@ -689,7 +691,7 @@ Eina_Bool _test_testing_eina_array_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED
 
 Eina_Array *_array_str_return_to_check = NULL;
 
-Eina_Array *_test_testing_eina_array_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Array *_dummy_test_object_eina_array_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Array *arr = eina_array_new(default_step);
    eina_array_push(arr, strdup("0x0"));
@@ -698,7 +700,7 @@ Eina_Array *_test_testing_eina_array_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED
    _array_str_return_to_check = arr;
    return arr;
 }
-Eina_Bool _test_testing_check_eina_array_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_array_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_array_str_return_to_check) return EINA_FALSE;
 
@@ -715,7 +717,7 @@ Eina_Bool _test_testing_check_eina_array_str_return(EINA_UNUSED Eo *obj, EINA_UN
    return r;
 }
 
-Eina_Array *_test_testing_eina_array_str_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Array *_dummy_test_object_eina_array_str_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Array *arr = eina_array_new(default_step);
    eina_array_push(arr, strdup("0x0"));
@@ -726,22 +728,22 @@ Eina_Array *_test_testing_eina_array_str_return_own(EINA_UNUSED Eo *obj, EINA_UN
 
 // Object
 
-Eina_Bool _array_obj_equal(const Eina_Array *arr, const Test_Numberwrapper * const base[], unsigned int len)
+Eina_Bool _array_obj_equal(const Eina_Array *arr, const Dummy_Numberwrapper * const base[], unsigned int len)
 {
    if (eina_array_count(arr) != len)
      return EINA_FALSE;
    for (unsigned int i = 0; i < len; ++i)
      {
-        const Test_Numberwrapper *eo = eina_array_data_get(arr, i);
-        int a = test_numberwrapper_number_get(eo);
-        int b = test_numberwrapper_number_get(base[i]);
+        const Dummy_Numberwrapper *eo = eina_array_data_get(arr, i);
+        int a = dummy_numberwrapper_number_get(eo);
+        int b = dummy_numberwrapper_number_get(base[i]);
         if (a != b)
           return EINA_FALSE;
      }
    return EINA_TRUE;
 }
 
-Eina_Bool _test_testing_eina_array_obj_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Array *arr)
+Eina_Bool _dummy_test_object_eina_array_obj_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Array *arr)
 {
    Eina_Bool r = _array_obj_equal(arr, base_seq_obj, base_seq_obj_size);
    if (!r) return r;
@@ -753,7 +755,7 @@ Eina_Bool _test_testing_eina_array_obj_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_
 
 static Eina_Array *_array_obj_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_array_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Array *arr)
+Eina_Bool _dummy_test_object_eina_array_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Array *arr)
 {
    Eina_Bool r = _array_obj_equal(arr, base_seq_obj, base_seq_obj_size);
    if (!r) return r;
@@ -764,7 +766,7 @@ Eina_Bool _test_testing_eina_array_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED T
    return r;
 }
 
-Eina_Bool _test_testing_check_eina_array_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_array_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_array_obj_in_own_to_check) return EINA_FALSE;
 
@@ -772,7 +774,7 @@ Eina_Bool _test_testing_check_eina_array_obj_in_own(EINA_UNUSED Eo *obj, EINA_UN
    if (!r) return r;
 
    unsigned int i;
-   Test_Numberwrapper *ele;
+   Dummy_Numberwrapper *ele;
    Eina_Array_Iterator it;
    EINA_ARRAY_ITER_NEXT(_array_obj_in_own_to_check, i, ele, it)
      efl_unref(ele);
@@ -784,7 +786,7 @@ Eina_Bool _test_testing_check_eina_array_obj_in_own(EINA_UNUSED Eo *obj, EINA_UN
 
 Eina_Array *_array_obj_out_to_check = NULL;
 
-Eina_Bool _test_testing_eina_array_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Array **arr)
+Eina_Bool _dummy_test_object_eina_array_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Array **arr)
 {
    if (!arr) return EINA_FALSE;
    *arr = eina_array_new(default_step);
@@ -794,7 +796,7 @@ Eina_Bool _test_testing_eina_array_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test
    _array_obj_out_to_check = *arr;
    return EINA_TRUE;
 }
-Eina_Bool _test_testing_check_eina_array_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_array_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_array_obj_out_to_check) return EINA_FALSE;
 
@@ -802,7 +804,7 @@ Eina_Bool _test_testing_check_eina_array_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSE
    if (!r) return r;
 
    unsigned int i;
-   Test_Numberwrapper *ele;
+   Dummy_Numberwrapper *ele;
    Eina_Array_Iterator it;
    EINA_ARRAY_ITER_NEXT(_array_obj_out_to_check, i, ele, it)
      efl_unref(ele);
@@ -812,7 +814,7 @@ Eina_Bool _test_testing_check_eina_array_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSE
    return r;
 }
 
-Eina_Bool _test_testing_eina_array_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Array **arr)
+Eina_Bool _dummy_test_object_eina_array_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Array **arr)
 {
    if (!arr) return EINA_FALSE;
    *arr = eina_array_new(default_step);
@@ -824,7 +826,7 @@ Eina_Bool _test_testing_eina_array_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED
 
 Eina_Array *_array_obj_return_to_check = NULL;
 
-Eina_Array *_test_testing_eina_array_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Array *_dummy_test_object_eina_array_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Array *arr = eina_array_new(default_step);
    eina_array_push(arr, _new_obj(0x0));
@@ -833,7 +835,7 @@ Eina_Array *_test_testing_eina_array_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED
    _array_obj_return_to_check = arr;
    return arr;
 }
-Eina_Bool _test_testing_check_eina_array_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_array_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_array_obj_return_to_check) return EINA_FALSE;
 
@@ -841,7 +843,7 @@ Eina_Bool _test_testing_check_eina_array_obj_return(EINA_UNUSED Eo *obj, EINA_UN
    if (!r) return r;
 
    unsigned int i;
-   Test_Numberwrapper *ele;
+   Dummy_Numberwrapper *ele;
    Eina_Array_Iterator it;
    EINA_ARRAY_ITER_NEXT(_array_obj_return_to_check, i, ele, it)
      efl_unref(ele);
@@ -851,7 +853,7 @@ Eina_Bool _test_testing_check_eina_array_obj_return(EINA_UNUSED Eo *obj, EINA_UN
    return r;
 }
 
-Eina_Array *_test_testing_eina_array_obj_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Array *_dummy_test_object_eina_array_obj_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Array *arr = eina_array_new(default_step);
    eina_array_push(arr, _new_obj(0x0));
@@ -860,7 +862,7 @@ Eina_Array *_test_testing_eina_array_obj_return_own(EINA_UNUSED Eo *obj, EINA_UN
    return arr;
 }
 
-Eina_Array *_test_testing_eina_array_obj_return_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Array *arr)
+Eina_Array *_dummy_test_object_eina_array_obj_return_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Array *arr)
 {
    return arr;
 }
@@ -883,7 +885,7 @@ Eina_Bool _inarray_int_equal(const Eina_Inarray *arr, const int base[], unsigned
    return EINA_TRUE;
 }
 
-Eina_Bool _test_testing_eina_inarray_int_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inarray *arr)
+Eina_Bool _dummy_test_object_eina_inarray_int_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inarray *arr)
 {
    Eina_Bool r = _inarray_int_equal(arr, base_seq_int, base_seq_int_size);
    eina_inarray_push(arr, _int_ref(42));
@@ -894,7 +896,7 @@ Eina_Bool _test_testing_eina_inarray_int_in(EINA_UNUSED Eo *obj, EINA_UNUSED Tes
 
 static Eina_Inarray *_inarray_int_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_inarray_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inarray *arr)
+Eina_Bool _dummy_test_object_eina_inarray_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inarray *arr)
 {
    Eina_Bool r = _inarray_int_equal(arr, base_seq_int, base_seq_int_size);
    eina_inarray_push(arr, _int_ref(42));
@@ -903,7 +905,7 @@ Eina_Bool _test_testing_eina_inarray_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED
    _inarray_int_in_own_to_check = arr;
    return r;
 }
-Eina_Bool _test_testing_check_eina_inarray_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inarray_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_inarray_int_in_own_to_check) return EINA_FALSE;
 
@@ -916,7 +918,7 @@ Eina_Bool _test_testing_check_eina_inarray_int_in_own(EINA_UNUSED Eo *obj, EINA_
 
 Eina_Inarray *_inarray_int_out_to_check = NULL;
 
-Eina_Bool _test_testing_eina_inarray_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inarray **arr)
+Eina_Bool _dummy_test_object_eina_inarray_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inarray **arr)
 {
    if (!arr) return EINA_FALSE;
    *arr = eina_inarray_new(sizeof(int), 0);
@@ -926,7 +928,7 @@ Eina_Bool _test_testing_eina_inarray_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Te
    _inarray_int_out_to_check = *arr;
    return EINA_TRUE;
 }
-Eina_Bool _test_testing_check_eina_inarray_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inarray_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_inarray_int_out_to_check) return EINA_FALSE;
 
@@ -937,7 +939,7 @@ Eina_Bool _test_testing_check_eina_inarray_int_out(EINA_UNUSED Eo *obj, EINA_UNU
    return r;
 }
 
-Eina_Bool _test_testing_eina_inarray_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inarray **arr)
+Eina_Bool _dummy_test_object_eina_inarray_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inarray **arr)
 {
    if (!arr) return EINA_FALSE;
    *arr = eina_inarray_new(sizeof(int), 0);
@@ -949,7 +951,7 @@ Eina_Bool _test_testing_eina_inarray_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSE
 
 Eina_Inarray *_inarray_int_return_to_check = NULL;
 
-Eina_Inarray *_test_testing_eina_inarray_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Inarray *_dummy_test_object_eina_inarray_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inarray *arr = eina_inarray_new(sizeof(int), 0);
    eina_inarray_push(arr, _int_ref(0x0));
@@ -958,7 +960,7 @@ Eina_Inarray *_test_testing_eina_inarray_int_return(EINA_UNUSED Eo *obj, EINA_UN
    _inarray_int_return_to_check = arr;
    return arr;
 }
-Eina_Bool _test_testing_check_eina_inarray_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inarray_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_inarray_int_return_to_check) return EINA_FALSE;
 
@@ -969,7 +971,7 @@ Eina_Bool _test_testing_check_eina_inarray_int_return(EINA_UNUSED Eo *obj, EINA_
    return r;
 }
 
-Eina_Inarray *_test_testing_eina_inarray_int_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Inarray *_dummy_test_object_eina_inarray_int_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inarray *arr = eina_inarray_new(sizeof(int), 0);
    eina_inarray_push(arr, _int_ref(0x0));
@@ -992,7 +994,7 @@ Eina_Bool _inarray_str_equal(const Eina_Inarray *arr, const char * const base[],
    return EINA_TRUE;
 }
 
-Eina_Bool _test_testing_eina_inarray_str_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inarray *arr)
+Eina_Bool _dummy_test_object_eina_inarray_str_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inarray *arr)
 {
    Eina_Bool r = _inarray_str_equal(arr, base_seq_str, base_seq_str_size);
    eina_inarray_push(arr, _new_str_ref("42"));
@@ -1003,7 +1005,7 @@ Eina_Bool _test_testing_eina_inarray_str_in(EINA_UNUSED Eo *obj, EINA_UNUSED Tes
 
 static Eina_Inarray *_inarray_str_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_inarray_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inarray *arr)
+Eina_Bool _dummy_test_object_eina_inarray_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inarray *arr)
 {
    Eina_Bool r = _inarray_str_equal(arr, base_seq_str, base_seq_str_size);
    eina_inarray_push(arr, _new_str_ref("42"));
@@ -1013,7 +1015,7 @@ Eina_Bool _test_testing_eina_inarray_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED
    return r;
 }
 
-Eina_Bool _test_testing_check_eina_inarray_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inarray_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_inarray_str_in_own_to_check) return EINA_FALSE;
 
@@ -1030,7 +1032,7 @@ Eina_Bool _test_testing_check_eina_inarray_str_in_own(EINA_UNUSED Eo *obj, EINA_
 
 Eina_Inarray *_inarray_str_out_to_check = NULL;
 
-Eina_Bool _test_testing_eina_inarray_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inarray **arr)
+Eina_Bool _dummy_test_object_eina_inarray_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inarray **arr)
 {
    if (!arr) return EINA_FALSE;
    *arr = eina_inarray_new(sizeof(char*), 0);
@@ -1040,7 +1042,7 @@ Eina_Bool _test_testing_eina_inarray_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Te
    _inarray_str_out_to_check = *arr;
    return EINA_TRUE;
 }
-Eina_Bool _test_testing_check_eina_inarray_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inarray_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_inarray_str_out_to_check) return EINA_FALSE;
 
@@ -1055,7 +1057,7 @@ Eina_Bool _test_testing_check_eina_inarray_str_out(EINA_UNUSED Eo *obj, EINA_UNU
    return r;
 }
 
-Eina_Bool _test_testing_eina_inarray_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inarray **arr)
+Eina_Bool _dummy_test_object_eina_inarray_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inarray **arr)
 {
    if (!arr) return EINA_FALSE;
    *arr = eina_inarray_new(sizeof(char*), 0);
@@ -1067,7 +1069,7 @@ Eina_Bool _test_testing_eina_inarray_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSE
 
 Eina_Inarray *_inarray_str_return_to_check = NULL;
 
-Eina_Inarray *_test_testing_eina_inarray_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Inarray *_dummy_test_object_eina_inarray_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inarray *arr = eina_inarray_new(sizeof(char*), 0);
    eina_inarray_push(arr, _new_str_ref("0x0"));
@@ -1076,7 +1078,7 @@ Eina_Inarray *_test_testing_eina_inarray_str_return(EINA_UNUSED Eo *obj, EINA_UN
    _inarray_str_return_to_check = arr;
    return arr;
 }
-Eina_Bool _test_testing_check_eina_inarray_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inarray_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_inarray_str_return_to_check) return EINA_FALSE;
 
@@ -1091,7 +1093,7 @@ Eina_Bool _test_testing_check_eina_inarray_str_return(EINA_UNUSED Eo *obj, EINA_
    return r;
 }
 
-Eina_Inarray *_test_testing_eina_inarray_str_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Inarray *_dummy_test_object_eina_inarray_str_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inarray *arr = eina_inarray_new(sizeof(char*), 0);
    eina_inarray_push(arr, _new_str_ref("0x0"));
@@ -1102,22 +1104,22 @@ Eina_Inarray *_test_testing_eina_inarray_str_return_own(EINA_UNUSED Eo *obj, EIN
 
 // Object
 
-Eina_Bool _inarray_obj_equal(const Eina_Inarray *arr, const Test_Numberwrapper * const base[], unsigned int len)
+Eina_Bool _inarray_obj_equal(const Eina_Inarray *arr, const Dummy_Numberwrapper * const base[], unsigned int len)
 {
    if (eina_inarray_count(arr) != len)
      return EINA_FALSE;
    for (unsigned int i = 0; i < len; ++i)
      {
-        const Test_Numberwrapper **eo = eina_inarray_nth(arr, i);
-        int a = test_numberwrapper_number_get(*eo);
-        int b = test_numberwrapper_number_get(base[i]);
+        const Dummy_Numberwrapper **eo = eina_inarray_nth(arr, i);
+        int a = dummy_numberwrapper_number_get(*eo);
+        int b = dummy_numberwrapper_number_get(base[i]);
         if (a != b)
           return EINA_FALSE;
      }
    return EINA_TRUE;
 }
 
-Eina_Bool _test_testing_eina_inarray_obj_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inarray *arr)
+Eina_Bool _dummy_test_object_eina_inarray_obj_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inarray *arr)
 {
    Eina_Bool r = _inarray_obj_equal(arr, base_seq_obj, base_seq_obj_size);
    if (!r) return r;
@@ -1129,7 +1131,7 @@ Eina_Bool _test_testing_eina_inarray_obj_in(EINA_UNUSED Eo *obj, EINA_UNUSED Tes
 
 static Eina_Inarray *_inarray_obj_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_inarray_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inarray *arr)
+Eina_Bool _dummy_test_object_eina_inarray_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inarray *arr)
 {
    Eina_Bool r = _inarray_obj_equal(arr, base_seq_obj, base_seq_obj_size);
    if (!r) return r;
@@ -1139,14 +1141,14 @@ Eina_Bool _test_testing_eina_inarray_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED
    _inarray_obj_in_own_to_check = arr;
    return r;
 }
-Eina_Bool _test_testing_check_eina_inarray_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inarray_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_inarray_obj_in_own_to_check) return EINA_FALSE;
 
    Eina_Bool r = _inarray_obj_equal(_inarray_obj_in_own_to_check, modified_seq_obj, modified_seq_obj_size);
    if (!r) return r;
 
-   Test_Numberwrapper **ele;
+   Dummy_Numberwrapper **ele;
    EINA_INARRAY_FOREACH(_inarray_obj_in_own_to_check, ele)
      efl_unref(*ele);
 
@@ -1157,7 +1159,7 @@ Eina_Bool _test_testing_check_eina_inarray_obj_in_own(EINA_UNUSED Eo *obj, EINA_
 
 Eina_Inarray *_inarray_obj_out_to_check = NULL;
 
-Eina_Bool _test_testing_eina_inarray_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inarray **arr)
+Eina_Bool _dummy_test_object_eina_inarray_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inarray **arr)
 {
    if (!arr) return EINA_FALSE;
    *arr = eina_inarray_new(sizeof(Eo*), 0);
@@ -1167,14 +1169,14 @@ Eina_Bool _test_testing_eina_inarray_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Te
    _inarray_obj_out_to_check = *arr;
    return EINA_TRUE;
 }
-Eina_Bool _test_testing_check_eina_inarray_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inarray_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_inarray_obj_out_to_check) return EINA_FALSE;
 
    Eina_Bool r = _inarray_obj_equal(_inarray_obj_out_to_check, modified_seq_obj, modified_seq_obj_size);
    if (!r) return r;
 
-   Test_Numberwrapper **ele;
+   Dummy_Numberwrapper **ele;
    EINA_INARRAY_FOREACH(_inarray_obj_out_to_check, ele)
      efl_unref(*ele);
 
@@ -1183,7 +1185,7 @@ Eina_Bool _test_testing_check_eina_inarray_obj_out(EINA_UNUSED Eo *obj, EINA_UNU
    return r;
 }
 
-Eina_Bool _test_testing_eina_inarray_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inarray **arr)
+Eina_Bool _dummy_test_object_eina_inarray_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inarray **arr)
 {
    if (!arr) return EINA_FALSE;
    *arr = eina_inarray_new(sizeof(Eo*), 0);
@@ -1195,7 +1197,7 @@ Eina_Bool _test_testing_eina_inarray_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSE
 
 Eina_Inarray *_inarray_obj_return_to_check = NULL;
 
-Eina_Inarray *_test_testing_eina_inarray_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Inarray *_dummy_test_object_eina_inarray_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inarray *arr = eina_inarray_new(sizeof(Eo*), 0);
    eina_inarray_push(arr, _new_obj_ref(0x0));
@@ -1204,14 +1206,14 @@ Eina_Inarray *_test_testing_eina_inarray_obj_return(EINA_UNUSED Eo *obj, EINA_UN
    _inarray_obj_return_to_check = arr;
    return arr;
 }
-Eina_Bool _test_testing_check_eina_inarray_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inarray_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_inarray_obj_return_to_check) return EINA_FALSE;
 
    Eina_Bool r = _inarray_obj_equal(_inarray_obj_return_to_check, modified_seq_obj, modified_seq_obj_size);
    if (!r) return r;
 
-   Test_Numberwrapper **ele;
+   Dummy_Numberwrapper **ele;
    EINA_INARRAY_FOREACH(_inarray_obj_return_to_check, ele)
      efl_unref(*ele);
 
@@ -1220,7 +1222,7 @@ Eina_Bool _test_testing_check_eina_inarray_obj_return(EINA_UNUSED Eo *obj, EINA_
    return r;
 }
 
-Eina_Inarray *_test_testing_eina_inarray_obj_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Inarray *_dummy_test_object_eina_inarray_obj_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inarray *arr = eina_inarray_new(sizeof(Eo*), 0);
    eina_inarray_push(arr, _new_obj_ref(0x0));
@@ -1229,7 +1231,7 @@ Eina_Inarray *_test_testing_eina_inarray_obj_return_own(EINA_UNUSED Eo *obj, EIN
    return arr;
 }
 
-Eina_Inarray *_test_testing_eina_inarray_obj_return_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inarray *arr)
+Eina_Inarray *_dummy_test_object_eina_inarray_obj_return_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inarray *arr)
 {
    return arr;
 }
@@ -1257,7 +1259,7 @@ Eina_Bool _list_int_equal(const Eina_List *lst, const int base[], unsigned int l
    return EINA_TRUE;
 }
 
-Eina_Bool _test_testing_eina_list_int_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_List *lst)
+Eina_Bool _dummy_test_object_eina_list_int_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_List *lst)
 {
    Eina_Bool r = _list_int_equal(lst, base_seq_int, base_seq_int_size);
    return r;
@@ -1265,7 +1267,7 @@ Eina_Bool _test_testing_eina_list_int_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_T
 
 static Eina_List *_list_int_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_list_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_List *lst)
+Eina_Bool _dummy_test_object_eina_list_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_List *lst)
 {
    Eina_Bool r = _list_int_equal(lst, base_seq_int, base_seq_int_size);
    if (!r) return r;
@@ -1277,7 +1279,7 @@ Eina_Bool _test_testing_eina_list_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Te
    return r;
 }
 
-Eina_Bool _test_testing_check_eina_list_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_list_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_list_int_in_own_to_check) return EINA_FALSE;
 
@@ -1293,7 +1295,7 @@ Eina_Bool _test_testing_check_eina_list_int_in_own(EINA_UNUSED Eo *obj, EINA_UNU
 
 Eina_List *_list_int_out_to_check = NULL;
 
-Eina_Bool _test_testing_eina_list_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_List **lst)
+Eina_Bool _dummy_test_object_eina_list_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_List **lst)
 {
     if (!lst) return EINA_FALSE;
     *lst = eina_list_append(*lst, _new_int(0x0));
@@ -1302,7 +1304,7 @@ Eina_Bool _test_testing_eina_list_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_
     _list_int_out_to_check = *lst;
     return EINA_TRUE;
 }
-Eina_Bool _test_testing_check_eina_list_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_list_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_list_int_out_to_check) return EINA_FALSE;
 
@@ -1317,7 +1319,7 @@ Eina_Bool _test_testing_check_eina_list_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED
    return r;
 }
 
-Eina_Bool _test_testing_eina_list_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_List **lst)
+Eina_Bool _dummy_test_object_eina_list_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_List **lst)
 {
    if (!lst) return EINA_FALSE;
    *lst = eina_list_append(*lst, _new_int(0x0));
@@ -1328,7 +1330,7 @@ Eina_Bool _test_testing_eina_list_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED T
 
 Eina_List *_list_int_return_to_check = NULL;
 
-Eina_List *_test_testing_eina_list_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_List *_dummy_test_object_eina_list_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_List *lst = NULL;
    lst = eina_list_append(lst, _new_int(0x0));
@@ -1337,7 +1339,7 @@ Eina_List *_test_testing_eina_list_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED T
    _list_int_return_to_check = lst;
    return lst;
 }
-Eina_Bool _test_testing_check_eina_list_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_list_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_list_int_return_to_check) return EINA_FALSE;
 
@@ -1352,7 +1354,7 @@ Eina_Bool _test_testing_check_eina_list_int_return(EINA_UNUSED Eo *obj, EINA_UNU
    return r;
 }
 
-Eina_List *_test_testing_eina_list_int_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_List *_dummy_test_object_eina_list_int_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_List *lst = NULL;
    lst = eina_list_append(lst, _new_int(0x0));
@@ -1380,7 +1382,7 @@ Eina_Bool _list_str_equal(const Eina_List *lst, const char * const base[], unsig
    return EINA_TRUE;
 }
 
-Eina_Bool _test_testing_eina_list_str_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_List *lst)
+Eina_Bool _dummy_test_object_eina_list_str_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_List *lst)
 {
    Eina_Bool r = _list_str_equal(lst, base_seq_str, base_seq_str_size);
    return r;
@@ -1388,7 +1390,7 @@ Eina_Bool _test_testing_eina_list_str_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_T
 
 static Eina_List *_list_str_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_list_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_List *lst)
+Eina_Bool _dummy_test_object_eina_list_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_List *lst)
 {
    Eina_Bool r = _list_str_equal(lst, base_seq_str, base_seq_str_size);
    if (!r) return r;
@@ -1399,7 +1401,7 @@ Eina_Bool _test_testing_eina_list_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Te
    return r;
 }
 
-Eina_Bool _test_testing_check_eina_list_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_list_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_list_str_in_own_to_check) return EINA_FALSE;
 
@@ -1416,7 +1418,7 @@ Eina_Bool _test_testing_check_eina_list_str_in_own(EINA_UNUSED Eo *obj, EINA_UNU
 
 Eina_List *_list_str_out_to_check = NULL;
 
-Eina_Bool _test_testing_eina_list_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_List **lst)
+Eina_Bool _dummy_test_object_eina_list_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_List **lst)
 {
    if (!lst) return EINA_FALSE;
    *lst = eina_list_append(*lst, strdup("0x0"));
@@ -1425,7 +1427,7 @@ Eina_Bool _test_testing_eina_list_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_
    _list_str_out_to_check = *lst;
    return EINA_TRUE;
 }
-Eina_Bool _test_testing_check_eina_list_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_list_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_list_str_out_to_check) return EINA_FALSE;
 
@@ -1440,7 +1442,7 @@ Eina_Bool _test_testing_check_eina_list_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED
    return r;
 }
 
-Eina_Bool _test_testing_eina_list_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_List **lst)
+Eina_Bool _dummy_test_object_eina_list_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_List **lst)
 {
    if (!lst) return EINA_FALSE;
    *lst = eina_list_append(*lst, strdup("0x0"));
@@ -1451,7 +1453,7 @@ Eina_Bool _test_testing_eina_list_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED T
 
 Eina_List *_list_str_return_to_check = NULL;
 
-Eina_List *_test_testing_eina_list_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_List *_dummy_test_object_eina_list_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_List *lst = NULL;
    lst = eina_list_append(lst, strdup("0x0"));
@@ -1460,7 +1462,7 @@ Eina_List *_test_testing_eina_list_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED T
    _list_str_return_to_check = lst;
    return lst;
 }
-Eina_Bool _test_testing_check_eina_list_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_list_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_list_str_return_to_check) return EINA_FALSE;
 
@@ -1475,7 +1477,7 @@ Eina_Bool _test_testing_check_eina_list_str_return(EINA_UNUSED Eo *obj, EINA_UNU
    return r;
 }
 
-Eina_List *_test_testing_eina_list_str_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_List *_dummy_test_object_eina_list_str_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_List *lst = NULL;
    lst = eina_list_append(lst, strdup("0x0"));
@@ -1486,18 +1488,18 @@ Eina_List *_test_testing_eina_list_str_return_own(EINA_UNUSED Eo *obj, EINA_UNUS
 
 // Object
 
-Eina_Bool _list_obj_equal(const Eina_List *lst, const Test_Numberwrapper * const base[], unsigned int len)
+Eina_Bool _list_obj_equal(const Eina_List *lst, const Dummy_Numberwrapper * const base[], unsigned int len)
 {
    if (eina_list_count(lst) != len)
      return EINA_FALSE;
 
    const Eina_List *l;
-   Test_Numberwrapper *eo;
+   Dummy_Numberwrapper *eo;
    int i = 0;
    EINA_LIST_FOREACH(lst, l, eo)
      {
-        int a = test_numberwrapper_number_get(eo);
-        int b = test_numberwrapper_number_get(base[i]);
+        int a = dummy_numberwrapper_number_get(eo);
+        int b = dummy_numberwrapper_number_get(base[i]);
         if (a != b)
           return EINA_FALSE;
         ++i;
@@ -1505,7 +1507,7 @@ Eina_Bool _list_obj_equal(const Eina_List *lst, const Test_Numberwrapper * const
    return EINA_TRUE;
 }
 
-Eina_Bool _test_testing_eina_list_obj_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_List *lst)
+Eina_Bool _dummy_test_object_eina_list_obj_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_List *lst)
 {
    Eina_Bool r = _list_obj_equal(lst, base_seq_obj, base_seq_obj_size);
    return r;
@@ -1513,7 +1515,7 @@ Eina_Bool _test_testing_eina_list_obj_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_T
 
 static Eina_List *_list_obj_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_list_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_List *lst)
+Eina_Bool _dummy_test_object_eina_list_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_List *lst)
 {
    Eina_Bool r = _list_obj_equal(lst, base_seq_obj, base_seq_obj_size);
    if (!r) return r;
@@ -1524,14 +1526,14 @@ Eina_Bool _test_testing_eina_list_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Te
    return r;
 }
 
-Eina_Bool _test_testing_check_eina_list_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_list_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_list_obj_in_own_to_check) return EINA_FALSE;
 
    Eina_Bool r = _list_obj_equal(_list_obj_in_own_to_check, modified_seq_obj, modified_seq_obj_size);
    if (!r) return r;
 
-   Test_Numberwrapper *ele;
+   Dummy_Numberwrapper *ele;
    EINA_LIST_FREE(_list_obj_in_own_to_check, ele)
      efl_unref(ele);
 
@@ -1541,7 +1543,7 @@ Eina_Bool _test_testing_check_eina_list_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNU
 
 Eina_List *_list_obj_out_to_check = NULL;
 
-Eina_Bool _test_testing_eina_list_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_List **lst)
+Eina_Bool _dummy_test_object_eina_list_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_List **lst)
 {
    if (!lst) return EINA_FALSE;
    *lst = eina_list_append(*lst, _new_obj(0x0));
@@ -1550,14 +1552,14 @@ Eina_Bool _test_testing_eina_list_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_
    _list_obj_out_to_check = *lst;
    return EINA_TRUE;
 }
-Eina_Bool _test_testing_check_eina_list_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_list_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_list_obj_out_to_check) return EINA_FALSE;
 
    Eina_Bool r = _list_obj_equal(_list_obj_out_to_check, base_seq_obj, base_seq_obj_size);
    if (!r) return r;
 
-   Test_Numberwrapper *ele;
+   Dummy_Numberwrapper *ele;
    EINA_LIST_FREE(_list_obj_out_to_check, ele)
      efl_unref(ele);
 
@@ -1565,7 +1567,7 @@ Eina_Bool _test_testing_check_eina_list_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED
    return r;
 }
 
-Eina_Bool _test_testing_eina_list_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_List **lst)
+Eina_Bool _dummy_test_object_eina_list_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_List **lst)
 {
    if (!lst) return EINA_FALSE;
    *lst = eina_list_append(*lst, _new_obj(0x0));
@@ -1576,7 +1578,7 @@ Eina_Bool _test_testing_eina_list_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED T
 
 Eina_List *_list_obj_return_to_check = NULL;
 
-Eina_List *_test_testing_eina_list_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_List *_dummy_test_object_eina_list_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_List *lst = NULL;
    lst = eina_list_append(lst, _new_obj(0x0));
@@ -1585,14 +1587,14 @@ Eina_List *_test_testing_eina_list_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED T
    _list_obj_return_to_check = lst;
    return lst;
 }
-Eina_Bool _test_testing_check_eina_list_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_list_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_list_obj_return_to_check) return EINA_FALSE;
 
    Eina_Bool r = _list_obj_equal(_list_obj_return_to_check, base_seq_obj, base_seq_obj_size);
    if (!r) return r;
 
-   Test_Numberwrapper *ele;
+   Dummy_Numberwrapper *ele;
    EINA_LIST_FREE(_list_obj_return_to_check, ele)
      efl_unref(ele);
 
@@ -1600,7 +1602,7 @@ Eina_Bool _test_testing_check_eina_list_obj_return(EINA_UNUSED Eo *obj, EINA_UNU
    return r;
 }
 
-Eina_List *_test_testing_eina_list_obj_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_List *_dummy_test_object_eina_list_obj_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_List *lst = NULL;
    lst = eina_list_append(lst, _new_obj(0x0));
@@ -1609,7 +1611,7 @@ Eina_List *_test_testing_eina_list_obj_return_own(EINA_UNUSED Eo *obj, EINA_UNUS
    return lst;
 }
 
-Eina_List *_test_testing_eina_list_obj_return_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_List *lst)
+Eina_List *_dummy_test_object_eina_list_obj_return_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_List *lst)
 {
    return lst;
 }
@@ -1621,16 +1623,16 @@ Eina_List *_test_testing_eina_list_obj_return_in(EINA_UNUSED Eo *obj, EINA_UNUSE
 
 // Integer
 
-typedef struct _Test_Inlist_Node_Int
+typedef struct _Dummy_Inlist_Node_Int
 {
    EINA_INLIST;
    int val;
-} Test_Inlist_Node_Int;
+} Dummy_Inlist_Node_Int;
 
 
 Eina_Inlist *_new_inlist_int(int v)
 {
-   Test_Inlist_Node_Int *node = malloc(sizeof(Test_Inlist_Node_Int));
+   Dummy_Inlist_Node_Int *node = malloc(sizeof(Dummy_Inlist_Node_Int));
    node->val = v;
    return EINA_INLIST_GET(node);
 }
@@ -1640,7 +1642,7 @@ Eina_Bool _inlist_int_equal(const Eina_Inlist *lst, const int base[], unsigned i
    if (eina_inlist_count(lst) != len)
      return EINA_FALSE;
 
-   const Test_Inlist_Node_Int *node;
+   const Dummy_Inlist_Node_Int *node;
    int i = 0;
    EINA_INLIST_FOREACH(lst, node)
      {
@@ -1652,7 +1654,7 @@ Eina_Bool _inlist_int_equal(const Eina_Inlist *lst, const int base[], unsigned i
    return EINA_TRUE;
 }
 
-Eina_Bool _test_testing_eina_inlist_int_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inlist *lst)
+Eina_Bool _dummy_test_object_eina_inlist_int_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inlist *lst)
 {
    Eina_Bool r = _inlist_int_equal(lst, base_seq_int, base_seq_int_size);
    return r;
@@ -1660,7 +1662,7 @@ Eina_Bool _test_testing_eina_inlist_int_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test
 
 static Eina_Inlist *_inlist_int_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_inlist_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inlist *lst)
+Eina_Bool _dummy_test_object_eina_inlist_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inlist *lst)
 {
    Eina_Bool r = _inlist_int_equal(lst, base_seq_int, base_seq_int_size);
    if (!r) return r;
@@ -1672,7 +1674,7 @@ Eina_Bool _test_testing_eina_inlist_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED
    return r;
 }
 
-Eina_Bool _test_testing_check_eina_inlist_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inlist_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inlist *lst = _inlist_int_in_own_to_check;
    if (!lst) return EINA_FALSE;
@@ -1681,7 +1683,7 @@ Eina_Bool _test_testing_check_eina_inlist_int_in_own(EINA_UNUSED Eo *obj, EINA_U
    Eina_Bool r = _inlist_int_equal(lst, modified_seq_int, modified_seq_int_size);
    if (!r) return r;
 
-   Test_Inlist_Node_Int *node;
+   Dummy_Inlist_Node_Int *node;
    EINA_INLIST_FREE(lst, node)
      {
         lst = eina_inlist_remove(lst, EINA_INLIST_GET(node));
@@ -1692,7 +1694,7 @@ Eina_Bool _test_testing_check_eina_inlist_int_in_own(EINA_UNUSED Eo *obj, EINA_U
 
 Eina_Inlist *_inlist_int_out_to_check = NULL;
 
-Eina_Bool _test_testing_eina_inlist_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inlist **lst)
+Eina_Bool _dummy_test_object_eina_inlist_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inlist **lst)
 {
     if (!lst) return EINA_FALSE;
     *lst = eina_inlist_append(*lst, _new_inlist_int(0x0));
@@ -1701,7 +1703,7 @@ Eina_Bool _test_testing_eina_inlist_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Tes
     _inlist_int_out_to_check = *lst;
     return EINA_TRUE;
 }
-Eina_Bool _test_testing_check_eina_inlist_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inlist_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inlist *lst = _inlist_int_out_to_check;
    if (!lst) return EINA_FALSE;
@@ -1710,7 +1712,7 @@ Eina_Bool _test_testing_check_eina_inlist_int_out(EINA_UNUSED Eo *obj, EINA_UNUS
    Eina_Bool r = _inlist_int_equal(lst, base_seq_int, base_seq_int_size);
    if (!r) return r;
 
-   Test_Inlist_Node_Int *node;
+   Dummy_Inlist_Node_Int *node;
    EINA_INLIST_FREE(lst, node)
      {
         lst = eina_inlist_remove(lst, EINA_INLIST_GET(node));
@@ -1720,7 +1722,7 @@ Eina_Bool _test_testing_check_eina_inlist_int_out(EINA_UNUSED Eo *obj, EINA_UNUS
    return r;
 }
 
-Eina_Bool _test_testing_eina_inlist_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inlist **lst)
+Eina_Bool _dummy_test_object_eina_inlist_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inlist **lst)
 {
    if (!lst) return EINA_FALSE;
    *lst = eina_inlist_append(*lst, _new_inlist_int(0x0));
@@ -1731,7 +1733,7 @@ Eina_Bool _test_testing_eina_inlist_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED
 
 Eina_Inlist *_inlist_int_return_to_check = NULL;
 
-Eina_Inlist *_test_testing_eina_inlist_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Inlist *_dummy_test_object_eina_inlist_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inlist *lst = NULL;
    lst = eina_inlist_append(lst, _new_inlist_int(0x0));
@@ -1740,7 +1742,7 @@ Eina_Inlist *_test_testing_eina_inlist_int_return(EINA_UNUSED Eo *obj, EINA_UNUS
    _inlist_int_return_to_check = lst;
    return lst;
 }
-Eina_Bool _test_testing_check_eina_inlist_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inlist_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inlist *lst = _inlist_int_return_to_check;
    if (!lst) return EINA_FALSE;
@@ -1749,7 +1751,7 @@ Eina_Bool _test_testing_check_eina_inlist_int_return(EINA_UNUSED Eo *obj, EINA_U
    Eina_Bool r = _inlist_int_equal(lst, base_seq_int, base_seq_int_size);
    if (!r) return r;
 
-   Test_Inlist_Node_Int *node;
+   Dummy_Inlist_Node_Int *node;
    EINA_INLIST_FREE(lst, node)
      {
         lst = eina_inlist_remove(lst, EINA_INLIST_GET(node));
@@ -1759,7 +1761,7 @@ Eina_Bool _test_testing_check_eina_inlist_int_return(EINA_UNUSED Eo *obj, EINA_U
    return r;
 }
 
-Eina_Inlist *_test_testing_eina_inlist_int_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Inlist *_dummy_test_object_eina_inlist_int_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inlist *lst = NULL;
    lst = eina_inlist_append(lst, _new_inlist_int(0x0));
@@ -1770,16 +1772,16 @@ Eina_Inlist *_test_testing_eina_inlist_int_return_own(EINA_UNUSED Eo *obj, EINA_
 
 // String
 
-typedef struct _Test_Inlist_Node_Str
+typedef struct _Dummy_Inlist_Node_Str
 {
    EINA_INLIST;
    char *val;
-} Test_Inlist_Node_Str;
+} Dummy_Inlist_Node_Str;
 
 
 Eina_Inlist *_new_inlist_str(const char *v)
 {
-   Test_Inlist_Node_Str *node = malloc(sizeof(Test_Inlist_Node_Str));
+   Dummy_Inlist_Node_Str *node = malloc(sizeof(Dummy_Inlist_Node_Str));
    node->val = strdup(v);
    return EINA_INLIST_GET(node);
 }
@@ -1789,7 +1791,7 @@ Eina_Bool _inlist_str_equal(const Eina_Inlist *lst, const char * const base[], u
    if (eina_inlist_count(lst) != len)
      return EINA_FALSE;
 
-   const Test_Inlist_Node_Str *node;
+   const Dummy_Inlist_Node_Str *node;
    int i = 0;
    EINA_INLIST_FOREACH(lst, node)
      {
@@ -1800,7 +1802,7 @@ Eina_Bool _inlist_str_equal(const Eina_Inlist *lst, const char * const base[], u
    return EINA_TRUE;
 }
 
-Eina_Bool _test_testing_eina_inlist_str_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inlist *lst)
+Eina_Bool _dummy_test_object_eina_inlist_str_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inlist *lst)
 {
    Eina_Bool r = _inlist_str_equal(lst, base_seq_str, base_seq_str_size);
    return r;
@@ -1808,7 +1810,7 @@ Eina_Bool _test_testing_eina_inlist_str_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test
 
 static Eina_Inlist *_inlist_str_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_inlist_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inlist *lst)
+Eina_Bool _dummy_test_object_eina_inlist_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inlist *lst)
 {
    Eina_Bool r = _inlist_str_equal(lst, base_seq_str, base_seq_str_size);
    if (!r) return r;
@@ -1819,7 +1821,7 @@ Eina_Bool _test_testing_eina_inlist_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED
    return r;
 }
 
-Eina_Bool _test_testing_check_eina_inlist_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inlist_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inlist *lst = _inlist_str_in_own_to_check;
    if (!lst) return EINA_FALSE;
@@ -1828,7 +1830,7 @@ Eina_Bool _test_testing_check_eina_inlist_str_in_own(EINA_UNUSED Eo *obj, EINA_U
    Eina_Bool r = _inlist_str_equal(lst, modified_seq_str, modified_seq_str_size);
    if (!r) return r;
 
-   Test_Inlist_Node_Str *node;
+   Dummy_Inlist_Node_Str *node;
    EINA_INLIST_FREE(lst, node)
      {
         lst = eina_inlist_remove(lst, EINA_INLIST_GET(node));
@@ -1841,7 +1843,7 @@ Eina_Bool _test_testing_check_eina_inlist_str_in_own(EINA_UNUSED Eo *obj, EINA_U
 
 Eina_Inlist *_inlist_str_out_to_check = NULL;
 
-Eina_Bool _test_testing_eina_inlist_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inlist **lst)
+Eina_Bool _dummy_test_object_eina_inlist_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inlist **lst)
 {
    if (!lst) return EINA_FALSE;
    *lst = eina_inlist_append(*lst, _new_inlist_str("0x0"));
@@ -1850,7 +1852,7 @@ Eina_Bool _test_testing_eina_inlist_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Tes
    _inlist_str_out_to_check = *lst;
    return EINA_TRUE;
 }
-Eina_Bool _test_testing_check_eina_inlist_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inlist_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inlist *lst = _inlist_str_out_to_check;
    if (!lst) return EINA_FALSE;
@@ -1859,7 +1861,7 @@ Eina_Bool _test_testing_check_eina_inlist_str_out(EINA_UNUSED Eo *obj, EINA_UNUS
    Eina_Bool r = _inlist_str_equal(lst, base_seq_str, base_seq_str_size);
    if (!r) return r;
 
-   Test_Inlist_Node_Str *node;
+   Dummy_Inlist_Node_Str *node;
    EINA_INLIST_FREE(lst, node)
      {
         lst = eina_inlist_remove(lst, EINA_INLIST_GET(node));
@@ -1870,7 +1872,7 @@ Eina_Bool _test_testing_check_eina_inlist_str_out(EINA_UNUSED Eo *obj, EINA_UNUS
    return r;
 }
 
-Eina_Bool _test_testing_eina_inlist_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inlist **lst)
+Eina_Bool _dummy_test_object_eina_inlist_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inlist **lst)
 {
    if (!lst) return EINA_FALSE;
    *lst = eina_inlist_append(*lst, _new_inlist_str("0x0"));
@@ -1881,7 +1883,7 @@ Eina_Bool _test_testing_eina_inlist_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED
 
 Eina_Inlist *_inlist_str_return_to_check = NULL;
 
-Eina_Inlist *_test_testing_eina_inlist_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Inlist *_dummy_test_object_eina_inlist_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inlist *lst = NULL;
    lst = eina_inlist_append(lst, _new_inlist_str("0x0"));
@@ -1890,7 +1892,7 @@ Eina_Inlist *_test_testing_eina_inlist_str_return(EINA_UNUSED Eo *obj, EINA_UNUS
    _inlist_str_return_to_check = lst;
    return lst;
 }
-Eina_Bool _test_testing_check_eina_inlist_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inlist_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inlist *lst = _inlist_str_return_to_check;
    if (!lst) return EINA_FALSE;
@@ -1899,7 +1901,7 @@ Eina_Bool _test_testing_check_eina_inlist_str_return(EINA_UNUSED Eo *obj, EINA_U
    Eina_Bool r = _inlist_str_equal(lst, base_seq_str, base_seq_str_size);
    if (!r) return r;
 
-   Test_Inlist_Node_Str *node;
+   Dummy_Inlist_Node_Str *node;
    EINA_INLIST_FREE(lst, node)
      {
         lst = eina_inlist_remove(lst, EINA_INLIST_GET(node));
@@ -1910,7 +1912,7 @@ Eina_Bool _test_testing_check_eina_inlist_str_return(EINA_UNUSED Eo *obj, EINA_U
    return r;
 }
 
-Eina_Inlist *_test_testing_eina_inlist_str_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Inlist *_dummy_test_object_eina_inlist_str_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inlist *lst = NULL;
    lst = eina_inlist_append(lst, _new_inlist_str("0x0"));
@@ -1921,31 +1923,31 @@ Eina_Inlist *_test_testing_eina_inlist_str_return_own(EINA_UNUSED Eo *obj, EINA_
 
 // Object
 
-typedef struct _Test_Inlist_Node_Obj
+typedef struct _Dummy_Inlist_Node_Obj
 {
    EINA_INLIST;
-   Test_Numberwrapper *val;
-} Test_Inlist_Node_Obj;
+   Dummy_Numberwrapper *val;
+} Dummy_Inlist_Node_Obj;
 
 
 Eina_Inlist *_new_inlist_obj(int v)
 {
-   Test_Inlist_Node_Obj *node = malloc(sizeof(Test_Inlist_Node_Obj));
+   Dummy_Inlist_Node_Obj *node = malloc(sizeof(Dummy_Inlist_Node_Obj));
    node->val = _new_obj(v);
    return EINA_INLIST_GET(node);
 }
 
-Eina_Bool _inlist_obj_equal(const Eina_Inlist *lst, const Test_Numberwrapper * const base[], unsigned int len)
+Eina_Bool _inlist_obj_equal(const Eina_Inlist *lst, const Dummy_Numberwrapper * const base[], unsigned int len)
 {
    if (eina_inlist_count(lst) != len)
      return EINA_FALSE;
 
-   const Test_Inlist_Node_Obj *node;
+   const Dummy_Inlist_Node_Obj *node;
    int i = 0;
    EINA_INLIST_FOREACH(lst, node)
      {
-        int a = test_numberwrapper_number_get(node->val);
-        int b = test_numberwrapper_number_get(base[i]);
+        int a = dummy_numberwrapper_number_get(node->val);
+        int b = dummy_numberwrapper_number_get(base[i]);
         if (a != b)
           return EINA_FALSE;
         ++i;
@@ -1953,7 +1955,7 @@ Eina_Bool _inlist_obj_equal(const Eina_Inlist *lst, const Test_Numberwrapper * c
    return EINA_TRUE;
 }
 
-Eina_Bool _test_testing_eina_inlist_obj_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inlist *lst)
+Eina_Bool _dummy_test_object_eina_inlist_obj_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inlist *lst)
 {
    Eina_Bool r = _inlist_obj_equal(lst, base_seq_obj, base_seq_obj_size);
    return r;
@@ -1961,7 +1963,7 @@ Eina_Bool _test_testing_eina_inlist_obj_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test
 
 static Eina_Inlist *_inlist_obj_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_inlist_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inlist *lst)
+Eina_Bool _dummy_test_object_eina_inlist_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inlist *lst)
 {
    Eina_Bool r = _inlist_obj_equal(lst, base_seq_obj, base_seq_obj_size);
    if (!r) return r;
@@ -1972,7 +1974,7 @@ Eina_Bool _test_testing_eina_inlist_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED
    return r;
 }
 
-Eina_Bool _test_testing_check_eina_inlist_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inlist_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inlist *lst = _inlist_obj_in_own_to_check;
    if (!lst) return EINA_FALSE;
@@ -1981,7 +1983,7 @@ Eina_Bool _test_testing_check_eina_inlist_obj_in_own(EINA_UNUSED Eo *obj, EINA_U
    Eina_Bool r = _inlist_obj_equal(lst, modified_seq_obj, modified_seq_obj_size);
    if (!r) return r;
 
-   Test_Inlist_Node_Obj *node;
+   Dummy_Inlist_Node_Obj *node;
    EINA_INLIST_FREE(lst, node)
      {
         lst = eina_inlist_remove(lst, EINA_INLIST_GET(node));
@@ -1994,7 +1996,7 @@ Eina_Bool _test_testing_check_eina_inlist_obj_in_own(EINA_UNUSED Eo *obj, EINA_U
 
 Eina_Inlist *_inlist_obj_out_to_check = NULL;
 
-Eina_Bool _test_testing_eina_inlist_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inlist **lst)
+Eina_Bool _dummy_test_object_eina_inlist_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inlist **lst)
 {
    if (!lst) return EINA_FALSE;
    *lst = eina_inlist_append(*lst, _new_inlist_obj(0x0));
@@ -2003,7 +2005,7 @@ Eina_Bool _test_testing_eina_inlist_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Tes
    _inlist_obj_out_to_check = *lst;
    return EINA_TRUE;
 }
-Eina_Bool _test_testing_check_eina_inlist_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inlist_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inlist *lst = _inlist_obj_out_to_check;
    if (!lst) return EINA_FALSE;
@@ -2012,7 +2014,7 @@ Eina_Bool _test_testing_check_eina_inlist_obj_out(EINA_UNUSED Eo *obj, EINA_UNUS
    Eina_Bool r = _inlist_obj_equal(lst, base_seq_obj, base_seq_obj_size);
    if (!r) return r;
 
-   Test_Inlist_Node_Obj *node;
+   Dummy_Inlist_Node_Obj *node;
    EINA_INLIST_FREE(lst, node)
      {
         lst = eina_inlist_remove(lst, EINA_INLIST_GET(node));
@@ -2023,7 +2025,7 @@ Eina_Bool _test_testing_check_eina_inlist_obj_out(EINA_UNUSED Eo *obj, EINA_UNUS
    return r;
 }
 
-Eina_Bool _test_testing_eina_inlist_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inlist **lst)
+Eina_Bool _dummy_test_object_eina_inlist_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inlist **lst)
 {
    if (!lst) return EINA_FALSE;
    *lst = eina_inlist_append(*lst, _new_inlist_obj(0x0));
@@ -2034,7 +2036,7 @@ Eina_Bool _test_testing_eina_inlist_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED
 
 Eina_Inlist *_inlist_obj_return_to_check = NULL;
 
-Eina_Inlist *_test_testing_eina_inlist_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Inlist *_dummy_test_object_eina_inlist_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inlist *lst = NULL;
    lst = eina_inlist_append(lst, _new_inlist_obj(0x0));
@@ -2043,7 +2045,7 @@ Eina_Inlist *_test_testing_eina_inlist_obj_return(EINA_UNUSED Eo *obj, EINA_UNUS
    _inlist_obj_return_to_check = lst;
    return lst;
 }
-Eina_Bool _test_testing_check_eina_inlist_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_inlist_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inlist *lst = _inlist_obj_return_to_check;
    if (!lst) return EINA_FALSE;
@@ -2052,7 +2054,7 @@ Eina_Bool _test_testing_check_eina_inlist_obj_return(EINA_UNUSED Eo *obj, EINA_U
    Eina_Bool r = _inlist_obj_equal(lst, base_seq_obj, base_seq_obj_size);
    if (!r) return r;
 
-   Test_Inlist_Node_Obj *node;
+   Dummy_Inlist_Node_Obj *node;
    EINA_INLIST_FREE(lst, node)
      {
         lst = eina_inlist_remove(lst, EINA_INLIST_GET(node));
@@ -2063,7 +2065,7 @@ Eina_Bool _test_testing_check_eina_inlist_obj_return(EINA_UNUSED Eo *obj, EINA_U
    return r;
 }
 
-Eina_Inlist *_test_testing_eina_inlist_obj_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Inlist *_dummy_test_object_eina_inlist_obj_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Inlist *lst = NULL;
    lst = eina_inlist_append(lst, _new_inlist_obj(0x0));
@@ -2072,7 +2074,7 @@ Eina_Inlist *_test_testing_eina_inlist_obj_return_own(EINA_UNUSED Eo *obj, EINA_
    return lst;
 }
 
-Eina_Inlist *_test_testing_eina_inlist_obj_return_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Inlist *lst)
+Eina_Inlist *_dummy_test_object_eina_inlist_obj_return_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Inlist *lst)
 {
    return lst;
 }
@@ -2093,7 +2095,7 @@ Eina_Bool _hash_int_check(const Eina_Hash *hsh, int key, int expected_val)
 
 // int in
 
-Eina_Bool _test_testing_eina_hash_int_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Hash *hsh)
+Eina_Bool _dummy_test_object_eina_hash_int_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Hash *hsh)
 {
    if (!_hash_int_check(hsh, 22, 222))
      return EINA_FALSE;
@@ -2113,7 +2115,7 @@ static void _hash_int_in_own_free_cb(void *data)
 }
 static Eina_Hash *_hash_int_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_hash_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Hash *hsh)
+Eina_Bool _dummy_test_object_eina_hash_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Hash *hsh)
 {
    eina_hash_free_cb_set(hsh, _hash_int_in_own_free_cb);
 
@@ -2125,7 +2127,7 @@ Eina_Bool _test_testing_eina_hash_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Te
    int key = 44;
    return eina_hash_add(hsh, &key, _new_int(444));
 }
-Eina_Bool _test_testing_check_eina_hash_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_hash_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_hash_int_in_own_to_check) return EINA_FALSE;
 
@@ -2152,7 +2154,7 @@ static void _hash_int_out_free_cb(void *data)
 }
 Eina_Hash *_hash_int_out_to_check = NULL;
 
-Eina_Bool _test_testing_eina_hash_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Hash **hsh)
+Eina_Bool _dummy_test_object_eina_hash_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Hash **hsh)
 {
    if (!hsh) return EINA_FALSE;
 
@@ -2163,7 +2165,7 @@ Eina_Bool _test_testing_eina_hash_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_
    int key = 22;
    return eina_hash_add(*hsh, &key, _new_int(222));
 }
-Eina_Bool _test_testing_check_eina_hash_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_hash_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_hash_int_out_to_check) return EINA_FALSE;
 
@@ -2188,7 +2190,7 @@ static void _hash_int_out_own_free_cb(void *data)
    _hash_int_out_own_free_flag = EINA_TRUE;
    free(data);
 }
-Eina_Bool _test_testing_eina_hash_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Hash **hsh)
+Eina_Bool _dummy_test_object_eina_hash_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Hash **hsh)
 {
    if (!hsh) return EINA_FALSE;
 
@@ -2197,7 +2199,7 @@ Eina_Bool _test_testing_eina_hash_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED T
    int key = 22;
    return eina_hash_add(*hsh, &key, _new_int(222));
 }
-Eina_Bool _test_testing_check_eina_hash_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_hash_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    return !_hash_int_out_own_free_flag;
 }
@@ -2213,7 +2215,7 @@ static void _hash_int_return_free_cb(void *data)
 }
 Eina_Hash *_hash_int_return_to_check = NULL;
 
-Eina_Hash *_test_testing_eina_hash_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Hash *_dummy_test_object_eina_hash_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Hash *hsh = eina_hash_int32_new(_hash_int_return_free_cb);
 
@@ -2224,7 +2226,7 @@ Eina_Hash *_test_testing_eina_hash_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED T
 
    return hsh;
 }
-Eina_Bool _test_testing_check_eina_hash_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_hash_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_hash_int_return_to_check) return EINA_FALSE;
 
@@ -2249,7 +2251,7 @@ static void _hash_int_return_own_free_cb(void *data)
    _hash_int_return_own_free_flag = EINA_TRUE;
    free(data);
 }
-Eina_Hash *_test_testing_eina_hash_int_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Hash *_dummy_test_object_eina_hash_int_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Hash *hsh = eina_hash_int32_new(_hash_int_return_own_free_cb);
 
@@ -2258,7 +2260,7 @@ Eina_Hash *_test_testing_eina_hash_int_return_own(EINA_UNUSED Eo *obj, EINA_UNUS
 
    return hsh;
 }
-Eina_Bool _test_testing_check_eina_hash_int_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_hash_int_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    return !_hash_int_return_own_free_flag;
 }
@@ -2275,7 +2277,7 @@ Eina_Bool _hash_str_check(const Eina_Hash *hsh, const char *key, const char *exp
 
 // str in
 
-Eina_Bool _test_testing_eina_hash_str_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Hash *hsh)
+Eina_Bool _dummy_test_object_eina_hash_str_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Hash *hsh)
 {
    if (!_hash_str_check(hsh, "aa", "aaa"))
      return EINA_FALSE;
@@ -2294,7 +2296,7 @@ static void _hash_str_in_own_free_cb(void *data)
 }
 static Eina_Hash *_hash_str_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_hash_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Hash *hsh)
+Eina_Bool _dummy_test_object_eina_hash_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Hash *hsh)
 {
    eina_hash_free_cb_set(hsh, _hash_str_in_own_free_cb);
 
@@ -2305,7 +2307,7 @@ Eina_Bool _test_testing_eina_hash_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Te
 
    return eina_hash_add(hsh, "bb", strdup("bbb"));
 }
-Eina_Bool _test_testing_check_eina_hash_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_hash_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_hash_str_in_own_to_check) return EINA_FALSE;
 
@@ -2332,7 +2334,7 @@ static void _hash_str_out_free_cb(void *data)
 }
 Eina_Hash *_hash_str_out_to_check = NULL;
 
-Eina_Bool _test_testing_eina_hash_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Hash **hsh)
+Eina_Bool _dummy_test_object_eina_hash_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Hash **hsh)
 {
    if (!hsh) return EINA_FALSE;
 
@@ -2342,7 +2344,7 @@ Eina_Bool _test_testing_eina_hash_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_
 
    return eina_hash_add(*hsh, "aa", strdup("aaa"));
 }
-Eina_Bool _test_testing_check_eina_hash_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_hash_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_hash_str_out_to_check) return EINA_FALSE;
 
@@ -2367,7 +2369,7 @@ static void _hash_str_out_own_free_cb(void *data)
    _hash_str_out_own_free_flag = EINA_TRUE;
    free(data);
 }
-Eina_Bool _test_testing_eina_hash_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Hash **hsh)
+Eina_Bool _dummy_test_object_eina_hash_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Hash **hsh)
 {
    if (!hsh) return EINA_FALSE;
 
@@ -2375,7 +2377,7 @@ Eina_Bool _test_testing_eina_hash_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED T
 
    return eina_hash_add(*hsh, "aa", strdup("aaa"));
 }
-Eina_Bool _test_testing_check_eina_hash_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_hash_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    return !_hash_str_out_own_free_flag;
 }
@@ -2391,7 +2393,7 @@ static void _hash_str_return_free_cb(void *data)
 }
 Eina_Hash *_hash_str_return_to_check = NULL;
 
-Eina_Hash *_test_testing_eina_hash_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Hash *_dummy_test_object_eina_hash_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Hash *hsh = eina_hash_string_superfast_new(_hash_str_return_free_cb);
 
@@ -2401,7 +2403,7 @@ Eina_Hash *_test_testing_eina_hash_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED T
 
    return hsh;
 }
-Eina_Bool _test_testing_check_eina_hash_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_hash_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    if (!_hash_str_return_to_check) return EINA_FALSE;
 
@@ -2426,7 +2428,7 @@ static void _hash_str_return_own_free_cb(void *data)
    _hash_str_return_own_free_flag = EINA_TRUE;
    free(data);
 }
-Eina_Hash *_test_testing_eina_hash_str_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Hash *_dummy_test_object_eina_hash_str_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Hash *hsh = eina_hash_string_superfast_new(_hash_str_return_own_free_cb);
 
@@ -2434,7 +2436,7 @@ Eina_Hash *_test_testing_eina_hash_str_return_own(EINA_UNUSED Eo *obj, EINA_UNUS
 
    return hsh;
 }
-Eina_Bool _test_testing_check_eina_hash_str_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_hash_str_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    return !_hash_str_return_own_free_flag;
 }
@@ -2442,16 +2444,16 @@ Eina_Bool _test_testing_check_eina_hash_str_return_own(EINA_UNUSED Eo *obj, EINA
 
 // Object //
 
-Eina_Bool _hash_obj_check(const Eina_Hash *hsh, Test_Numberwrapper *key, Test_Numberwrapper *expected_val, int knum, int vnum)
+Eina_Bool _hash_obj_check(const Eina_Hash *hsh, Dummy_Numberwrapper *key, Dummy_Numberwrapper *expected_val, int knum, int vnum)
 {
-   Test_Numberwrapper *val = eina_hash_find(hsh, &key);
-   return val && (val == expected_val) && (test_numberwrapper_number_get(key) == knum) && (test_numberwrapper_number_get(val) == vnum);
+   Dummy_Numberwrapper *val = eina_hash_find(hsh, &key);
+   return val && (val == expected_val) && (dummy_numberwrapper_number_get(key) == knum) && (dummy_numberwrapper_number_get(val) == vnum);
 }
 
 
 // obj in
 
-Eina_Bool _test_testing_eina_hash_obj_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Hash *hsh, Test_Numberwrapper *nwk1, Test_Numberwrapper *nwv1, Test_Numberwrapper **nwk2, Test_Numberwrapper **nwv2)
+Eina_Bool _dummy_test_object_eina_hash_obj_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Hash *hsh, Dummy_Numberwrapper *nwk1, Dummy_Numberwrapper *nwv1, Dummy_Numberwrapper **nwk2, Dummy_Numberwrapper **nwv2)
 {
    if (!_hash_obj_check(hsh, nwk1, nwv1, 22, 222))
      return EINA_FALSE;
@@ -2473,7 +2475,7 @@ static void _hash_obj_in_own_free_cb(void *data)
 }
 static Eina_Hash *_hash_obj_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_hash_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Hash *hsh, Test_Numberwrapper *nwk1, Test_Numberwrapper *nwv1, Test_Numberwrapper **nwk2, Test_Numberwrapper **nwv2)
+Eina_Bool _dummy_test_object_eina_hash_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Hash *hsh, Dummy_Numberwrapper *nwk1, Dummy_Numberwrapper *nwv1, Dummy_Numberwrapper **nwk2, Dummy_Numberwrapper **nwv2)
 {
    eina_hash_free_cb_set(hsh, _hash_obj_in_own_free_cb);
 
@@ -2487,7 +2489,7 @@ Eina_Bool _test_testing_eina_hash_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Te
 
    return eina_hash_add(hsh, nwk2, *nwv2);
 }
-Eina_Bool _test_testing_check_eina_hash_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_Numberwrapper *nwk1, Test_Numberwrapper *nwv1, Test_Numberwrapper *nwk2, Test_Numberwrapper *nwv2)
+Eina_Bool _dummy_test_object_check_eina_hash_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_Numberwrapper *nwk1, Dummy_Numberwrapper *nwv1, Dummy_Numberwrapper *nwk2, Dummy_Numberwrapper *nwv2)
 {
    if (!_hash_obj_in_own_to_check) return EINA_FALSE;
 
@@ -2513,7 +2515,7 @@ static void _hash_obj_out_free_cb(void *data)
 }
 Eina_Hash *_hash_obj_out_to_check = NULL;
 
-Eina_Bool _test_testing_eina_hash_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Hash **hsh, Test_Numberwrapper **nwk, Test_Numberwrapper **nwv)
+Eina_Bool _dummy_test_object_eina_hash_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Hash **hsh, Dummy_Numberwrapper **nwk, Dummy_Numberwrapper **nwv)
 {
    if (!hsh) return EINA_FALSE;
 
@@ -2525,7 +2527,7 @@ Eina_Bool _test_testing_eina_hash_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_
    *nwv = _new_obj(222);
    return eina_hash_add(*hsh, nwk, *nwv);
 }
-Eina_Bool _test_testing_check_eina_hash_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_Numberwrapper *nwk1, Test_Numberwrapper *nwv1, Test_Numberwrapper *nwk2, Test_Numberwrapper *nwv2)
+Eina_Bool _dummy_test_object_check_eina_hash_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_Numberwrapper *nwk1, Dummy_Numberwrapper *nwv1, Dummy_Numberwrapper *nwk2, Dummy_Numberwrapper *nwv2)
 {
    if (!_hash_obj_out_to_check) return EINA_FALSE;
 
@@ -2550,7 +2552,7 @@ static void _hash_obj_out_own_free_cb(void *data)
    _hash_obj_out_own_free_flag = EINA_TRUE;
    efl_unref(data);
 }
-Eina_Bool _test_testing_eina_hash_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Hash **hsh, Test_Numberwrapper **nwk, Test_Numberwrapper **nwv)
+Eina_Bool _dummy_test_object_eina_hash_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Hash **hsh, Dummy_Numberwrapper **nwk, Dummy_Numberwrapper **nwv)
 {
    if (!hsh) return EINA_FALSE;
 
@@ -2560,7 +2562,7 @@ Eina_Bool _test_testing_eina_hash_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED T
    *nwv = _new_obj(222);
    return eina_hash_add(*hsh, nwk, *nwv);
 }
-Eina_Bool _test_testing_check_eina_hash_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_hash_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    return !_hash_obj_out_own_free_flag;
 }
@@ -2576,7 +2578,7 @@ static void _hash_obj_return_free_cb(void *data)
 }
 Eina_Hash *_hash_obj_return_to_check = NULL;
 
-Eina_Hash *_test_testing_eina_hash_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_Numberwrapper **nwk, Test_Numberwrapper **nwv)
+Eina_Hash *_dummy_test_object_eina_hash_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_Numberwrapper **nwk, Dummy_Numberwrapper **nwv)
 {
    Eina_Hash *hsh = eina_hash_pointer_new(_hash_obj_return_free_cb);
 
@@ -2589,7 +2591,7 @@ Eina_Hash *_test_testing_eina_hash_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED T
 
    return hsh;
 }
-Eina_Bool _test_testing_check_eina_hash_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_Numberwrapper *nwk1, Test_Numberwrapper *nwv1, Test_Numberwrapper *nwk2, Test_Numberwrapper *nwv2)
+Eina_Bool _dummy_test_object_check_eina_hash_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_Numberwrapper *nwk1, Dummy_Numberwrapper *nwv1, Dummy_Numberwrapper *nwk2, Dummy_Numberwrapper *nwv2)
 {
    if (!_hash_obj_return_to_check) return EINA_FALSE;
 
@@ -2614,7 +2616,7 @@ static void _hash_obj_return_own_free_cb(void *data)
    _hash_obj_return_own_free_flag = EINA_TRUE;
    efl_unref(data);
 }
-Eina_Hash *_test_testing_eina_hash_obj_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_Numberwrapper **nwk, Test_Numberwrapper **nwv)
+Eina_Hash *_dummy_test_object_eina_hash_obj_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_Numberwrapper **nwk, Dummy_Numberwrapper **nwv)
 {
    Eina_Hash *hsh = eina_hash_pointer_new(_hash_obj_return_own_free_cb);
 
@@ -2624,7 +2626,7 @@ Eina_Hash *_test_testing_eina_hash_obj_return_own(EINA_UNUSED Eo *obj, EINA_UNUS
 
    return hsh;
 }
-Eina_Bool _test_testing_check_eina_hash_obj_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_hash_obj_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    return !_hash_obj_return_own_free_flag;
 }
@@ -2685,7 +2687,7 @@ Eina_Bool _iterator_int_test_array(Eina_Array *arr)
 
 // <int> in
 
-Eina_Bool _test_testing_eina_iterator_int_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Iterator *itr)
+Eina_Bool _dummy_test_object_eina_iterator_int_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Iterator *itr)
 {
    Eina_Bool r = _iterator_int_equal(itr, base_seq_int, base_seq_int_size, EINA_FALSE);
    return r;
@@ -2695,13 +2697,13 @@ Eina_Bool _test_testing_eina_iterator_int_in(EINA_UNUSED Eo *obj, EINA_UNUSED Te
 
 static Eina_Iterator *_iterator_int_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_iterator_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Iterator *itr)
+Eina_Bool _dummy_test_object_eina_iterator_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Iterator *itr)
 {
    Eina_Bool r = _iterator_int_equal(itr, base_seq_int, base_seq_int_size, EINA_TRUE);
    _iterator_int_in_own_to_check = itr;
    return r;
 }
-Eina_Bool _test_testing_check_eina_iterator_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_iterator_int_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    eina_iterator_free(_iterator_int_in_own_to_check);
    _iterator_int_in_own_to_check = NULL;
@@ -2713,7 +2715,7 @@ Eina_Bool _test_testing_check_eina_iterator_int_in_own(EINA_UNUSED Eo *obj, EINA
 Eina_Iterator *_iterator_int_out_to_check = NULL;
 Eina_Array *_iterator_int_out_array = NULL;
 
-Eina_Bool _test_testing_eina_iterator_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Iterator **itr)
+Eina_Bool _dummy_test_object_eina_iterator_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Iterator **itr)
 {
    if (!itr) return EINA_FALSE;
 
@@ -2724,7 +2726,7 @@ Eina_Bool _test_testing_eina_iterator_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED T
 
    return EINA_TRUE;
 }
-Eina_Bool _test_testing_check_eina_iterator_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_iterator_int_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Iterator *itr = _iterator_int_out_to_check;
    if (!itr) return EINA_FALSE;
@@ -2744,7 +2746,7 @@ Eina_Bool _test_testing_check_eina_iterator_int_out(EINA_UNUSED Eo *obj, EINA_UN
 
 // <int> out own
 
-Eina_Bool _test_testing_eina_iterator_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Iterator **itr)
+Eina_Bool _dummy_test_object_eina_iterator_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Iterator **itr)
 {
    if (!itr) return EINA_FALSE;
 
@@ -2760,13 +2762,13 @@ Eina_Bool _test_testing_eina_iterator_int_out_own(EINA_UNUSED Eo *obj, EINA_UNUS
 Eina_Iterator *_iterator_int_return_to_check = NULL;
 Eina_Array *_iterator_int_return_array = NULL;
 
-Eina_Iterator *_test_testing_eina_iterator_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Iterator *_dummy_test_object_eina_iterator_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    _iterator_int_return_array = _iterator_int_eina_array_new();
    _iterator_int_return_to_check = eina_array_iterator_new(_iterator_int_return_array);
    return _iterator_int_return_to_check;
 }
-Eina_Bool _test_testing_check_eina_iterator_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_iterator_int_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Iterator *itr = _iterator_int_return_to_check;
    if (!itr) return EINA_FALSE;
@@ -2786,7 +2788,7 @@ Eina_Bool _test_testing_check_eina_iterator_int_return(EINA_UNUSED Eo *obj, EINA
 
 // <int> return own
 
-Eina_Iterator *_test_testing_eina_iterator_int_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Iterator *_dummy_test_object_eina_iterator_int_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Array *arr = _iterator_int_eina_array_new();
    return eina_array_iterator_new(arr);
@@ -2843,7 +2845,7 @@ Eina_Bool _iterator_str_test_array(Eina_Array *arr)
 
 // <str> in
 
-Eina_Bool _test_testing_eina_iterator_str_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Iterator *itr)
+Eina_Bool _dummy_test_object_eina_iterator_str_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Iterator *itr)
 {
    Eina_Bool r = _iterator_str_equal(itr, base_seq_str, base_seq_str_size, EINA_FALSE);
    return r;
@@ -2853,13 +2855,13 @@ Eina_Bool _test_testing_eina_iterator_str_in(EINA_UNUSED Eo *obj, EINA_UNUSED Te
 
 static Eina_Iterator *_iterator_str_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_iterator_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Iterator *itr)
+Eina_Bool _dummy_test_object_eina_iterator_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Iterator *itr)
 {
    Eina_Bool r = _iterator_str_equal(itr, base_seq_str, base_seq_str_size, EINA_TRUE);
    _iterator_str_in_own_to_check = itr;
    return r;
 }
-Eina_Bool _test_testing_check_eina_iterator_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_iterator_str_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    eina_iterator_free(_iterator_str_in_own_to_check);
    _iterator_str_in_own_to_check = NULL;
@@ -2871,7 +2873,7 @@ Eina_Bool _test_testing_check_eina_iterator_str_in_own(EINA_UNUSED Eo *obj, EINA
 Eina_Iterator *_iterator_str_out_to_check = NULL;
 Eina_Array *_iterator_str_out_array = NULL;
 
-Eina_Bool _test_testing_eina_iterator_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Iterator **itr)
+Eina_Bool _dummy_test_object_eina_iterator_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Iterator **itr)
 {
    if (!itr) return EINA_FALSE;
 
@@ -2882,7 +2884,7 @@ Eina_Bool _test_testing_eina_iterator_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED T
 
    return EINA_TRUE;
 }
-Eina_Bool _test_testing_check_eina_iterator_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_iterator_str_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Iterator *itr = _iterator_str_out_to_check;
    if (!itr) return EINA_FALSE;
@@ -2902,7 +2904,7 @@ Eina_Bool _test_testing_check_eina_iterator_str_out(EINA_UNUSED Eo *obj, EINA_UN
 
 // <str> out own
 
-Eina_Bool _test_testing_eina_iterator_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Iterator **itr)
+Eina_Bool _dummy_test_object_eina_iterator_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Iterator **itr)
 {
    if (!itr) return EINA_FALSE;
 
@@ -2918,13 +2920,13 @@ Eina_Bool _test_testing_eina_iterator_str_out_own(EINA_UNUSED Eo *obj, EINA_UNUS
 Eina_Iterator *_iterator_str_return_to_check = NULL;
 Eina_Array *_iterator_str_return_array = NULL;
 
-Eina_Iterator *_test_testing_eina_iterator_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Iterator *_dummy_test_object_eina_iterator_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    _iterator_str_return_array = _iterator_str_eina_array_new();
    _iterator_str_return_to_check = eina_array_iterator_new(_iterator_str_return_array);
    return _iterator_str_return_to_check;
 }
-Eina_Bool _test_testing_check_eina_iterator_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_iterator_str_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Iterator *itr = _iterator_str_return_to_check;
    if (!itr) return EINA_FALSE;
@@ -2944,7 +2946,7 @@ Eina_Bool _test_testing_check_eina_iterator_str_return(EINA_UNUSED Eo *obj, EINA
 
 // <str> return own
 
-Eina_Iterator *_test_testing_eina_iterator_str_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Iterator *_dummy_test_object_eina_iterator_str_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Array *arr = _iterator_str_eina_array_new();
    return eina_array_iterator_new(arr);
@@ -2952,14 +2954,14 @@ Eina_Iterator *_test_testing_eina_iterator_str_return_own(EINA_UNUSED Eo *obj, E
 
 // Object //
 
-Eina_Bool _iterator_obj_equal(Eina_Iterator *itr, const Test_Numberwrapper * const base[], unsigned int len, Eina_Bool release)
+Eina_Bool _iterator_obj_equal(Eina_Iterator *itr, const Dummy_Numberwrapper * const base[], unsigned int len, Eina_Bool release)
 {
-   Test_Numberwrapper *data;
+   Dummy_Numberwrapper *data;
    unsigned i = 0;
    EINA_ITERATOR_FOREACH(itr, data)
      {
-        int a = test_numberwrapper_number_get(data);
-        int b = test_numberwrapper_number_get(base[i]);
+        int a = dummy_numberwrapper_number_get(data);
+        int b = dummy_numberwrapper_number_get(base[i]);
         if (a != b)
           return EINA_FALSE;
         if (release)
@@ -2978,7 +2980,7 @@ Eina_Array *_iterator_obj_eina_array_new()
    Eina_Array *arr = eina_array_new(32);
    for (unsigned i = 0; i < base_seq_obj_size; ++i)
      {
-        eina_array_push(arr, _new_obj(test_numberwrapper_number_get(base_seq_obj[i])));
+        eina_array_push(arr, _new_obj(dummy_numberwrapper_number_get(base_seq_obj[i])));
      }
    return arr;
 }
@@ -2990,9 +2992,9 @@ Eina_Bool _iterator_obj_test_array(Eina_Array *arr)
 
    for (unsigned i = 0; i < base_seq_obj_size; ++i)
      {
-        Test_Numberwrapper *data = eina_array_data_get(arr, i);
-        int a = test_numberwrapper_number_get(data);
-        int b = test_numberwrapper_number_get(base_seq_obj[i]);
+        Dummy_Numberwrapper *data = eina_array_data_get(arr, i);
+        int a = dummy_numberwrapper_number_get(data);
+        int b = dummy_numberwrapper_number_get(base_seq_obj[i]);
         if (a != b)
           return EINA_FALSE;
         efl_unref(data);
@@ -3005,7 +3007,7 @@ Eina_Bool _iterator_obj_test_array(Eina_Array *arr)
 
 // <obj> in
 
-Eina_Bool _test_testing_eina_iterator_obj_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Iterator *itr)
+Eina_Bool _dummy_test_object_eina_iterator_obj_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Iterator *itr)
 {
    Eina_Bool r = _iterator_obj_equal(itr, base_seq_obj, base_seq_obj_size, EINA_FALSE);
    return r;
@@ -3015,13 +3017,13 @@ Eina_Bool _test_testing_eina_iterator_obj_in(EINA_UNUSED Eo *obj, EINA_UNUSED Te
 
 static Eina_Iterator *_iterator_obj_in_own_to_check = NULL;
 
-Eina_Bool _test_testing_eina_iterator_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Iterator *itr)
+Eina_Bool _dummy_test_object_eina_iterator_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Iterator *itr)
 {
    Eina_Bool r = _iterator_obj_equal(itr, base_seq_obj, base_seq_obj_size, EINA_TRUE);
    _iterator_obj_in_own_to_check = itr;
    return r;
 }
-Eina_Bool _test_testing_check_eina_iterator_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_iterator_obj_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    eina_iterator_free(_iterator_obj_in_own_to_check);
    _iterator_obj_in_own_to_check = NULL;
@@ -3033,7 +3035,7 @@ Eina_Bool _test_testing_check_eina_iterator_obj_in_own(EINA_UNUSED Eo *obj, EINA
 Eina_Iterator *_iterator_obj_out_to_check = NULL;
 Eina_Array *_iterator_obj_out_array = NULL;
 
-Eina_Bool _test_testing_eina_iterator_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Iterator **itr)
+Eina_Bool _dummy_test_object_eina_iterator_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Iterator **itr)
 {
    if (!itr) return EINA_FALSE;
 
@@ -3044,7 +3046,7 @@ Eina_Bool _test_testing_eina_iterator_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED T
 
    return EINA_TRUE;
 }
-Eina_Bool _test_testing_check_eina_iterator_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_iterator_obj_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Iterator *itr = _iterator_obj_out_to_check;
    if (!itr) return EINA_FALSE;
@@ -3064,7 +3066,7 @@ Eina_Bool _test_testing_check_eina_iterator_obj_out(EINA_UNUSED Eo *obj, EINA_UN
 
 // <obj> out own
 
-Eina_Bool _test_testing_eina_iterator_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Iterator **itr)
+Eina_Bool _dummy_test_object_eina_iterator_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Iterator **itr)
 {
    if (!itr) return EINA_FALSE;
 
@@ -3080,13 +3082,13 @@ Eina_Bool _test_testing_eina_iterator_obj_out_own(EINA_UNUSED Eo *obj, EINA_UNUS
 Eina_Iterator *_iterator_obj_return_to_check = NULL;
 Eina_Array *_iterator_obj_return_array = NULL;
 
-Eina_Iterator *_test_testing_eina_iterator_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Iterator *_dummy_test_object_eina_iterator_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    _iterator_obj_return_array = _iterator_obj_eina_array_new();
    _iterator_obj_return_to_check = eina_array_iterator_new(_iterator_obj_return_array);
    return _iterator_obj_return_to_check;
 }
-Eina_Bool _test_testing_check_eina_iterator_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Bool _dummy_test_object_check_eina_iterator_obj_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Iterator *itr = _iterator_obj_return_to_check;
    if (!itr) return EINA_FALSE;
@@ -3106,7 +3108,7 @@ Eina_Bool _test_testing_check_eina_iterator_obj_return(EINA_UNUSED Eo *obj, EINA
 
 // <obj> return own
 
-Eina_Iterator *_test_testing_eina_iterator_obj_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Eina_Iterator *_dummy_test_object_eina_iterator_obj_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    Eina_Array *arr = _iterator_obj_eina_array_new();
    return eina_array_iterator_new(arr);
@@ -3116,7 +3118,7 @@ Eina_Iterator *_test_testing_eina_iterator_obj_return_own(EINA_UNUSED Eo *obj, E
 // Callbacks and Function Pointers //
 //                                 //
 
-void _test_testing_set_callback(EINA_UNUSED Eo *obj, Test_Testing_Data *pd, void *cb_data, Test_SimpleCb cb, Eina_Free_Cb cb_free_cb)
+void _dummy_test_object_set_callback(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd, void *cb_data, Dummy_SimpleCb cb, Eina_Free_Cb cb_free_cb)
 {
    if (!pd)
      {
@@ -3132,7 +3134,7 @@ void _test_testing_set_callback(EINA_UNUSED Eo *obj, Test_Testing_Data *pd, void
    pd->free_cb = cb_free_cb;
 }
 
-int _test_testing_call_callback(EINA_UNUSED Eo *obj, Test_Testing_Data *pd, int a)
+int _dummy_test_object_call_callback(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd, int a)
 {
    if (!pd->cb)
      {
@@ -3167,32 +3169,32 @@ int _wrapper_cb(EINA_UNUSED void *data, int a)
     return a * 3;
 }
 
-void _test_testing_call_set_callback(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+void _dummy_test_object_call_set_callback(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
-   test_testing_set_callback(obj, efl_ref(obj), _wrapper_cb, _free_callback);
+   dummy_test_object_set_callback(obj, efl_ref(obj), _wrapper_cb, _free_callback);
 }
 
-void _test_testing_raises_eina_error(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+void _dummy_test_object_raises_eina_error(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    eina_error_set(EIO);
 }
 
-void _test_testing_children_raise_error(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+void _dummy_test_object_children_raise_error(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
     // Native method shouldn't throw any error. Children must raise it.
 }
 
-void _test_testing_call_children_raise_error(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+void _dummy_test_object_call_children_raise_error(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
-    test_testing_children_raise_error(obj);
+    dummy_test_object_children_raise_error(obj);
 }
 
-void _test_testing_error_ret_set(EINA_UNUSED Eo *obj, Test_Testing_Data *pd, Eina_Error error)
+void _dummy_test_object_error_ret_set(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd, Eina_Error error)
 {
     pd->error_code = error;
 }
 
-Eina_Error _test_testing_returns_error(EINA_UNUSED Eo *obj, Test_Testing_Data *pd)
+Eina_Error _dummy_test_object_returns_error(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd)
 {
    return pd->error_code;
 }
@@ -3204,7 +3206,7 @@ Eina_Error _test_testing_returns_error(EINA_UNUSED Eo *obj, Test_Testing_Data *p
 // auxiliary functions
 
 static
-void struct_simple_with_values(Test_StructSimple *simple)
+void struct_simple_with_values(Dummy_StructSimple *simple)
 {
    simple->fbyte = -126;
    simple->fubyte = 254u;
@@ -3233,14 +3235,14 @@ void struct_simple_with_values(Test_StructSimple *simple)
    simple->fdouble = -9007199254740992.0;
    simple->fbool = EINA_TRUE;
    simple->fvoid_ptr = (void*) 0xFE;
-   simple->fenum = TEST_SAMPLEENUM_V2;
+   simple->fenum = DUMMY_SAMPLEENUM_V2;
    simple->fstring = "test/string";
    simple->fmstring = strdup("test/mstring");
    simple->fstringshare = eina_stringshare_add("test/stringshare");
 }
 
 static
-Eina_Bool check_and_modify_struct_simple(Test_StructSimple *simple)
+Eina_Bool check_and_modify_struct_simple(Dummy_StructSimple *simple)
 {
    Eina_Bool ret =
      EQUAL(simple->fbyte, -126)
@@ -3270,7 +3272,7 @@ Eina_Bool check_and_modify_struct_simple(Test_StructSimple *simple)
      && EQUAL(simple->fdouble, -9007199254740992.0)
      && EQUAL(simple->fbool, EINA_TRUE)
      && EQUAL(simple->fvoid_ptr, (void*) 0xFE)
-     && EQUAL(simple->fenum, TEST_SAMPLEENUM_V2)
+     && EQUAL(simple->fenum, DUMMY_SAMPLEENUM_V2)
      && STR_EQUAL(simple->fstring, "test/string")
      && STR_EQUAL(simple->fmstring, "test/mstring")
      && STR_EQUAL(simple->fstringshare, "test/stringshare")
@@ -3284,7 +3286,7 @@ Eina_Bool check_and_modify_struct_simple(Test_StructSimple *simple)
 }
 
 static
-void struct_complex_with_values(Test_StructComplex *complex)
+void struct_complex_with_values(Dummy_StructComplex *complex)
 {
    complex->farray = eina_array_new(4);
    eina_array_push(complex->farray, _new_int(0x0));
@@ -3328,7 +3330,7 @@ void struct_complex_with_values(Test_StructComplex *complex)
 }
 
 static
-Eina_Bool check_and_modify_struct_complex(Test_StructComplex *complex)
+Eina_Bool check_and_modify_struct_complex(Dummy_StructComplex *complex)
 {
    if (!_array_int_equal(complex->farray, base_seq_int, base_seq_int_size))
      return EINA_FALSE;
@@ -3364,7 +3366,7 @@ Eina_Bool check_and_modify_struct_complex(Test_StructComplex *complex)
    if (complex->fslice.len != 1 || *(char*)complex->fslice.mem != 125)
      return EINA_FALSE;
 
-   if (complex->fobj == NULL || test_numberwrapper_number_get(complex->fobj) != 42)
+   if (complex->fobj == NULL || dummy_numberwrapper_number_get(complex->fobj) != 42)
      return EINA_FALSE;
 
    return EINA_TRUE;
@@ -3373,7 +3375,7 @@ Eina_Bool check_and_modify_struct_complex(Test_StructComplex *complex)
 // with simple types
 
 EOLIAN
-Eina_Bool _test_testing_struct_simple_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructSimple simple)
+Eina_Bool _dummy_test_object_struct_simple_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructSimple simple)
 {
    return check_and_modify_struct_simple(&simple);
 }
@@ -3391,7 +3393,7 @@ static void _reverse_string(char *str)
 }
 
 EOLIAN
-Eina_Bool _test_testing_struct_simple_ptr_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructSimple *simple)
+Eina_Bool _dummy_test_object_struct_simple_ptr_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructSimple *simple)
 {
    simple->fint = -simple->fint;
    _reverse_string(simple->fmstring);
@@ -3399,9 +3401,9 @@ Eina_Bool _test_testing_struct_simple_ptr_in(EINA_UNUSED Eo *obj, EINA_UNUSED Te
 }
 
 EOLIAN
-Test_StructSimple _test_testing_struct_simple_ptr_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructSimple *simple)
+Dummy_StructSimple _dummy_test_object_struct_simple_ptr_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructSimple *simple)
 {
-   Test_StructSimple ret = *simple;
+   Dummy_StructSimple ret = *simple;
    free(simple);
    ret.fint = -ret.fint;
    _reverse_string(ret.fmstring);
@@ -3409,7 +3411,7 @@ Test_StructSimple _test_testing_struct_simple_ptr_in_own(EINA_UNUSED Eo *obj, EI
 }
 
 EOLIAN
-Eina_Bool _test_testing_struct_simple_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructSimple *simple)
+Eina_Bool _dummy_test_object_struct_simple_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructSimple *simple)
 {
    if (!simple)
      {
@@ -3423,7 +3425,7 @@ Eina_Bool _test_testing_struct_simple_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_
 }
 
 EOLIAN
-Test_StructSimple _test_testing_struct_simple_ptr_out(EINA_UNUSED Eo *obj, Test_Testing_Data *pd, Test_StructSimple **simple)
+Dummy_StructSimple _dummy_test_object_struct_simple_ptr_out(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd, Dummy_StructSimple **simple)
 {
    struct_simple_with_values(&pd->stored_struct);
    *simple = &pd->stored_struct;
@@ -3431,24 +3433,24 @@ Test_StructSimple _test_testing_struct_simple_ptr_out(EINA_UNUSED Eo *obj, Test_
 }
 
 EOLIAN
-Test_StructSimple _test_testing_struct_simple_ptr_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructSimple **simple)
+Dummy_StructSimple _dummy_test_object_struct_simple_ptr_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructSimple **simple)
 {
-   *simple = malloc(sizeof(Test_StructSimple));
+   *simple = malloc(sizeof(Dummy_StructSimple));
    struct_simple_with_values(*simple);
    (*simple)->fstring = "Ptr Out Own";
    return **simple;
 }
 
 EOLIAN
-Test_StructSimple _test_testing_struct_simple_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Dummy_StructSimple _dummy_test_object_struct_simple_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
-   Test_StructSimple simple = {0,};
+   Dummy_StructSimple simple = {0,};
    struct_simple_with_values(&simple);
    return simple;
 }
 
 EOLIAN
-Test_StructSimple *_test_testing_struct_simple_ptr_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Dummy_StructSimple *_dummy_test_object_struct_simple_ptr_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    struct_simple_with_values(&pd->stored_struct);
    pd->stored_struct.fstring = "Ret Ptr";
@@ -3456,78 +3458,78 @@ Test_StructSimple *_test_testing_struct_simple_ptr_return(EINA_UNUSED Eo *obj, E
 }
 
 EOLIAN
-Test_StructSimple *_test_testing_struct_simple_ptr_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Dummy_StructSimple *_dummy_test_object_struct_simple_ptr_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
-   Test_StructSimple *ret = malloc(sizeof(Test_StructSimple));
+   Dummy_StructSimple *ret = malloc(sizeof(Dummy_StructSimple));
    struct_simple_with_values(ret);
    ret->fstring = "Ret Ptr Own";
    return ret;
 }
 
 EOLIAN
-void _test_testing_call_struct_simple_in(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructSimple simple)
+void _dummy_test_object_call_struct_simple_in(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructSimple simple)
 {
-    test_testing_struct_simple_in(obj, simple);
+    dummy_test_object_struct_simple_in(obj, simple);
 }
 
 EOLIAN
-void _test_testing_call_struct_simple_ptr_in(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructSimple *simple)
+void _dummy_test_object_call_struct_simple_ptr_in(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructSimple *simple)
 {
-    test_testing_struct_simple_ptr_in(obj, simple);
+    dummy_test_object_struct_simple_ptr_in(obj, simple);
 }
 
 EOLIAN
-void _test_testing_call_struct_simple_ptr_in_own(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructSimple *simple)
+void _dummy_test_object_call_struct_simple_ptr_in_own(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructSimple *simple)
 {
-    test_testing_struct_simple_ptr_in_own(obj, simple);
+    dummy_test_object_struct_simple_ptr_in_own(obj, simple);
 }
 
 EOLIAN
-void _test_testing_call_struct_simple_out(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructSimple *simple)
+void _dummy_test_object_call_struct_simple_out(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructSimple *simple)
 {
-    test_testing_struct_simple_out(obj, simple);
+    dummy_test_object_struct_simple_out(obj, simple);
 }
 
 EOLIAN
-void _test_testing_call_struct_simple_ptr_out(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructSimple **simple)
+void _dummy_test_object_call_struct_simple_ptr_out(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructSimple **simple)
 {
-    test_testing_struct_simple_ptr_out(obj, simple);
+    dummy_test_object_struct_simple_ptr_out(obj, simple);
 }
 
 EOLIAN
-void _test_testing_call_struct_simple_ptr_out_own(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructSimple **simple)
+void _dummy_test_object_call_struct_simple_ptr_out_own(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructSimple **simple)
 {
-    test_testing_struct_simple_ptr_out_own(obj, simple);
+    dummy_test_object_struct_simple_ptr_out_own(obj, simple);
 }
 
 EOLIAN
-Test_StructSimple _test_testing_call_struct_simple_return(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Dummy_StructSimple _dummy_test_object_call_struct_simple_return(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
-    return test_testing_struct_simple_return(obj);
+    return dummy_test_object_struct_simple_return(obj);
 }
 
 EOLIAN
-Test_StructSimple *_test_testing_call_struct_simple_ptr_return(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Dummy_StructSimple *_dummy_test_object_call_struct_simple_ptr_return(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
-    return test_testing_struct_simple_ptr_return(obj);
+    return dummy_test_object_struct_simple_ptr_return(obj);
 }
 
 EOLIAN
-Test_StructSimple *_test_testing_call_struct_simple_ptr_return_own(Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Dummy_StructSimple *_dummy_test_object_call_struct_simple_ptr_return_own(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
-    return test_testing_struct_simple_ptr_return_own(obj);
+    return dummy_test_object_struct_simple_ptr_return_own(obj);
 }
 
 // with complex types
 
 EOLIAN
-Eina_Bool _test_testing_struct_complex_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructComplex complex)
+Eina_Bool _dummy_test_object_struct_complex_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructComplex complex)
 {
    return check_and_modify_struct_complex(&complex);
 }
 
 EOLIAN
-Eina_Bool _test_testing_struct_complex_ptr_in(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructComplex *complex)
+Eina_Bool _dummy_test_object_struct_complex_ptr_in(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructComplex *complex)
 {
    (void) complex;
    EINA_LOG_ERR("Not implemented!");
@@ -3535,7 +3537,7 @@ Eina_Bool _test_testing_struct_complex_ptr_in(EINA_UNUSED Eo *obj, EINA_UNUSED T
 }
 
 EOLIAN
-Eina_Bool _test_testing_struct_complex_ptr_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructComplex *complex)
+Eina_Bool _dummy_test_object_struct_complex_ptr_in_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructComplex *complex)
 {
    (void) complex;
    EINA_LOG_ERR("Not implemented!");
@@ -3543,7 +3545,7 @@ Eina_Bool _test_testing_struct_complex_ptr_in_own(EINA_UNUSED Eo *obj, EINA_UNUS
 }
 
 EOLIAN
-Eina_Bool _test_testing_struct_complex_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructComplex *complex)
+Eina_Bool _dummy_test_object_struct_complex_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructComplex *complex)
 {
    if (!complex)
      {
@@ -3557,7 +3559,7 @@ Eina_Bool _test_testing_struct_complex_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test
 }
 
 EOLIAN
-Eina_Bool _test_testing_struct_complex_ptr_out(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructComplex **complex)
+Eina_Bool _dummy_test_object_struct_complex_ptr_out(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructComplex **complex)
 {
    (void) complex;
    EINA_LOG_ERR("Not implemented!");
@@ -3565,7 +3567,7 @@ Eina_Bool _test_testing_struct_complex_ptr_out(EINA_UNUSED Eo *obj, EINA_UNUSED
 }
 
 EOLIAN
-Eina_Bool _test_testing_struct_complex_ptr_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructComplex **complex)
+Eina_Bool _dummy_test_object_struct_complex_ptr_out_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructComplex **complex)
 {
    (void) complex;
    EINA_LOG_ERR("Not implemented!");
@@ -3573,22 +3575,22 @@ Eina_Bool _test_testing_struct_complex_ptr_out_own(EINA_UNUSED Eo *obj, EINA_UNU
 }
 
 EOLIAN
-Test_StructComplex _test_testing_struct_complex_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Dummy_StructComplex _dummy_test_object_struct_complex_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
-   Test_StructComplex complex = {0,};
+   Dummy_StructComplex complex = {0,};
    struct_complex_with_values(&complex);
    return complex;
 }
 
 EOLIAN
-Test_StructComplex* _test_testing_struct_complex_ptr_return(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Dummy_StructComplex* _dummy_test_object_struct_complex_ptr_return(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    EINA_LOG_ERR("Not implemented!");
    return NULL;
 }
 
 EOLIAN
-Test_StructComplex* _test_testing_struct_complex_ptr_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd)
+Dummy_StructComplex* _dummy_test_object_struct_complex_ptr_return_own(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
    EINA_LOG_ERR("Not implemented!");
    return NULL;
@@ -3598,7 +3600,7 @@ Test_StructComplex* _test_testing_struct_complex_ptr_return_own(EINA_UNUSED Eo *
 // Class constructor
 //                   //
 EOLIAN static void
-_test_testing_class_constructor(Efl_Class *klass)
+_dummy_test_object_class_constructor(Efl_Class *klass)
 {
    (void)klass;
    modified_seq_obj[0] = base_seq_obj[0] = _new_obj(0x0);
@@ -3610,7 +3612,7 @@ _test_testing_class_constructor(Efl_Class *klass)
 }
 
 EOLIAN static void
-_test_testing_class_destructor(Efl_Class *klass)
+_dummy_test_object_class_destructor(Efl_Class *klass)
 {
    (void)klass;
    for (unsigned i = 0; i < base_seq_obj_size; ++i)
@@ -3625,17 +3627,17 @@ _test_testing_class_destructor(Efl_Class *klass)
 // ################## //
 
 
-void _test_numberwrapper_number_set(EINA_UNUSED Eo *obj, Test_Numberwrapper_Data *pd, int n)
+void _dummy_numberwrapper_number_set(EINA_UNUSED Eo *obj, Dummy_Numberwrapper_Data *pd, int n)
 {
    pd->number = n;
 }
 
-int _test_numberwrapper_number_get(EINA_UNUSED const Eo *obj, Test_Numberwrapper_Data *pd)
+int _dummy_numberwrapper_number_get(EINA_UNUSED const Eo *obj, Dummy_Numberwrapper_Data *pd)
 {
    return pd->number;
 }
 
-void _test_testing_set_value_ptr(EINA_UNUSED Eo *obj, Test_Testing_Data *pd, Eina_Value *value)
+void _dummy_test_object_set_value_ptr(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd, Eina_Value *value)
 {
     if (pd->stored_value) {
         eina_value_free(pd->stored_value);
@@ -3647,7 +3649,7 @@ void _test_testing_set_value_ptr(EINA_UNUSED Eo *obj, Test_Testing_Data *pd, Ein
     eina_value_copy(value, pd->stored_value);
 }
 
-void _test_testing_set_value_ptr_own(EINA_UNUSED Eo *obj, Test_Testing_Data *pd, Eina_Value *value)
+void _dummy_test_object_set_value_ptr_own(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd, Eina_Value *value)
 {
     if (pd->stored_value) {
         eina_value_free(pd->stored_value);
@@ -3657,7 +3659,7 @@ void _test_testing_set_value_ptr_own(EINA_UNUSED Eo *obj, Test_Testing_Data *pd,
     pd->stored_value = value;
 }
 
-void _test_testing_set_value(EINA_UNUSED Eo *obj, Test_Testing_Data *pd, Eina_Value value)
+void _dummy_test_object_set_value(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd, Eina_Value value)
 {
     if (pd->stored_value) {
         eina_value_free(pd->stored_value);
@@ -3667,24 +3669,24 @@ void _test_testing_set_value(EINA_UNUSED Eo *obj, Test_Testing_Data *pd, Eina_Va
     eina_value_copy(&value, pd->stored_value);
 }
 
-void _test_testing_call_set_value(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, const Eina_Value v)
+void _dummy_test_object_call_set_value(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, const Eina_Value v)
 {
-    test_testing_set_value(obj, v);
+    dummy_test_object_set_value(obj, v);
 }
 
-Eina_Value *_test_testing_get_value_ptr_own(EINA_UNUSED Eo *obj, Test_Testing_Data *pd)
+Eina_Value *_dummy_test_object_get_value_ptr_own(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd)
 {
     Eina_Value *val = pd->stored_value;
     pd->stored_value = NULL;
     return val;
 }
 
-Eina_Value *_test_testing_get_value_ptr(EINA_UNUSED Eo *obj, Test_Testing_Data *pd)
+Eina_Value *_dummy_test_object_get_value_ptr(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd)
 {
     return pd->stored_value;
 }
 
-void _test_testing_clear_value(EINA_UNUSED Eo *obj, Test_Testing_Data *pd)
+void _dummy_test_object_clear_value(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd)
 {
     if (pd->stored_value) {
         eina_value_free(pd->stored_value);
@@ -3692,124 +3694,124 @@ void _test_testing_clear_value(EINA_UNUSED Eo *obj, Test_Testing_Data *pd)
     }
 }
 
-void _test_testing_out_value_ptr(EINA_UNUSED Eo *obj, Test_Testing_Data *pd, Eina_Value **value)
+void _dummy_test_object_out_value_ptr(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd, Eina_Value **value)
 {
     *value = pd->stored_value;
 }
 
-void _test_testing_out_value_ptr_own(EINA_UNUSED Eo *obj, Test_Testing_Data *pd, Eina_Value **value)
+void _dummy_test_object_out_value_ptr_own(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd, Eina_Value **value)
 {
     *value = pd->stored_value;
     pd->stored_value = NULL;
 }
 
-void _test_testing_out_value(EINA_UNUSED Eo *obj, Test_Testing_Data *pd, Eina_Value *value)
+void _dummy_test_object_out_value(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd, Eina_Value *value)
 {
     *value = *pd->stored_value;
 }
 
-void _test_testing_emit_event_with_string(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, const char *data)
+void _dummy_test_object_emit_event_with_string(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, const char *data)
 {
     char *ptr = strdup(data);
-    efl_event_callback_legacy_call(obj, TEST_TESTING_EVENT_EVT_WITH_STRING, ptr);
+    efl_event_callback_legacy_call(obj, DUMMY_TEST_OBJECT_EVENT_EVT_WITH_STRING, ptr);
     free(ptr);
 }
 
-void _test_testing_emit_event_with_bool(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Bool data)
+void _dummy_test_object_emit_event_with_bool(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Bool data)
 {
-    efl_event_callback_legacy_call(obj, TEST_TESTING_EVENT_EVT_WITH_BOOL, (void *) (uintptr_t) data);
+    efl_event_callback_legacy_call(obj, DUMMY_TEST_OBJECT_EVENT_EVT_WITH_BOOL, (void *) (uintptr_t) data);
 }
 
-void _test_testing_emit_event_with_int(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, int data)
+void _dummy_test_object_emit_event_with_int(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, int data)
 {
-    efl_event_callback_legacy_call(obj, TEST_TESTING_EVENT_EVT_WITH_INT, (void *) (uintptr_t) data);
+    efl_event_callback_legacy_call(obj, DUMMY_TEST_OBJECT_EVENT_EVT_WITH_INT, (void *) (uintptr_t) data);
 }
 
-void _test_testing_emit_event_with_uint(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, unsigned int data)
+void _dummy_test_object_emit_event_with_uint(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, unsigned int data)
 {
-    efl_event_callback_legacy_call(obj, TEST_TESTING_EVENT_EVT_WITH_UINT, (void *) (uintptr_t) data);
+    efl_event_callback_legacy_call(obj, DUMMY_TEST_OBJECT_EVENT_EVT_WITH_UINT, (void *) (uintptr_t) data);
 }
 
-void _test_testing_emit_event_with_obj(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eo *data)
+void _dummy_test_object_emit_event_with_obj(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eo *data)
 {
-    efl_event_callback_legacy_call(obj, TEST_TESTING_EVENT_EVT_WITH_OBJ, data);
+    efl_event_callback_legacy_call(obj, DUMMY_TEST_OBJECT_EVENT_EVT_WITH_OBJ, data);
 }
 
-void _test_testing_emit_event_with_error(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Error data)
+void _dummy_test_object_emit_event_with_error(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Error data)
 {
-    efl_event_callback_legacy_call(obj, TEST_TESTING_EVENT_EVT_WITH_ERROR, &data);
+    efl_event_callback_legacy_call(obj, DUMMY_TEST_OBJECT_EVENT_EVT_WITH_ERROR, &data);
 }
 
-void _test_testing_emit_event_with_struct(Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_StructSimple data)
+void _dummy_test_object_emit_event_with_struct(Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_StructSimple data)
 {
-    efl_event_callback_legacy_call(obj, TEST_TESTING_EVENT_EVT_WITH_STRUCT, &data);
+    efl_event_callback_legacy_call(obj, DUMMY_TEST_OBJECT_EVENT_EVT_WITH_STRUCT, &data);
 }
 
 
-Efl_Object *_test_testing_efl_part_part_get(EINA_UNUSED const Eo *obj, Test_Testing_Data *pd, const char *name)
+Efl_Object *_dummy_test_object_efl_part_part_get(EINA_UNUSED const Eo *obj, Dummy_Test_Object_Data *pd, const char *name)
 {
-    if (!strcmp(name, "part1"))
-      return pd->part1;
-    else if (!strcmp(name, "part2"))
-      return pd->part2;
+    if (!strcmp(name, "part_one"))
+      return pd->part_one;
+    else if (!strcmp(name, "part_two"))
+      return pd->part_two;
     else
       return NULL;
 }
 
-void _test_testing_append_to_strbuf(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Strbuf *buf, const char *str)
+void _dummy_test_object_append_to_strbuf(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Strbuf *buf, const char *str)
 {
     eina_strbuf_append(buf, str);
 }
 
-void _test_testing_call_append_to_strbuf(Eo * obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Strbuf *buf, const char *str)
+void _dummy_test_object_call_append_to_strbuf(Eo * obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Strbuf *buf, const char *str)
 {
-    test_testing_append_to_strbuf(obj, buf, str);
+    dummy_test_object_append_to_strbuf(obj, buf, str);
 }
 
-void _test_testing_call_format_cb(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Eina_Strbuf *buf, const Eina_Value value,
-                               void *func_data, Test_FormatCb func, Eina_Free_Cb func_free_cb)
+void _dummy_test_object_call_format_cb(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Eina_Strbuf *buf, const Eina_Value value,
+                               void *func_data, Dummy_FormatCb func, Eina_Free_Cb func_free_cb)
 {
     func(func_data, buf, value);
     func_free_cb(func_data);
 }
 
-Test_MyInt _test_testing_bypass_typedef(EINA_UNUSED Eo *obj, EINA_UNUSED Test_Testing_Data *pd, Test_MyInt data, Test_MyInt *receiver)
+Dummy_MyInt _dummy_test_object_bypass_typedef(EINA_UNUSED Eo *obj, EINA_UNUSED Dummy_Test_Object_Data *pd, Dummy_MyInt data, Dummy_MyInt *receiver)
 {
     *receiver = data;
     return data;
 }
 
 /* Class Properties */
-static int _test_testing_klass_prop = 0;
+static int _dummy_test_object_klass_prop = 0;
 
-int _test_testing_klass_prop_get(const Eo *klass, EINA_UNUSED void *pd)
+int _dummy_test_object_klass_prop_get(const Eo *klass, EINA_UNUSED void *pd)
 {
     EINA_LOG_ERR("FAIL on GET");
-   if (klass != test_testing_class_get())
+   if (klass != dummy_test_object_class_get())
      {
         eina_error_set(EINVAL);
         return -1;
      }
-   return _test_testing_klass_prop;
+   return _dummy_test_object_klass_prop;
 }
 
-void _test_testing_klass_prop_set(Eo *klass, EINA_UNUSED void *pd, int value)
+void _dummy_test_object_klass_prop_set(Eo *klass, EINA_UNUSED void *pd, int value)
 {
     EINA_LOG_ERR("FAIL on SET");
-   if (klass != test_testing_class_get())
+   if (klass != dummy_test_object_class_get())
      {
         eina_error_set(EINVAL);
      }
-   _test_testing_klass_prop = value;
+   _dummy_test_object_klass_prop = value;
 }
 
 static void _promise_cancelled(void *data, EINA_UNUSED const Eina_Promise *p)
 {
-    Test_Testing_Data *pd = data;
+    Dummy_Test_Object_Data *pd = data;
     pd->promise = NULL;
 }
 
-Eina_Future* _test_testing_get_future(EINA_UNUSED Eo *obj, Test_Testing_Data *pd)
+Eina_Future* _dummy_test_object_get_future(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd)
 {
     if (pd->promise == NULL)
       {
@@ -3820,7 +3822,7 @@ Eina_Future* _test_testing_get_future(EINA_UNUSED Eo *obj, Test_Testing_Data *pd
     return eina_future_new(pd->promise);
 }
 
-void _test_testing_fulfill_promise(Eo *obj, Test_Testing_Data *pd, int data)
+void _dummy_test_object_fulfill_promise(Eo *obj, Dummy_Test_Object_Data *pd, int data)
 {
     if (pd->promise == NULL)
       {
@@ -3833,7 +3835,7 @@ void _test_testing_fulfill_promise(Eo *obj, Test_Testing_Data *pd, int data)
     eina_promise_resolve(pd->promise, v);
 }
 
-void _test_testing_reject_promise(Eo *obj, Test_Testing_Data *pd, Eina_Error err)
+void _dummy_test_object_reject_promise(Eo *obj, Dummy_Test_Object_Data *pd, Eina_Error err)
 {
     if (pd->promise == NULL)
       {
@@ -3844,7 +3846,7 @@ void _test_testing_reject_promise(Eo *obj, Test_Testing_Data *pd, Eina_Error err
     eina_promise_reject(pd->promise, err);
 }
 
-Eina_Accessor *_test_testing_clone_accessor(Eo *obj, Test_Testing_Data *pd, Eina_Accessor *acc)
+Eina_Accessor *_dummy_test_object_clone_accessor(Eo *obj, Dummy_Test_Object_Data *pd, Eina_Accessor *acc)
 {
    if (pd->list_for_accessor)
      eina_list_free(pd->list_for_accessor);
@@ -3859,6 +3861,25 @@ Eina_Accessor *_test_testing_clone_accessor(Eo *obj, Test_Testing_Data *pd, Eina
    return eina_list_accessor_new(pd->list_for_accessor);
 }
 
-#include "test_testing.eo.c"
-#include "test_numberwrapper.eo.c"
+void _dummy_test_object_dummy_test_iface_emit_test_conflicted(Eo *obj, Dummy_Test_Object_Data *pd)
+{
+    efl_event_callback_legacy_call(obj, DUMMY_TEST_IFACE_EVENT_CONFLICTED, NULL);
+}
+
+void _dummy_test_object_dummy_test_iface_emit_nonconflicted(Eo *obj, Dummy_Test_Object_Data *pd)
+{
+    efl_event_callback_legacy_call(obj, DUMMY_TEST_IFACE_EVENT_NONCONFLICTED, NULL);
+}
+
+void _dummy_test_object_dummy_another_iface_emit_another_conflicted(Eo *obj, Dummy_Test_Object_Data *pd)
+{
+    efl_event_callback_legacy_call(obj, DUMMY_ANOTHER_IFACE_EVENT_CONFLICTED, NULL);
+}
+
+
+
+#include "dummy_test_object.eo.c"
+#include "dummy_numberwrapper.eo.c"
+#include "dummy_test_iface.eo.c"
+#include "dummy_another_iface.eo.c"
 
index 9d0b7187cc74bb2b15ac0c0fd9c30874f0829dba..975bb868e4728fe516d96e3e42294e12083bf5ad 100644 (file)
@@ -1,4 +1,4 @@
-eo_files = ['test_child.eo', 'test_numberwrapper.eo', 'test_testing.eo']
+eo_files = ['dummy_child.eo', 'dummy_numberwrapper.eo', 'dummy_test_object.eo', 'dummy_test_iface.eo', 'dummy_another_iface.eo']
 
 eo_file_targets = []
 
diff --git a/src/tests/efl_mono/test_child.eo b/src/tests/efl_mono/test_child.eo
deleted file mode 100644 (file)
index 0d37c19..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-import eina_types;
-
-class Test.Child extends Test.Testing {
-
-   implements {
-      class.constructor;
-      class.destructor;
-   }
-}
diff --git a/src/tests/efl_mono/test_numberwrapper.eo b/src/tests/efl_mono/test_numberwrapper.eo
deleted file mode 100644 (file)
index 6f749f9..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-class Test.Numberwrapper extends Efl.Object {
-   methods {
-      @property number {
-         get {
-         }
-         set {
-         }
-         values {
-             n: int;
-         }
-      }
-   }
-}
diff --git a/src/tests/efl_mono/test_testing.eo b/src/tests/efl_mono/test_testing.eo
deleted file mode 100644 (file)
index c46963e..0000000
+++ /dev/null
@@ -1,1660 +0,0 @@
-import eina_types;
-
-type Test.MyInt: int;
-
-enum Test.SampleEnum {
-   v0,
-   v1,
-   v2,
-   v3,
-   v4,
-}
-
-struct Test.StructSimple
-{
-   fbyte: byte;
-   fubyte: ubyte;
-   fchar: char;
-   fshort: short;
-   fushort: ushort;
-   fint: int;
-   fuint: uint;
-   flong: long;
-   fulong: ulong;
-   fllong: llong;
-   fullong: ullong;
-   fint8: int8;
-   fuint8: uint8;
-   fint16: int16;
-   fuint16: uint16;
-   fint32: int32;
-   fuint32: uint32;
-   fint64: int64;
-   fuint64: uint64;
-   fssize: ssize;
-   fsize: size;
-   fintptr: intptr;
-   // fuintptr: uintptr; // TODO
-   fptrdiff: ptrdiff;
-   ffloat: float;
-   fdouble: double;
-   fbool: bool;
-   fvoid_ptr: void_ptr;
-   fenum: Test.SampleEnum;
-   // fboolptr: ptr(bool); // TODO
-   // fbyteptr: ptr(byte);
-   // fubyteptr: ptr(ubyte);
-   // fcharptr: ptr(char);
-   // fuint8ptr: ptr(uint8);
-   // fint16ptr: ptr(int16);
-   // fuint64ptr: ptr(uint64);
-   // fssizeptr: ptr(ssize);
-   // fsizeptr: ptr(size);
-   // fintptrptr: ptr(intptr);
-   // fptrdiffptr: ptr(ptrdiff);
-   // ffloatptr: ptr(float);
-   // fdoubleptr: ptr(double);
-   // fvoid_ptrptr: ptr(void_ptr);
-   // fenumptr: ptr(Test.SampleEnum);
-   fstring: string;
-   fmstring: mstring;
-   fstringshare: stringshare;
-   fmyint: Test.MyInt;
-}
-
-struct Test.StructComplex {
-   farray: array<ptr(int)>;
-   finarray: inarray<int>;
-   flist: list<string>;
-   finlist: inlist<ptr(int)>;
-   fhash: hash<string, string>;
-   fiterator: iterator<ptr(int)>;
-   fany_value: any_value;
-   fany_value_ptr: any_value_ptr;
-   fbinbuf: ptr(Eina.Binbuf);
-   fslice: Eina.Slice;
-   // fslice: ptr(Eina.Slice); // TODO
-   fobj: Test.Numberwrapper;
-}
-
-function Test.SimpleCb {
-   params {
-      a: int;
-   }
-   return: int;
-};
-
-function Test.FormatCb {
-   params {
-      @in str: strbuf;
-      @in value: const(any_value);
-   }
-};
-
-class Test.Testing extends Efl.Object implements Efl.Part {
-
-   parts {
-      part1: Test.Testing; [[ Part number one. ]]
-      part2: Test.Testing; [[ Part number two. ]]
-   }
-   methods {
-      return_object {
-         return: Test.Testing;
-      }
-
-      int_out {
-         params {
-            @in x: int;
-            @out y: int;
-         }
-      }
-
-      int_ptr_out {
-         params {
-            @in x: int;
-            @out y: ptr(int);
-         }
-      }
-
-      in_stringshare {
-         params {
-            @in v: stringshare;
-         }
-         return: stringshare @owned;
-      }
-      in_own_stringshare {
-         params {
-            @in v: stringshare @owned;
-         }
-         return: stringshare @owned;
-      }
-
-      out_stringshare {
-         params {
-            @out v: stringshare;
-         }
-      }
-      out_own_stringshare {
-         params {
-            @out v: stringshare @owned;
-         }
-      }
-
-      return_stringshare {
-         return: stringshare;
-      }
-      return_own_stringshare {
-         return: stringshare @owned;
-      }
-
-      in_string {
-         params {
-            @in str: string;
-         }
-         return: string @owned;
-      }
-
-      in_own_string {
-         params {
-            @in str: mstring @owned;
-         }
-         return: mstring @owned;
-      }
-
-      return_string {
-         return: string;
-      }
-
-      return_own_string {
-         return: string @owned;
-      }
-
-      out_string {
-         params {
-            @out str: string;
-         }
-      }
-
-      out_own_string {
-         params {
-            @out str: string @owned;
-         }
-      }
-
-      call_in_string {
-        params {
-            @in str: string;
-        }
-      }
-
-      call_in_own_string {
-        params {
-            @in str: mstring @owned;
-        }
-      }
-
-      call_return_string {
-         return: string;
-      }
-
-      call_return_own_string {
-         return: string @owned;
-      }
-
-      call_out_string {
-         return: string;
-      }
-
-      call_out_own_string {
-         return: string @owned;
-      }
-
-      // Stringshare virtual helpers
-      call_in_stringshare {
-        params {
-            @in str: stringshare;
-        }
-      }
-
-      call_in_own_stringshare {
-        params {
-            @in str: stringshare @owned;
-        }
-      }
-
-      call_return_stringshare {
-         return: stringshare;
-      }
-
-      call_return_own_stringshare {
-         return: stringshare @owned;
-      }
-
-      call_out_stringshare {
-         return: stringshare;
-      }
-
-      call_out_own_stringshare {
-         return: stringshare @owned;
-      }
-
-      eina_slice_in {
-         params {
-            @in slice: Eina.Slice;
-         }
-         return: bool;
-      }
-
-      eina_rw_slice_in {
-         params {
-            @in slice: Eina.Rw_Slice;
-         }
-         return: bool;
-      }
-
-      eina_slice_out {
-         params {
-            @out slice: Eina.Slice;
-         }
-         return: bool;
-      }
-
-      eina_rw_slice_out {
-         params {
-            @out slice: Eina.Rw_Slice;
-         }
-         return: bool;
-      }
-
-      /*
-      eina_slice_return {
-         return: Eina.Slice;
-      }
-
-      eina_rw_slice_return {
-         return: Eina.Rw_Slice;
-      }
-      */
-
-      eina_binbuf_in {
-         params {
-            @in binbuf: ptr(Eina.Binbuf);
-         }
-         return: bool;
-      }
-
-      call_eina_binbuf_in {
-         params {
-            @in binbuf: ptr(Eina.Binbuf);
-         }
-         return: bool;
-      }
-
-      eina_binbuf_in_own {
-         params {
-            @in binbuf: ptr(Eina.Binbuf) @owned;
-         }
-         return: bool;
-      }
-
-      call_eina_binbuf_in_own {
-        params {
-            @in str: ptr(Eina.Binbuf) @owned;
-        }
-        return: bool;
-      }
-
-      check_binbuf_in_own {
-         return: bool;
-      }
-
-      eina_binbuf_out {
-         params {
-            @out binbuf: ptr(Eina.Binbuf);
-         }
-         return: bool;
-      }
-
-      call_eina_binbuf_out {
-         return: ptr(Eina.Binbuf);
-      }
-
-      check_binbuf_out {
-         return: bool;
-      }
-
-      eina_binbuf_out_own {
-         params {
-            @out binbuf: ptr(Eina.Binbuf) @owned;
-         }
-         return: bool;
-      }
-
-      call_eina_binbuf_out_own {
-         return: ptr(Eina.Binbuf) @owned;
-      }
-
-      eina_binbuf_return {
-         return: ptr(Eina.Binbuf);
-      }
-
-      call_eina_binbuf_return {
-         return: ptr(Eina.Binbuf);
-      }
-
-      check_binbuf_return {
-         return: bool;
-      }
-
-      eina_binbuf_return_own {
-         return: ptr(Eina.Binbuf) @owned;
-      }
-
-      call_eina_binbuf_return_own {
-         return: ptr(Eina.Binbuf) @owned;
-      }
-
-      /* Eina Array */
-
-      /* Integer */
-      eina_array_int_in {
-         params {
-            @in arr: array<ptr(int)>;
-         }
-         return: bool;
-      }
-
-      eina_array_int_in_own {
-         params {
-            @in arr: array<ptr(int) @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_array_int_in_own {
-         return: bool;
-      }
-
-      eina_array_int_out {
-         params {
-            @out arr: array<ptr(int)>;
-         }
-         return: bool;
-      }
-      check_eina_array_int_out {
-         return: bool;
-      }
-
-      eina_array_int_out_own {
-         params {
-            @out arr: array<ptr(int) @owned> @owned;
-         }
-         return: bool;
-      }
-
-      eina_array_int_return {
-         return: array<ptr(int)>;
-      }
-      check_eina_array_int_return {
-         return: bool;
-      }
-
-      eina_array_int_return_own {
-         return: array<ptr(int) @owned> @owned;
-      }
-
-      /* String */
-      eina_array_str_in {
-         params {
-            @in arr: array<string>;
-         }
-         return: bool;
-      }
-
-      eina_array_str_in_own {
-         params {
-            @in arr: array<string @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_array_str_in_own {
-         return: bool;
-      }
-
-      eina_array_str_out {
-         params {
-            @out arr: array<string>;
-         }
-         return: bool;
-      }
-      check_eina_array_str_out {
-         return: bool;
-      }
-
-      eina_array_str_out_own {
-         params {
-            @out arr: array<string @owned> @owned;
-         }
-         return: bool;
-      }
-
-      eina_array_str_return {
-         return: array<string>;
-      }
-      check_eina_array_str_return {
-         return: bool;
-      }
-
-      eina_array_str_return_own {
-         return: array<string @owned> @owned;
-      }
-
-      /* Object */
-      eina_array_obj_in {
-         params {
-            @in arr: array<Test.Numberwrapper>;
-         }
-         return: bool;
-      }
-
-      eina_array_obj_in_own {
-         params {
-            @in arr: array<Test.Numberwrapper @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_array_obj_in_own {
-         return: bool;
-      }
-
-      eina_array_obj_out {
-         params {
-            @out arr: array<Test.Numberwrapper>;
-         }
-         return: bool;
-      }
-      check_eina_array_obj_out {
-         return: bool;
-      }
-
-      eina_array_obj_out_own {
-         params {
-            @out arr: array<Test.Numberwrapper @owned> @owned;
-         }
-         return: bool;
-      }
-
-      eina_array_obj_return {
-         return: array<Test.Numberwrapper>;
-      }
-      check_eina_array_obj_return {
-         return: bool;
-      }
-
-      eina_array_obj_return_own {
-         return: array<Test.Numberwrapper @owned> @owned;
-      }
-
-      eina_array_obj_return_in {
-         params {
-            @in arr: array<Test.Numberwrapper>;
-         }
-         return: array<Test.Numberwrapper>;
-     }
-
-      /* Eina Inarray */
-
-      /* Integer */
-      eina_inarray_int_in {
-         params {
-            @in arr: inarray<ptr(int)>;
-         }
-         return: bool;
-      }
-
-      eina_inarray_int_in_own {
-         params {
-            @in arr: inarray<ptr(int) @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_inarray_int_in_own {
-         return: bool;
-      }
-
-      eina_inarray_int_out {
-         params {
-            @out arr: inarray<ptr(int)>;
-         }
-         return: bool;
-      }
-      check_eina_inarray_int_out {
-         return: bool;
-      }
-
-      eina_inarray_int_out_own {
-         params {
-            @out arr: inarray<ptr(int) @owned> @owned;
-         }
-         return: bool;
-      }
-
-      eina_inarray_int_return {
-         return: inarray<int>;
-      }
-      check_eina_inarray_int_return {
-         return: bool;
-      }
-
-      eina_inarray_int_return_own {
-         return: inarray<ptr(int) @owned> @owned;
-      }
-
-      /* String */
-      eina_inarray_str_in {
-         params {
-            @in arr: inarray<string>;
-         }
-         return: bool;
-      }
-
-      eina_inarray_str_in_own {
-         params {
-            @in arr: inarray<string @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_inarray_str_in_own {
-         return: bool;
-      }
-
-      eina_inarray_str_out {
-         params {
-            @out arr: inarray<string>;
-         }
-         return: bool;
-      }
-      check_eina_inarray_str_out {
-         return: bool;
-      }
-
-      eina_inarray_str_out_own {
-         params {
-            @out arr: inarray<string @owned> @owned;
-         }
-         return: bool;
-      }
-
-      eina_inarray_str_return {
-         return: inarray<string>;
-      }
-      check_eina_inarray_str_return {
-         return: bool;
-      }
-
-      eina_inarray_str_return_own {
-         return: inarray<string @owned> @owned;
-      }
-
-      /* Object */
-      eina_inarray_obj_in {
-         params {
-            @in arr: inarray<Test.Numberwrapper>;
-         }
-         return: bool;
-      }
-
-      eina_inarray_obj_in_own {
-         params {
-            @in arr: inarray<Test.Numberwrapper @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_inarray_obj_in_own {
-         return: bool;
-      }
-
-      eina_inarray_obj_out {
-         params {
-            @out arr: inarray<Test.Numberwrapper>;
-         }
-         return: bool;
-      }
-      check_eina_inarray_obj_out {
-         return: bool;
-      }
-
-      eina_inarray_obj_out_own {
-         params {
-            @out arr: inarray<Test.Numberwrapper @owned> @owned;
-         }
-         return: bool;
-      }
-
-      eina_inarray_obj_return {
-         return: inarray<Test.Numberwrapper>;
-      }
-      check_eina_inarray_obj_return {
-         return: bool;
-      }
-
-      eina_inarray_obj_return_own {
-         return: inarray<Test.Numberwrapper @owned> @owned;
-      }
-
-      eina_inarray_obj_return_in {
-         params {
-            @in arr: inarray<Test.Numberwrapper>;
-         }
-         return: inarray<Test.Numberwrapper>;
-     }
-
-      /* Eina List */
-
-      /* Integer */
-      eina_list_int_in {
-         params {
-            @in lst: list<ptr(int)>;
-         }
-         return: bool;
-      }
-
-      eina_list_int_in_own {
-         params {
-            @in lst: list<ptr(int) @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_list_int_in_own {
-         return: bool;
-      }
-
-      eina_list_int_out {
-         params {
-            @out lst: list<ptr(int)>;
-         }
-         return: bool;
-      }
-      check_eina_list_int_out {
-         return: bool;
-      }
-
-      eina_list_int_out_own {
-         params {
-            @out lst: list<ptr(int) @owned> @owned;
-         }
-         return: bool;
-      }
-
-      eina_list_int_return {
-         return: list<ptr(int)>;
-      }
-      check_eina_list_int_return {
-         return: bool;
-      }
-
-      eina_list_int_return_own {
-         return: list<ptr(int) @owned> @owned;
-      }
-
-      /* String */
-      eina_list_str_in {
-         params {
-            @in lst: list<string>;
-         }
-         return: bool;
-      }
-
-      eina_list_str_in_own {
-         params {
-            @in lst: list<string @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_list_str_in_own {
-         return: bool;
-      }
-
-      eina_list_str_out {
-         params {
-            @out lst: list<string>;
-         }
-         return: bool;
-      }
-      check_eina_list_str_out {
-         return: bool;
-      }
-
-      eina_list_str_out_own {
-         params {
-            @out lst: list<string @owned> @owned;
-         }
-         return: bool;
-      }
-
-      eina_list_str_return {
-         return: list<string>;
-      }
-      check_eina_list_str_return {
-         return: bool;
-      }
-
-      eina_list_str_return_own {
-         return: list<string @owned> @owned;
-      }
-
-      /* Object */
-      eina_list_obj_in {
-         params {
-            @in lst: list<Test.Numberwrapper>;
-         }
-         return: bool;
-      }
-
-      eina_list_obj_in_own {
-         params {
-            @in lst: list<Test.Numberwrapper @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_list_obj_in_own {
-         return: bool;
-      }
-
-      eina_list_obj_out {
-         params {
-            @out lst: list<Test.Numberwrapper>;
-         }
-         return: bool;
-      }
-      check_eina_list_obj_out {
-         return: bool;
-      }
-
-      eina_list_obj_out_own {
-         params {
-            @out lst: list<Test.Numberwrapper @owned> @owned;
-         }
-         return: bool;
-      }
-
-      eina_list_obj_return {
-         return: list<Test.Numberwrapper>;
-      }
-      check_eina_list_obj_return {
-         return: bool;
-      }
-
-      eina_list_obj_return_own {
-         return: list<Test.Numberwrapper @owned> @owned;
-      }
-
-      eina_list_obj_return_in {
-         params {
-            @in lst: list<Test.Numberwrapper>;
-         }
-         return: list<Test.Numberwrapper>;
-      }
-
-      /* Eina Inlist */
-
-      /* Integer */
-      eina_inlist_int_in {
-         params {
-            @in lst: inlist<int>;
-         }
-         return: bool;
-      }
-
-      eina_inlist_int_in_own {
-         params {
-            @in lst: inlist<ptr(int) @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_inlist_int_in_own {
-         return: bool;
-      }
-
-      eina_inlist_int_out {
-         params {
-            @out lst: inlist<int>;
-         }
-         return: bool;
-      }
-      check_eina_inlist_int_out {
-         return: bool;
-      }
-
-      eina_inlist_int_out_own {
-         params {
-            @out lst: inlist<ptr(int) @owned> @owned;
-         }
-         return: bool;
-      }
-
-      eina_inlist_int_return {
-         return: inlist<int>;
-      }
-      check_eina_inlist_int_return {
-         return: bool;
-      }
-
-      eina_inlist_int_return_own {
-         return: inlist<ptr(int) @owned> @owned;
-      }
-
-      /* String */
-      eina_inlist_str_in {
-         params {
-            @in lst: inlist<string>;
-         }
-         return: bool;
-      }
-
-      eina_inlist_str_in_own {
-         params {
-            @in lst: inlist<string @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_inlist_str_in_own {
-         return: bool;
-      }
-
-      eina_inlist_str_out {
-         params {
-            @out lst: inlist<string>;
-         }
-         return: bool;
-      }
-      check_eina_inlist_str_out {
-         return: bool;
-      }
-
-      eina_inlist_str_out_own {
-         params {
-            @out lst: inlist<string @owned> @owned;
-         }
-         return: bool;
-      }
-
-      eina_inlist_str_return {
-         return: inlist<string>;
-      }
-      check_eina_inlist_str_return {
-         return: bool;
-      }
-
-      eina_inlist_str_return_own {
-         return: inlist<string @owned> @owned;
-      }
-
-      /* Object */
-      eina_inlist_obj_in {
-         params {
-            @in lst: inlist<Test.Numberwrapper>;
-         }
-         return: bool;
-      }
-
-      eina_inlist_obj_in_own {
-         params {
-            @in lst: inlist<Test.Numberwrapper @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_inlist_obj_in_own {
-         return: bool;
-      }
-
-      eina_inlist_obj_out {
-         params {
-            @out lst: inlist<Test.Numberwrapper>;
-         }
-         return: bool;
-      }
-      check_eina_inlist_obj_out {
-         return: bool;
-      }
-
-      eina_inlist_obj_out_own {
-         params {
-            @out lst: inlist<Test.Numberwrapper @owned> @owned;
-         }
-         return: bool;
-      }
-
-      eina_inlist_obj_return {
-         return: inlist<Test.Numberwrapper>;
-      }
-      check_eina_inlist_obj_return {
-         return: bool;
-      }
-
-      eina_inlist_obj_return_own {
-         return: inlist<Test.Numberwrapper @owned> @owned;
-      }
-
-      eina_inlist_obj_return_in {
-         params {
-            @in lst: inlist<Test.Numberwrapper>;
-         }
-         return: inlist<Test.Numberwrapper>;
-      }
-
-
-      // Eina Hash //
-
-      // Integer //
-      eina_hash_int_in {
-         params {
-            @in hsh: hash<ptr(int), ptr(int)>;
-         }
-         return: bool;
-      }
-
-      eina_hash_int_in_own {
-         params {
-            @in hsh: hash<ptr(int), ptr(int) @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_hash_int_in_own {
-         return: bool;
-      }
-
-      eina_hash_int_out {
-         params {
-            @out hsh: hash<ptr(int), ptr(int)>;
-         }
-         return: bool;
-      }
-      check_eina_hash_int_out {
-         return: bool;
-      }
-
-      eina_hash_int_out_own {
-         params {
-            @out hsh: hash<ptr(int), ptr(int) @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_hash_int_out_own {
-         return: bool;
-      }
-
-      eina_hash_int_return {
-         return: hash<ptr(int), ptr(int)>;
-      }
-      check_eina_hash_int_return {
-         return: bool;
-      }
-
-      eina_hash_int_return_own {
-         return: hash<ptr(int), ptr(int) @owned> @owned;
-      }
-      check_eina_hash_int_return_own {
-         return: bool;
-      }
-
-      // String //
-      eina_hash_str_in {
-         params {
-            @in hsh: hash<string, string>;
-         }
-         return: bool;
-      }
-
-      eina_hash_str_in_own {
-         params {
-            @in hsh: hash<string, string @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_hash_str_in_own {
-         return: bool;
-      }
-
-      eina_hash_str_out {
-         params {
-            @out hsh: hash<string, string>;
-         }
-         return: bool;
-      }
-      check_eina_hash_str_out {
-         return: bool;
-      }
-
-      eina_hash_str_out_own {
-         params {
-            @out hsh: hash<string, string @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_hash_str_out_own {
-         return: bool;
-      }
-
-      eina_hash_str_return {
-         return: hash<string, string>;
-      }
-      check_eina_hash_str_return {
-         return: bool;
-      }
-
-      eina_hash_str_return_own {
-         return: hash<string, string @owned> @owned;
-      }
-      check_eina_hash_str_return_own {
-         return: bool;
-      }
-
-      // Object //
-      eina_hash_obj_in {
-         params {
-            @in hsh: hash<Test.Numberwrapper, Test.Numberwrapper>;
-            @in nwk1: Test.Numberwrapper;
-            @in nwv1: Test.Numberwrapper;
-            @out nwk2: Test.Numberwrapper;
-            @out nwv2: Test.Numberwrapper;
-         }
-         return: bool;
-      }
-
-      eina_hash_obj_in_own {
-         params {
-            @in hsh: hash<Test.Numberwrapper, Test.Numberwrapper @owned> @owned;
-            @in nwk1: Test.Numberwrapper;
-            @in nwv1: Test.Numberwrapper;
-            @out nwk2: Test.Numberwrapper;
-            @out nwv2: Test.Numberwrapper;
-         }
-         return: bool;
-      }
-      check_eina_hash_obj_in_own {
-         params {
-            @in nwk1: Test.Numberwrapper;
-            @in nwv1: Test.Numberwrapper;
-            @in nwk2: Test.Numberwrapper;
-            @in nwv2: Test.Numberwrapper;
-         }
-         return: bool;
-      }
-
-      eina_hash_obj_out {
-         params {
-            @out hsh: hash<Test.Numberwrapper, Test.Numberwrapper>;
-            @out nwk: Test.Numberwrapper;
-            @out nwv: Test.Numberwrapper;
-         }
-         return: bool;
-      }
-      check_eina_hash_obj_out {
-         params {
-            @in nwk1: Test.Numberwrapper;
-            @in nwv1: Test.Numberwrapper;
-            @in nwk2: Test.Numberwrapper;
-            @in nwv2: Test.Numberwrapper;
-         }
-         return: bool;
-      }
-
-      eina_hash_obj_out_own {
-         params {
-            @out hsh: hash<Test.Numberwrapper, Test.Numberwrapper @owned> @owned;
-            @out nwk: Test.Numberwrapper;
-            @out nwv: Test.Numberwrapper;
-         }
-         return: bool;
-      }
-      check_eina_hash_obj_out_own {
-         return: bool;
-      }
-
-      eina_hash_obj_return {
-         params {
-            @out nwk: Test.Numberwrapper;
-            @out nwv: Test.Numberwrapper;
-         }
-         return: hash<Test.Numberwrapper, Test.Numberwrapper>;
-      }
-      check_eina_hash_obj_return {
-         params {
-            @in nwk1: Test.Numberwrapper;
-            @in nwv1: Test.Numberwrapper;
-            @in nwk2: Test.Numberwrapper;
-            @in nwv2: Test.Numberwrapper;
-         }
-         return: bool;
-      }
-
-      eina_hash_obj_return_own {
-         params {
-            @out nwk: Test.Numberwrapper;
-            @out nwv: Test.Numberwrapper;
-         }
-         return: hash<Test.Numberwrapper, Test.Numberwrapper @owned> @owned;
-      }
-      check_eina_hash_obj_return_own {
-         return: bool;
-      }
-
-      /* Eina Iterator */
-
-      /* Integer */
-      eina_iterator_int_in {
-         params {
-            @in itr: iterator<ptr(int)>;
-         }
-         return: bool;
-      }
-
-      eina_iterator_int_in_own {
-         params {
-            @in itr: iterator<ptr(int) @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_iterator_int_in_own {
-         return: bool;
-      }
-
-      eina_iterator_int_out {
-         params {
-            @out itr: iterator<ptr(int)>;
-         }
-         return: bool;
-      }
-      check_eina_iterator_int_out {
-         return: bool;
-      }
-
-      eina_iterator_int_out_own {
-         params {
-            @out itr: iterator<ptr(int) @owned> @owned;
-         }
-         return: bool;
-      }
-
-      eina_iterator_int_return {
-         return: iterator<ptr(int)>;
-      }
-      check_eina_iterator_int_return {
-         return: bool;
-      }
-
-      eina_iterator_int_return_own {
-         return: iterator<ptr(int) @owned> @owned;
-      }
-
-      /* String */
-      eina_iterator_str_in {
-         params {
-            @in itr: iterator<string>;
-         }
-         return: bool;
-      }
-
-      eina_iterator_str_in_own {
-         params {
-            @in itr: iterator<string @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_iterator_str_in_own {
-         return: bool;
-      }
-
-      eina_iterator_str_out {
-         params {
-            @out itr: iterator<string>;
-         }
-         return: bool;
-      }
-      check_eina_iterator_str_out {
-         return: bool;
-      }
-
-      eina_iterator_str_out_own {
-         params {
-            @out itr: iterator<string @owned> @owned;
-         }
-         return: bool;
-      }
-
-      eina_iterator_str_return {
-         return: iterator<string>;
-      }
-      check_eina_iterator_str_return {
-         return: bool;
-      }
-
-      eina_iterator_str_return_own {
-         return: iterator<string @owned> @owned;
-      }
-
-      /* Object */
-      eina_iterator_obj_in {
-         params {
-            @in itr: iterator<Test.Numberwrapper>;
-         }
-         return: bool;
-      }
-
-      eina_iterator_obj_in_own {
-         params {
-            @in itr: iterator<Test.Numberwrapper @owned> @owned;
-         }
-         return: bool;
-      }
-      check_eina_iterator_obj_in_own {
-         return: bool;
-      }
-
-      eina_iterator_obj_out {
-         params {
-            @out itr: iterator<Test.Numberwrapper>;
-         }
-         return: bool;
-      }
-      check_eina_iterator_obj_out {
-         return: bool;
-      }
-
-      eina_iterator_obj_out_own {
-         params {
-            @out itr: iterator<Test.Numberwrapper @owned> @owned;
-         }
-         return: bool;
-      }
-
-      eina_iterator_obj_return {
-         return: iterator<Test.Numberwrapper>;
-      }
-      check_eina_iterator_obj_return {
-         return: bool;
-      }
-
-      eina_iterator_obj_return_own {
-         return: iterator<Test.Numberwrapper @owned> @owned;
-      }
-
-     /* Function Pointer */
-
-     set_callback {
-         params {
-            cb: Test.SimpleCb;
-         }
-      }
-
-      call_callback {
-         params {
-            a: int;
-         }
-         return: int;
-      }
-
-      call_set_callback {
-      }
-
-      raises_eina_error {
-
-      }
-
-      children_raise_error {
-
-      }
-      call_children_raise_error {
-
-      }
-
-      error_ret_set {
-         params {
-            error: Eina.Error;
-         }
-      }
-
-      returns_error {
-         return: Eina.Error;
-      }
-
-      /* Eina Values */
-      set_value_ptr {
-         params {
-            value: any_value_ptr;
-         }
-      }
-
-      set_value_ptr_own {
-         params {
-            value: any_value_ptr @owned;
-         }
-      }
-
-      set_value {
-         params {
-            value: any_value;
-         }
-      }
-
-      call_set_value {
-         params {
-            value: const(any_value);
-         }
-      }
-
-      get_value_ptr_own {
-         return: any_value_ptr @owned;
-      }
-
-      get_value_ptr {
-         return: any_value_ptr;
-      }
-
-      /* Commented out due to issues regarding eolian treatment of any_value.
-       * Somehow eolian is giving 0 as the default value when declaring the function below,
-       * leading to compiler errors.
-       */
-      /* get_value {
-         return: any_value;
-      }
-      */
-
-      clear_value {
-      }
-
-      out_value_ptr {
-         params {
-            @out value: any_value_ptr;
-         }
-      }
-
-      out_value_ptr_own {
-         params {
-            @out value: any_value_ptr @owned;
-         }
-      }
-
-      out_value {
-         params {
-            @out value: any_value;
-         }
-      }
-
-      /* Structs */
-
-      struct_simple_in {
-         params {
-            @in simple: Test.StructSimple;
-         }
-         return: bool;
-      }
-
-      struct_simple_ptr_in {
-         params {
-            @in simple: ptr(Test.StructSimple);
-         }
-         return: bool;
-      }
-
-      struct_simple_ptr_in_own {
-         params {
-            @in simple: ptr(Test.StructSimple) @owned;
-         }
-         return: Test.StructSimple;
-      }
-
-      struct_simple_out {
-         params {
-            @out simple: Test.StructSimple;
-         }
-         return: bool;
-      }
-
-      struct_simple_ptr_out {
-         params {
-            @out simple: ptr(Test.StructSimple);
-         }
-         return: Test.StructSimple;
-      }
-
-      struct_simple_ptr_out_own {
-         params {
-            @out simple: ptr(Test.StructSimple) @owned;
-         }
-         return: Test.StructSimple;
-      }
-
-      struct_simple_return {
-         return: Test.StructSimple;
-      }
-
-      struct_simple_ptr_return {
-         return: ptr(Test.StructSimple);
-      }
-
-      struct_simple_ptr_return_own {
-         return: ptr(Test.StructSimple) @owned;
-      }
-
-      call_struct_simple_in {
-         params {
-            @in simple: Test.StructSimple;
-         }
-      }
-
-      call_struct_simple_ptr_in {
-         params {
-            @in simple: ptr(Test.StructSimple);
-         }
-      }
-
-      call_struct_simple_ptr_in_own {
-         params {
-            @in simple: ptr(Test.StructSimple) @owned;
-         }
-      }
-
-      call_struct_simple_out {
-         params {
-            @out simple: Test.StructSimple;
-         }
-      }
-
-      call_struct_simple_ptr_out {
-         params {
-            @out simple: ptr(Test.StructSimple);
-         }
-      }
-
-      call_struct_simple_ptr_out_own {
-         params {
-            @out simple: ptr(Test.StructSimple) @owned;
-         }
-      }
-
-      call_struct_simple_return {
-         return: Test.StructSimple;
-      }
-
-      call_struct_simple_ptr_return {
-         return: ptr(Test.StructSimple);
-      }
-
-      call_struct_simple_ptr_return_own {
-         return: ptr(Test.StructSimple) @owned;
-      }
-
-      struct_complex_in {
-         params {
-            @in complex: Test.StructComplex;
-         }
-         return: bool;
-      }
-
-      struct_complex_ptr_in {
-         params {
-            @in complex: ptr(Test.StructComplex);
-         }
-         return: bool;
-      }
-
-      struct_complex_ptr_in_own {
-         params {
-            @in complex: ptr(Test.StructComplex) @owned;
-         }
-         return: bool;
-      }
-
-      struct_complex_out {
-         params {
-            @out complex: Test.StructComplex;
-         }
-         return: bool;
-      }
-
-      // struct_complex_ptr_out {
-      //    params {
-      //       @out complex: ptr(Test.StructComplex);
-      //    }
-      //    return: bool;
-      // }
-      //
-      // struct_complex_ptr_out_own {
-      //    params {
-      //       @out complex: ptr(Test.StructComplex) @owned;
-      //    }
-      //    return: bool;
-      // }
-
-      struct_complex_return {
-         return: Test.StructComplex;
-      }
-
-      // struct_complex_ptr_return {
-      //    return: ptr(Test.StructComplex);
-      // }
-      //
-      // struct_complex_ptr_return_own {
-      //    return: ptr(Test.StructComplex) @owned;
-      // }
-
-      emit_event_with_string {
-         params {
-            @in data: string;
-         }
-      }
-      emit_event_with_bool {
-         params {
-            @in data: bool;
-         }
-      }
-      emit_event_with_int {
-         params {
-            @in data: int;
-         }
-      }
-      emit_event_with_uint {
-         params {
-            @in data: uint;
-         }
-      }
-      emit_event_with_obj {
-         params {
-            @in data: Test.Testing;
-         }
-      }
-
-      emit_event_with_error {
-         params {
-            @in data: Eina.Error;
-         }
-      }
-
-      emit_event_with_struct {
-         params {
-            @in data: Test.StructSimple;
-         }
-      }
-
-      append_to_strbuf {
-         params {
-            @in buf: strbuf;
-            @in str: string;
-         }
-      }
-
-      call_append_to_strbuf {
-         params {
-            @in buf: strbuf;
-            @in str: string;
-         }
-      }
-
-      call_format_cb {
-         params {
-            @in str: strbuf;
-            @in value: const(any_value);
-            @in func: Test.FormatCb;
-         }
-      }
-
-      bypass_typedef {
-         params {
-            @in data: Test.MyInt;
-            @out receiver: Test.MyInt;
-         }
-
-         return: Test.MyInt;
-      }
-
-      @property klass_prop @class {
-         get {}
-         set {}
-         values {
-            prop: int;
-         }
-      }
-
-      /* Futures */
-
-      get_future {
-         return: future<any_value_ptr>;
-      }
-
-      fulfill_promise {
-         params {
-            @in data: int;
-         }
-      }
-
-      reject_promise {
-         params {
-            @in error: Eina.Error;
-         }
-      }
-
-      /* Accessors */
-      clone_accessor {
-         params {
-            @in acc: accessor<ptr(int)>;
-         }
-         return: accessor<ptr(int)> @owned;
-      }
-   }
-   implements {
-      class.constructor;
-      class.destructor;
-      Efl.Object.constructor;
-      Efl.Part.part_get;
-   }
-   events {
-      evt,with,string @hot: string;
-      evt,with,bool: bool;
-      evt,with,int @hot: int;
-      evt,with,uint @hot: uint;
-      evt,with,obj @hot: Test.Testing;
-      evt,with,error @hot: Eina.Error;
-      evt,with,struct @hot: Test.StructSimple;
-   }
-}