[Security] Fix PrivacyPrivilegeManager.RequestPermissions crash issue (#1651)
[platform/core/csapi/tizenfx.git] / internals / src / EflSharp / EflSharp / efl / efl_gfx_image_load_controller.eo.cs
old mode 100644 (file)
new mode 100755 (executable)
index e4e64a5..d373846
@@ -1,12 +1,19 @@
+#define EFL_BETA
 #pragma warning disable CS1591
 using System;
 using System.Runtime.InteropServices;
 using System.Collections.Generic;
 using System.Linq;
+using System.Threading;
 using System.ComponentModel;
-namespace Efl { namespace Gfx { 
+namespace Efl {
+
+namespace Gfx {
+
 /// <summary>Common APIs for all loadable 2D images.</summary>
-[IImageLoadControllerNativeInherit]
+/// <remarks>This is a <b>BETA</b> class. It can be modified or removed in the future. Do not use it for product development.</remarks>
+[Efl.Gfx.IImageLoadControllerConcrete.NativeMethods]
+[Efl.Eo.BindingEntity]
 public interface IImageLoadController : 
     Efl.Eo.IWrapper, IDisposable
 {
@@ -16,8 +23,7 @@ Eina.Size2D GetLoadSize();
     /// <summary>Requests the canvas to load the image at the given size.
 /// EFL will try to load an image of the requested size but does not guarantee an exact match between the request and the loaded image dimensions.</summary>
 /// <param name="size">The image load size.</param>
-/// <returns></returns>
-void SetLoadSize( Eina.Size2D size);
+void SetLoadSize(Eina.Size2D size);
     /// <summary>Get the DPI resolution of a loaded image object in the canvas.
 /// This function returns the DPI resolution of the given canvas image.</summary>
 /// <returns>The DPI resolution.</returns>
@@ -25,8 +31,7 @@ double GetLoadDpi();
     /// <summary>Set the DPI resolution of an image object&apos;s source image.
 /// This function sets the DPI resolution of a given loaded canvas image. Most useful for the SVG image loader.</summary>
 /// <param name="dpi">The DPI resolution.</param>
-/// <returns></returns>
-void SetLoadDpi( double dpi);
+void SetLoadDpi(double dpi);
     /// <summary>Indicates whether the <see cref="Efl.Gfx.IImageLoadController.LoadRegion"/> property is supported for the current file.</summary>
 /// <returns><c>true</c> if region load of the image is supported, <c>false</c> otherwise</returns>
 bool GetLoadRegionSupport();
@@ -38,8 +43,7 @@ Eina.Rect GetLoadRegion();
 /// 
 /// Note: The image loader for the image format in question has to support selective region loading in order for this function to work.</summary>
 /// <param name="region">A region of the image.</param>
-/// <returns></returns>
-void SetLoadRegion( Eina.Rect region);
+void SetLoadRegion(Eina.Rect region);
     /// <summary>Defines whether the orientation information in the image file should be honored.
 /// The orientation can for instance be set in the EXIF tags of a JPEG image. If this flag is <c>false</c>, then the orientation will be ignored at load time, otherwise the image will be loaded with the proper orientation.</summary>
 /// <returns><c>true</c> means that it should honor the orientation information.</returns>
@@ -47,8 +51,7 @@ bool GetLoadOrientation();
     /// <summary>Defines whether the orientation information in the image file should be honored.
 /// The orientation can for instance be set in the EXIF tags of a JPEG image. If this flag is <c>false</c>, then the orientation will be ignored at load time, otherwise the image will be loaded with the proper orientation.</summary>
 /// <param name="enable"><c>true</c> means that it should honor the orientation information.</param>
-/// <returns></returns>
-void SetLoadOrientation( bool enable);
+void SetLoadOrientation(bool enable);
     /// <summary>The scale down factor is a divider on the original image size.
 /// Setting the scale down factor can reduce load time and memory usage at the cost of having a scaled down image in memory.
 /// 
@@ -59,344 +62,279 @@ void SetLoadOrientation( bool enable);
 int GetLoadScaleDown();
     /// <summary>Requests the image loader to scale down by <c>div</c> times. Call this before starting the actual image load.</summary>
 /// <param name="div">The scale down dividing factor.</param>
-/// <returns></returns>
-void SetLoadScaleDown( int div);
+void SetLoadScaleDown(int div);
     /// <summary>Initial load should skip header check and leave it all to data load
 /// If this is true, then future loads of images will defer header loading to a preload stage and/or data load later on rather than at the start when the load begins (e.g. when file is set).</summary>
 /// <returns>Will be true if header is to be skipped.</returns>
 bool GetLoadSkipHeader();
     /// <summary>Set the skip header state for susbsequent loads of a file.</summary>
 /// <param name="skip">Will be true if header is to be skipped.</param>
-/// <returns></returns>
-void SetLoadSkipHeader( bool skip);
+void SetLoadSkipHeader(bool skip);
     /// <summary>Begin preloading an image object&apos;s image data in the background.
 /// Once the background task is complete the event <c>load</c>,done will be emitted.</summary>
-/// <returns></returns>
 void LoadAsyncStart();
     /// <summary>Cancel preloading an image object&apos;s image data in the background.
 /// The object should be left in a state where it has no image data. If cancel is called too late, the image will be kept in memory.</summary>
-/// <returns></returns>
 void LoadAsyncCancel();
                                                                 /// <summary>Called when he image was loaded</summary>
     event EventHandler LoadDoneEvt;
     /// <summary>Called when an error happened during image loading</summary>
+    /// <value><see cref="Efl.Gfx.IImageLoadControllerLoadErrorEvt_Args"/></value>
     event EventHandler<Efl.Gfx.IImageLoadControllerLoadErrorEvt_Args> LoadErrorEvt;
     /// <summary>The load size of an image.
-/// The image will be loaded into memory as if it was the specified size instead of its original size. This can save a lot of memory and is important for scalable types like svg.
-/// 
-/// By default, the load size is not specified, so it is 0x0.</summary>
-/// <value>The image load size.</value>
+    /// The image will be loaded into memory as if it was the specified size instead of its original size. This can save a lot of memory and is important for scalable types like svg.
+    /// 
+    /// By default, the load size is not specified, so it is 0x0.</summary>
+    /// <value>The image load size.</value>
     Eina.Size2D LoadSize {
-        get ;
-        set ;
+        get;
+        set;
     }
     /// <summary>Get the DPI resolution of a loaded image object in the canvas.
-/// This function returns the DPI resolution of the given canvas image.</summary>
-/// <value>The DPI resolution.</value>
+    /// This function returns the DPI resolution of the given canvas image.</summary>
+    /// <value>The DPI resolution.</value>
     double LoadDpi {
-        get ;
-        set ;
+        get;
+        set;
     }
     /// <summary>Indicates whether the <see cref="Efl.Gfx.IImageLoadController.LoadRegion"/> property is supported for the current file.</summary>
-/// <value><c>true</c> if region load of the image is supported, <c>false</c> otherwise</value>
+    /// <value><c>true</c> if region load of the image is supported, <c>false</c> otherwise</value>
     bool LoadRegionSupport {
-        get ;
+        get;
     }
     /// <summary>Retrieve the coordinates of a given image object&apos;s selective (source image) load region.</summary>
-/// <value>A region of the image.</value>
+    /// <value>A region of the image.</value>
     Eina.Rect LoadRegion {
-        get ;
-        set ;
+        get;
+        set;
     }
     /// <summary>Defines whether the orientation information in the image file should be honored.
-/// The orientation can for instance be set in the EXIF tags of a JPEG image. If this flag is <c>false</c>, then the orientation will be ignored at load time, otherwise the image will be loaded with the proper orientation.</summary>
-/// <value><c>true</c> means that it should honor the orientation information.</value>
+    /// The orientation can for instance be set in the EXIF tags of a JPEG image. If this flag is <c>false</c>, then the orientation will be ignored at load time, otherwise the image will be loaded with the proper orientation.</summary>
+    /// <value><c>true</c> means that it should honor the orientation information.</value>
     bool LoadOrientation {
-        get ;
-        set ;
+        get;
+        set;
     }
     /// <summary>The scale down factor is a divider on the original image size.
-/// Setting the scale down factor can reduce load time and memory usage at the cost of having a scaled down image in memory.
-/// 
-/// This function sets the scale down factor of a given canvas image. Most useful for the SVG image loader but also applies to JPEG, PNG and BMP.
-/// 
-/// Powers of two (2, 4, 8) are best supported (especially with JPEG)</summary>
-/// <value>The scale down dividing factor.</value>
+    /// Setting the scale down factor can reduce load time and memory usage at the cost of having a scaled down image in memory.
+    /// 
+    /// This function sets the scale down factor of a given canvas image. Most useful for the SVG image loader but also applies to JPEG, PNG and BMP.
+    /// 
+    /// Powers of two (2, 4, 8) are best supported (especially with JPEG)</summary>
+    /// <value>The scale down dividing factor.</value>
     int LoadScaleDown {
-        get ;
-        set ;
+        get;
+        set;
     }
     /// <summary>Initial load should skip header check and leave it all to data load
-/// If this is true, then future loads of images will defer header loading to a preload stage and/or data load later on rather than at the start when the load begins (e.g. when file is set).</summary>
-/// <value>Will be true if header is to be skipped.</value>
+    /// If this is true, then future loads of images will defer header loading to a preload stage and/or data load later on rather than at the start when the load begins (e.g. when file is set).</summary>
+    /// <value>Will be true if header is to be skipped.</value>
     bool LoadSkipHeader {
-        get ;
-        set ;
+        get;
+        set;
     }
 }
-///<summary>Event argument wrapper for event <see cref="Efl.Gfx.IImageLoadController.LoadErrorEvt"/>.</summary>
+/// <summary>Event argument wrapper for event <see cref="Efl.Gfx.IImageLoadController.LoadErrorEvt"/>.</summary>
+[Efl.Eo.BindingEntity]
 public class IImageLoadControllerLoadErrorEvt_Args : EventArgs {
-    ///<summary>Actual event payload.</summary>
+    /// <summary>Actual event payload.</summary>
+    /// <value>Called when an error happened during image loading</value>
     public Eina.Error arg { get; set; }
 }
 /// <summary>Common APIs for all loadable 2D images.</summary>
-sealed public class IImageLoadControllerConcrete : 
-
-IImageLoadController
+/// <remarks>This is a <b>BETA</b> class. It can be modified or removed in the future. Do not use it for product development.</remarks>
+sealed public  class IImageLoadControllerConcrete :
+    Efl.Eo.EoWrapper
+    , IImageLoadController
     
 {
-    ///<summary>Pointer to the native class description.</summary>
-    public System.IntPtr NativeClass {
-        get {
-            if (((object)this).GetType() == typeof (IImageLoadControllerConcrete))
-                return Efl.Gfx.IImageLoadControllerNativeInherit.GetEflClassStatic();
+    /// <summary>Pointer to the native class description.</summary>
+    public override System.IntPtr NativeClass
+    {
+        get
+        {
+            if (((object)this).GetType() == typeof(IImageLoadControllerConcrete))
+            {
+                return GetEflClassStatic();
+            }
             else
+            {
                 return Efl.Eo.ClassRegister.klassFromType[((object)this).GetType()];
+            }
         }
     }
-    private EventHandlerList eventHandlers = new EventHandlerList();
-    private  System.IntPtr handle;
-    ///<summary>Pointer to the native instance.</summary>
-    public System.IntPtr NativeHandle {
-        get { return handle; }
-    }
-    [System.Runtime.InteropServices.DllImport(efl.Libs.Efl)] internal static extern System.IntPtr
-        efl_gfx_image_load_controller_interface_get();
-    ///<summary>Internal usage: Constructs an instance from a native pointer. This is used when interacting with C code and should not be used directly.</summary>
-    private IImageLoadControllerConcrete(System.IntPtr raw)
-    {
-        handle = raw;
-        RegisterEventProxies();
-    }
-    ///<summary>Destructor.</summary>
-    ~IImageLoadControllerConcrete()
-    {
-        Dispose(false);
-    }
-    ///<summary>Releases the underlying native instance.</summary>
-    void Dispose(bool disposing)
-    {
-        if (handle != System.IntPtr.Zero) {
-            Efl.Eo.Globals.efl_unref(handle);
-            handle = System.IntPtr.Zero;
-        }
-    }
-    ///<summary>Releases the underlying native instance.</summary>
-    public void Dispose()
-    {
-        Dispose(true);
-        GC.SuppressFinalize(this);
-    }
-    ///<summary>Verifies if the given object is equal to this one.</summary>
-    public override bool Equals(object obj)
-    {
-        var other = obj as Efl.Object;
-        if (other == null)
-            return false;
-        return this.NativeHandle == other.NativeHandle;
-    }
-    ///<summary>Gets the hash code for this object based on the native pointer it points to.</summary>
-    public override int GetHashCode()
+
+    /// <summary>Subclasses should override this constructor if they are expected to be instantiated from native code.
+    /// Do not call this constructor directly.</summary>
+    /// <param name="ch">Tag struct storing the native handle of the object being constructed.</param>
+    private IImageLoadControllerConcrete(ConstructingHandle ch) : base(ch)
     {
-        return this.NativeHandle.ToInt32();
     }
-    ///<summary>Turns the native pointer into a string representation.</summary>
-    public override String ToString()
+
+    [System.Runtime.InteropServices.DllImport("libefl.so.1")] internal static extern System.IntPtr
+        efl_gfx_image_load_controller_interface_get();
+    /// <summary>Initializes a new instance of the <see cref="IImageLoadController"/> class.
+    /// Internal usage: This is used when interacting with C code and should not be used directly.</summary>
+    /// <param name="wh">The native pointer to be wrapped.</param>
+    private IImageLoadControllerConcrete(Efl.Eo.Globals.WrappingHandle wh) : base(wh)
     {
-        return $"{this.GetType().Name}@[{this.NativeHandle.ToInt32():x}]";
-    }
-    private readonly object eventLock = new object();
-    private Dictionary<string, int> event_cb_count = new Dictionary<string, int>();
-    ///<summary>Adds a new event handler, registering it to the native event. For internal use only.</summary>
-    ///<param name="lib">The name of the native library definining the event.</param>
-    ///<param name="key">The name of the native event.</param>
-    ///<param name="evt_delegate">The delegate to be called on event raising.</param>
-    ///<returns>True if the delegate was successfully registered.</returns>
-    private bool AddNativeEventHandler(string lib, string key, Efl.EventCb evt_delegate) {
-        int event_count = 0;
-        if (!event_cb_count.TryGetValue(key, out event_count))
-            event_cb_count[key] = event_count;
-        if (event_count == 0) {
-            IntPtr desc = Efl.EventDescription.GetNative(lib, key);
-            if (desc == IntPtr.Zero) {
-                Eina.Log.Error($"Failed to get native event {key}");
-                return false;
-            }
-             bool result = Efl.Eo.Globals.efl_event_callback_priority_add(handle, desc, 0, evt_delegate, System.IntPtr.Zero);
-            if (!result) {
-                Eina.Log.Error($"Failed to add event proxy for event {key}");
-                return false;
-            }
-            Eina.Error.RaiseIfUnhandledException();
-        } 
-        event_cb_count[key]++;
-        return true;
-    }
-    ///<summary>Removes the given event handler for the given event. For internal use only.</summary>
-    ///<param name="key">The name of the native event.</param>
-    ///<param name="evt_delegate">The delegate to be removed.</param>
-    ///<returns>True if the delegate was successfully registered.</returns>
-    private bool RemoveNativeEventHandler(string key, Efl.EventCb evt_delegate) {
-        int event_count = 0;
-        if (!event_cb_count.TryGetValue(key, out event_count))
-            event_cb_count[key] = event_count;
-        if (event_count == 1) {
-            IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Efl, key);
-            if (desc == IntPtr.Zero) {
-                Eina.Log.Error($"Failed to get native event {key}");
-                return false;
-            }
-            bool result = Efl.Eo.Globals.efl_event_callback_del(handle, desc, evt_delegate, System.IntPtr.Zero);
-            if (!result) {
-                Eina.Log.Error($"Failed to remove event proxy for event {key}");
-                return false;
-            }
-            Eina.Error.RaiseIfUnhandledException();
-        } else if (event_count == 0) {
-            Eina.Log.Error($"Trying to remove proxy for event {key} when there is nothing registered.");
-            return false;
-        } 
-        event_cb_count[key]--;
-        return true;
     }
-private static object LoadDoneEvtKey = new object();
+
     /// <summary>Called when he image was loaded</summary>
     public event EventHandler LoadDoneEvt
     {
-        add {
-            lock (eventLock) {
+        add
+        {
+            lock (eflBindingEventLock)
+            {
+                Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
+                {
+                    var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
+                    if (obj != null)
+                    {
+                        EventArgs args = EventArgs.Empty;
+                        try
+                        {
+                            value?.Invoke(obj, args);
+                        }
+                        catch (Exception e)
+                        {
+                            Eina.Log.Error(e.ToString());
+                            Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+                        }
+                    }
+                };
+
                 string key = "_EFL_GFX_IMAGE_LOAD_CONTROLLER_EVENT_LOAD_DONE";
-                if (AddNativeEventHandler(efl.Libs.Efl, key, this.evt_LoadDoneEvt_delegate)) {
-                    eventHandlers.AddHandler(LoadDoneEvtKey , value);
-                } else
-                    Eina.Log.Error($"Error adding proxy for event {key}");
+                AddNativeEventHandler(efl.Libs.Efl, key, callerCb, value);
             }
         }
-        remove {
-            lock (eventLock) {
+
+        remove
+        {
+            lock (eflBindingEventLock)
+            {
                 string key = "_EFL_GFX_IMAGE_LOAD_CONTROLLER_EVENT_LOAD_DONE";
-                if (RemoveNativeEventHandler(key, this.evt_LoadDoneEvt_delegate)) { 
-                    eventHandlers.RemoveHandler(LoadDoneEvtKey , value);
-                } else
-                    Eina.Log.Error($"Error removing proxy for event {key}");
+                RemoveNativeEventHandler(efl.Libs.Efl, key, value);
             }
         }
     }
-    ///<summary>Method to raise event LoadDoneEvt.</summary>
-    public void On_LoadDoneEvt(EventArgs e)
+    /// <summary>Method to raise event LoadDoneEvt.</summary>
+    public void OnLoadDoneEvt(EventArgs e)
     {
-        EventHandler evt;
-        lock (eventLock) {
-        evt = (EventHandler)eventHandlers[LoadDoneEvtKey];
+        var key = "_EFL_GFX_IMAGE_LOAD_CONTROLLER_EVENT_LOAD_DONE";
+        IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Efl, key);
+        if (desc == IntPtr.Zero)
+        {
+            Eina.Log.Error($"Failed to get native event {key}");
+            return;
         }
-        evt?.Invoke(this, e);
-    }
-    Efl.EventCb evt_LoadDoneEvt_delegate;
-    private void on_LoadDoneEvt_NativeCallback(System.IntPtr data, ref Efl.Event.NativeStruct evt)
-    {
-        EventArgs args = EventArgs.Empty;
-        try {
-            On_LoadDoneEvt(args);
-        } catch (Exception e) {
-            Eina.Log.Error(e.ToString());
-            Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
-        }
-    }
 
-private static object LoadErrorEvtKey = new object();
+        Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, IntPtr.Zero);
+    }
     /// <summary>Called when an error happened during image loading</summary>
+    /// <value><see cref="Efl.Gfx.IImageLoadControllerLoadErrorEvt_Args"/></value>
     public event EventHandler<Efl.Gfx.IImageLoadControllerLoadErrorEvt_Args> LoadErrorEvt
     {
-        add {
-            lock (eventLock) {
+        add
+        {
+            lock (eflBindingEventLock)
+            {
+                Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
+                {
+                    var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
+                    if (obj != null)
+                    {
+                        Efl.Gfx.IImageLoadControllerLoadErrorEvt_Args args = new Efl.Gfx.IImageLoadControllerLoadErrorEvt_Args();
+                        args.arg = (Eina.Error)Marshal.PtrToStructure(evt.Info, typeof(Eina.Error));
+                        try
+                        {
+                            value?.Invoke(obj, args);
+                        }
+                        catch (Exception e)
+                        {
+                            Eina.Log.Error(e.ToString());
+                            Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+                        }
+                    }
+                };
+
                 string key = "_EFL_GFX_IMAGE_LOAD_CONTROLLER_EVENT_LOAD_ERROR";
-                if (AddNativeEventHandler(efl.Libs.Efl, key, this.evt_LoadErrorEvt_delegate)) {
-                    eventHandlers.AddHandler(LoadErrorEvtKey , value);
-                } else
-                    Eina.Log.Error($"Error adding proxy for event {key}");
+                AddNativeEventHandler(efl.Libs.Efl, key, callerCb, value);
             }
         }
-        remove {
-            lock (eventLock) {
+
+        remove
+        {
+            lock (eflBindingEventLock)
+            {
                 string key = "_EFL_GFX_IMAGE_LOAD_CONTROLLER_EVENT_LOAD_ERROR";
-                if (RemoveNativeEventHandler(key, this.evt_LoadErrorEvt_delegate)) { 
-                    eventHandlers.RemoveHandler(LoadErrorEvtKey , value);
-                } else
-                    Eina.Log.Error($"Error removing proxy for event {key}");
+                RemoveNativeEventHandler(efl.Libs.Efl, key, value);
             }
         }
     }
-    ///<summary>Method to raise event LoadErrorEvt.</summary>
-    public void On_LoadErrorEvt(Efl.Gfx.IImageLoadControllerLoadErrorEvt_Args e)
+    /// <summary>Method to raise event LoadErrorEvt.</summary>
+    public void OnLoadErrorEvt(Efl.Gfx.IImageLoadControllerLoadErrorEvt_Args e)
     {
-        EventHandler<Efl.Gfx.IImageLoadControllerLoadErrorEvt_Args> evt;
-        lock (eventLock) {
-        evt = (EventHandler<Efl.Gfx.IImageLoadControllerLoadErrorEvt_Args>)eventHandlers[LoadErrorEvtKey];
+        var key = "_EFL_GFX_IMAGE_LOAD_CONTROLLER_EVENT_LOAD_ERROR";
+        IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Efl, key);
+        if (desc == IntPtr.Zero)
+        {
+            Eina.Log.Error($"Failed to get native event {key}");
+            return;
         }
-        evt?.Invoke(this, e);
-    }
-    Efl.EventCb evt_LoadErrorEvt_delegate;
-    private void on_LoadErrorEvt_NativeCallback(System.IntPtr data, ref Efl.Event.NativeStruct evt)
-    {
-        Efl.Gfx.IImageLoadControllerLoadErrorEvt_Args args = new Efl.Gfx.IImageLoadControllerLoadErrorEvt_Args();
-      args.arg = (Eina.Error)Marshal.PtrToStructure(evt.Info, typeof(Eina.Error));
-        try {
-            On_LoadErrorEvt(args);
-        } catch (Exception e) {
-            Eina.Log.Error(e.ToString());
-            Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
-        }
-    }
 
-    ///<summary>Register the Eo event wrappers making the bridge to C# events. Internal usage only.</summary>
-     void RegisterEventProxies()
-    {
-        evt_LoadDoneEvt_delegate = new Efl.EventCb(on_LoadDoneEvt_NativeCallback);
-        evt_LoadErrorEvt_delegate = new Efl.EventCb(on_LoadErrorEvt_NativeCallback);
+        IntPtr info = Eina.PrimitiveConversion.ManagedToPointerAlloc((int)e.arg);
+        try
+        {
+            Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
+        }
+        finally
+        {
+            Marshal.FreeHGlobal(info);
+        }
     }
     /// <summary>Returns the requested load size.</summary>
     /// <returns>The image load size.</returns>
     public Eina.Size2D GetLoadSize() {
-         var _ret_var = Efl.Gfx.IImageLoadControllerNativeInherit.efl_gfx_image_load_controller_load_size_get_ptr.Value.Delegate(this.NativeHandle);
+         var _ret_var = Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_size_get_ptr.Value.Delegate(this.NativeHandle);
         Eina.Error.RaiseIfUnhandledException();
         return _ret_var;
  }
     /// <summary>Requests the canvas to load the image at the given size.
     /// EFL will try to load an image of the requested size but does not guarantee an exact match between the request and the loaded image dimensions.</summary>
     /// <param name="size">The image load size.</param>
-    /// <returns></returns>
-    public void SetLoadSize( Eina.Size2D size) {
+    public void SetLoadSize(Eina.Size2D size) {
          Eina.Size2D.NativeStruct _in_size = size;
-                        Efl.Gfx.IImageLoadControllerNativeInherit.efl_gfx_image_load_controller_load_size_set_ptr.Value.Delegate(this.NativeHandle, _in_size);
+                        Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_size_set_ptr.Value.Delegate(this.NativeHandle,_in_size);
         Eina.Error.RaiseIfUnhandledException();
                          }
     /// <summary>Get the DPI resolution of a loaded image object in the canvas.
     /// This function returns the DPI resolution of the given canvas image.</summary>
     /// <returns>The DPI resolution.</returns>
     public double GetLoadDpi() {
-         var _ret_var = Efl.Gfx.IImageLoadControllerNativeInherit.efl_gfx_image_load_controller_load_dpi_get_ptr.Value.Delegate(this.NativeHandle);
+         var _ret_var = Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_dpi_get_ptr.Value.Delegate(this.NativeHandle);
         Eina.Error.RaiseIfUnhandledException();
         return _ret_var;
  }
     /// <summary>Set the DPI resolution of an image object&apos;s source image.
     /// This function sets the DPI resolution of a given loaded canvas image. Most useful for the SVG image loader.</summary>
     /// <param name="dpi">The DPI resolution.</param>
-    /// <returns></returns>
-    public void SetLoadDpi( double dpi) {
-                                 Efl.Gfx.IImageLoadControllerNativeInherit.efl_gfx_image_load_controller_load_dpi_set_ptr.Value.Delegate(this.NativeHandle, dpi);
+    public void SetLoadDpi(double dpi) {
+                                 Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_dpi_set_ptr.Value.Delegate(this.NativeHandle,dpi);
         Eina.Error.RaiseIfUnhandledException();
                          }
     /// <summary>Indicates whether the <see cref="Efl.Gfx.IImageLoadController.LoadRegion"/> property is supported for the current file.</summary>
     /// <returns><c>true</c> if region load of the image is supported, <c>false</c> otherwise</returns>
     public bool GetLoadRegionSupport() {
-         var _ret_var = Efl.Gfx.IImageLoadControllerNativeInherit.efl_gfx_image_load_controller_load_region_support_get_ptr.Value.Delegate(this.NativeHandle);
+         var _ret_var = Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_region_support_get_ptr.Value.Delegate(this.NativeHandle);
         Eina.Error.RaiseIfUnhandledException();
         return _ret_var;
  }
     /// <summary>Retrieve the coordinates of a given image object&apos;s selective (source image) load region.</summary>
     /// <returns>A region of the image.</returns>
     public Eina.Rect GetLoadRegion() {
-         var _ret_var = Efl.Gfx.IImageLoadControllerNativeInherit.efl_gfx_image_load_controller_load_region_get_ptr.Value.Delegate(this.NativeHandle);
+         var _ret_var = Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_region_get_ptr.Value.Delegate(this.NativeHandle);
         Eina.Error.RaiseIfUnhandledException();
         return _ret_var;
  }
@@ -405,26 +343,24 @@ private static object LoadErrorEvtKey = new object();
     /// 
     /// Note: The image loader for the image format in question has to support selective region loading in order for this function to work.</summary>
     /// <param name="region">A region of the image.</param>
-    /// <returns></returns>
-    public void SetLoadRegion( Eina.Rect region) {
+    public void SetLoadRegion(Eina.Rect region) {
          Eina.Rect.NativeStruct _in_region = region;
-                        Efl.Gfx.IImageLoadControllerNativeInherit.efl_gfx_image_load_controller_load_region_set_ptr.Value.Delegate(this.NativeHandle, _in_region);
+                        Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_region_set_ptr.Value.Delegate(this.NativeHandle,_in_region);
         Eina.Error.RaiseIfUnhandledException();
                          }
     /// <summary>Defines whether the orientation information in the image file should be honored.
     /// The orientation can for instance be set in the EXIF tags of a JPEG image. If this flag is <c>false</c>, then the orientation will be ignored at load time, otherwise the image will be loaded with the proper orientation.</summary>
     /// <returns><c>true</c> means that it should honor the orientation information.</returns>
     public bool GetLoadOrientation() {
-         var _ret_var = Efl.Gfx.IImageLoadControllerNativeInherit.efl_gfx_image_load_controller_load_orientation_get_ptr.Value.Delegate(this.NativeHandle);
+         var _ret_var = Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_orientation_get_ptr.Value.Delegate(this.NativeHandle);
         Eina.Error.RaiseIfUnhandledException();
         return _ret_var;
  }
     /// <summary>Defines whether the orientation information in the image file should be honored.
     /// The orientation can for instance be set in the EXIF tags of a JPEG image. If this flag is <c>false</c>, then the orientation will be ignored at load time, otherwise the image will be loaded with the proper orientation.</summary>
     /// <param name="enable"><c>true</c> means that it should honor the orientation information.</param>
-    /// <returns></returns>
-    public void SetLoadOrientation( bool enable) {
-                                 Efl.Gfx.IImageLoadControllerNativeInherit.efl_gfx_image_load_controller_load_orientation_set_ptr.Value.Delegate(this.NativeHandle, enable);
+    public void SetLoadOrientation(bool enable) {
+                                 Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_orientation_set_ptr.Value.Delegate(this.NativeHandle,enable);
         Eina.Error.RaiseIfUnhandledException();
                          }
     /// <summary>The scale down factor is a divider on the original image size.
@@ -435,547 +371,841 @@ private static object LoadErrorEvtKey = new object();
     /// Powers of two (2, 4, 8) are best supported (especially with JPEG)</summary>
     /// <returns>The scale down dividing factor.</returns>
     public int GetLoadScaleDown() {
-         var _ret_var = Efl.Gfx.IImageLoadControllerNativeInherit.efl_gfx_image_load_controller_load_scale_down_get_ptr.Value.Delegate(this.NativeHandle);
+         var _ret_var = Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_scale_down_get_ptr.Value.Delegate(this.NativeHandle);
         Eina.Error.RaiseIfUnhandledException();
         return _ret_var;
  }
     /// <summary>Requests the image loader to scale down by <c>div</c> times. Call this before starting the actual image load.</summary>
     /// <param name="div">The scale down dividing factor.</param>
-    /// <returns></returns>
-    public void SetLoadScaleDown( int div) {
-                                 Efl.Gfx.IImageLoadControllerNativeInherit.efl_gfx_image_load_controller_load_scale_down_set_ptr.Value.Delegate(this.NativeHandle, div);
+    public void SetLoadScaleDown(int div) {
+                                 Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_scale_down_set_ptr.Value.Delegate(this.NativeHandle,div);
         Eina.Error.RaiseIfUnhandledException();
                          }
     /// <summary>Initial load should skip header check and leave it all to data load
     /// If this is true, then future loads of images will defer header loading to a preload stage and/or data load later on rather than at the start when the load begins (e.g. when file is set).</summary>
     /// <returns>Will be true if header is to be skipped.</returns>
     public bool GetLoadSkipHeader() {
-         var _ret_var = Efl.Gfx.IImageLoadControllerNativeInherit.efl_gfx_image_load_controller_load_skip_header_get_ptr.Value.Delegate(this.NativeHandle);
+         var _ret_var = Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_skip_header_get_ptr.Value.Delegate(this.NativeHandle);
         Eina.Error.RaiseIfUnhandledException();
         return _ret_var;
  }
     /// <summary>Set the skip header state for susbsequent loads of a file.</summary>
     /// <param name="skip">Will be true if header is to be skipped.</param>
-    /// <returns></returns>
-    public void SetLoadSkipHeader( bool skip) {
-                                 Efl.Gfx.IImageLoadControllerNativeInherit.efl_gfx_image_load_controller_load_skip_header_set_ptr.Value.Delegate(this.NativeHandle, skip);
+    public void SetLoadSkipHeader(bool skip) {
+                                 Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_skip_header_set_ptr.Value.Delegate(this.NativeHandle,skip);
         Eina.Error.RaiseIfUnhandledException();
                          }
     /// <summary>Begin preloading an image object&apos;s image data in the background.
     /// Once the background task is complete the event <c>load</c>,done will be emitted.</summary>
-    /// <returns></returns>
     public void LoadAsyncStart() {
-         Efl.Gfx.IImageLoadControllerNativeInherit.efl_gfx_image_load_controller_load_async_start_ptr.Value.Delegate(this.NativeHandle);
+         Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_async_start_ptr.Value.Delegate(this.NativeHandle);
         Eina.Error.RaiseIfUnhandledException();
          }
     /// <summary>Cancel preloading an image object&apos;s image data in the background.
     /// The object should be left in a state where it has no image data. If cancel is called too late, the image will be kept in memory.</summary>
-    /// <returns></returns>
     public void LoadAsyncCancel() {
-         Efl.Gfx.IImageLoadControllerNativeInherit.efl_gfx_image_load_controller_load_async_cancel_ptr.Value.Delegate(this.NativeHandle);
+         Efl.Gfx.IImageLoadControllerConcrete.NativeMethods.efl_gfx_image_load_controller_load_async_cancel_ptr.Value.Delegate(this.NativeHandle);
         Eina.Error.RaiseIfUnhandledException();
          }
     /// <summary>The load size of an image.
-/// The image will be loaded into memory as if it was the specified size instead of its original size. This can save a lot of memory and is important for scalable types like svg.
-/// 
-/// By default, the load size is not specified, so it is 0x0.</summary>
-/// <value>The image load size.</value>
+    /// The image will be loaded into memory as if it was the specified size instead of its original size. This can save a lot of memory and is important for scalable types like svg.
+    /// 
+    /// By default, the load size is not specified, so it is 0x0.</summary>
+    /// <value>The image load size.</value>
     public Eina.Size2D LoadSize {
         get { return GetLoadSize(); }
-        set { SetLoadSize( value); }
+        set { SetLoadSize(value); }
     }
     /// <summary>Get the DPI resolution of a loaded image object in the canvas.
-/// This function returns the DPI resolution of the given canvas image.</summary>
-/// <value>The DPI resolution.</value>
+    /// This function returns the DPI resolution of the given canvas image.</summary>
+    /// <value>The DPI resolution.</value>
     public double LoadDpi {
         get { return GetLoadDpi(); }
-        set { SetLoadDpi( value); }
+        set { SetLoadDpi(value); }
     }
     /// <summary>Indicates whether the <see cref="Efl.Gfx.IImageLoadController.LoadRegion"/> property is supported for the current file.</summary>
-/// <value><c>true</c> if region load of the image is supported, <c>false</c> otherwise</value>
+    /// <value><c>true</c> if region load of the image is supported, <c>false</c> otherwise</value>
     public bool LoadRegionSupport {
         get { return GetLoadRegionSupport(); }
     }
     /// <summary>Retrieve the coordinates of a given image object&apos;s selective (source image) load region.</summary>
-/// <value>A region of the image.</value>
+    /// <value>A region of the image.</value>
     public Eina.Rect LoadRegion {
         get { return GetLoadRegion(); }
-        set { SetLoadRegion( value); }
+        set { SetLoadRegion(value); }
     }
     /// <summary>Defines whether the orientation information in the image file should be honored.
-/// The orientation can for instance be set in the EXIF tags of a JPEG image. If this flag is <c>false</c>, then the orientation will be ignored at load time, otherwise the image will be loaded with the proper orientation.</summary>
-/// <value><c>true</c> means that it should honor the orientation information.</value>
+    /// The orientation can for instance be set in the EXIF tags of a JPEG image. If this flag is <c>false</c>, then the orientation will be ignored at load time, otherwise the image will be loaded with the proper orientation.</summary>
+    /// <value><c>true</c> means that it should honor the orientation information.</value>
     public bool LoadOrientation {
         get { return GetLoadOrientation(); }
-        set { SetLoadOrientation( value); }
+        set { SetLoadOrientation(value); }
     }
     /// <summary>The scale down factor is a divider on the original image size.
-/// Setting the scale down factor can reduce load time and memory usage at the cost of having a scaled down image in memory.
-/// 
-/// This function sets the scale down factor of a given canvas image. Most useful for the SVG image loader but also applies to JPEG, PNG and BMP.
-/// 
-/// Powers of two (2, 4, 8) are best supported (especially with JPEG)</summary>
-/// <value>The scale down dividing factor.</value>
+    /// Setting the scale down factor can reduce load time and memory usage at the cost of having a scaled down image in memory.
+    /// 
+    /// This function sets the scale down factor of a given canvas image. Most useful for the SVG image loader but also applies to JPEG, PNG and BMP.
+    /// 
+    /// Powers of two (2, 4, 8) are best supported (especially with JPEG)</summary>
+    /// <value>The scale down dividing factor.</value>
     public int LoadScaleDown {
         get { return GetLoadScaleDown(); }
-        set { SetLoadScaleDown( value); }
+        set { SetLoadScaleDown(value); }
     }
     /// <summary>Initial load should skip header check and leave it all to data load
-/// If this is true, then future loads of images will defer header loading to a preload stage and/or data load later on rather than at the start when the load begins (e.g. when file is set).</summary>
-/// <value>Will be true if header is to be skipped.</value>
+    /// If this is true, then future loads of images will defer header loading to a preload stage and/or data load later on rather than at the start when the load begins (e.g. when file is set).</summary>
+    /// <value>Will be true if header is to be skipped.</value>
     public bool LoadSkipHeader {
         get { return GetLoadSkipHeader(); }
-        set { SetLoadSkipHeader( value); }
+        set { SetLoadSkipHeader(value); }
     }
     private static IntPtr GetEflClassStatic()
     {
         return Efl.Gfx.IImageLoadControllerConcrete.efl_gfx_image_load_controller_interface_get();
     }
-}
-public class IImageLoadControllerNativeInherit  : Efl.Eo.NativeClass{
-    public  static Efl.Eo.NativeModule _Module = new Efl.Eo.NativeModule(efl.Libs.Efl);
-    public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)
-    {
-        var descs = new System.Collections.Generic.List<Efl_Op_Description>();
-        var methods = Efl.Eo.Globals.GetUserMethods(type);
-        if (efl_gfx_image_load_controller_load_size_get_static_delegate == null)
-            efl_gfx_image_load_controller_load_size_get_static_delegate = new efl_gfx_image_load_controller_load_size_get_delegate(load_size_get);
-        if (methods.FirstOrDefault(m => m.Name == "GetLoadSize") != null)
-            descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_image_load_controller_load_size_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_size_get_static_delegate)});
-        if (efl_gfx_image_load_controller_load_size_set_static_delegate == null)
-            efl_gfx_image_load_controller_load_size_set_static_delegate = new efl_gfx_image_load_controller_load_size_set_delegate(load_size_set);
-        if (methods.FirstOrDefault(m => m.Name == "SetLoadSize") != null)
-            descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_image_load_controller_load_size_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_size_set_static_delegate)});
-        if (efl_gfx_image_load_controller_load_dpi_get_static_delegate == null)
-            efl_gfx_image_load_controller_load_dpi_get_static_delegate = new efl_gfx_image_load_controller_load_dpi_get_delegate(load_dpi_get);
-        if (methods.FirstOrDefault(m => m.Name == "GetLoadDpi") != null)
-            descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_image_load_controller_load_dpi_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_dpi_get_static_delegate)});
-        if (efl_gfx_image_load_controller_load_dpi_set_static_delegate == null)
-            efl_gfx_image_load_controller_load_dpi_set_static_delegate = new efl_gfx_image_load_controller_load_dpi_set_delegate(load_dpi_set);
-        if (methods.FirstOrDefault(m => m.Name == "SetLoadDpi") != null)
-            descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_image_load_controller_load_dpi_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_dpi_set_static_delegate)});
-        if (efl_gfx_image_load_controller_load_region_support_get_static_delegate == null)
-            efl_gfx_image_load_controller_load_region_support_get_static_delegate = new efl_gfx_image_load_controller_load_region_support_get_delegate(load_region_support_get);
-        if (methods.FirstOrDefault(m => m.Name == "GetLoadRegionSupport") != null)
-            descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_image_load_controller_load_region_support_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_region_support_get_static_delegate)});
-        if (efl_gfx_image_load_controller_load_region_get_static_delegate == null)
-            efl_gfx_image_load_controller_load_region_get_static_delegate = new efl_gfx_image_load_controller_load_region_get_delegate(load_region_get);
-        if (methods.FirstOrDefault(m => m.Name == "GetLoadRegion") != null)
-            descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_image_load_controller_load_region_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_region_get_static_delegate)});
-        if (efl_gfx_image_load_controller_load_region_set_static_delegate == null)
-            efl_gfx_image_load_controller_load_region_set_static_delegate = new efl_gfx_image_load_controller_load_region_set_delegate(load_region_set);
-        if (methods.FirstOrDefault(m => m.Name == "SetLoadRegion") != null)
-            descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_image_load_controller_load_region_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_region_set_static_delegate)});
-        if (efl_gfx_image_load_controller_load_orientation_get_static_delegate == null)
-            efl_gfx_image_load_controller_load_orientation_get_static_delegate = new efl_gfx_image_load_controller_load_orientation_get_delegate(load_orientation_get);
-        if (methods.FirstOrDefault(m => m.Name == "GetLoadOrientation") != null)
-            descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_image_load_controller_load_orientation_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_orientation_get_static_delegate)});
-        if (efl_gfx_image_load_controller_load_orientation_set_static_delegate == null)
-            efl_gfx_image_load_controller_load_orientation_set_static_delegate = new efl_gfx_image_load_controller_load_orientation_set_delegate(load_orientation_set);
-        if (methods.FirstOrDefault(m => m.Name == "SetLoadOrientation") != null)
-            descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_image_load_controller_load_orientation_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_orientation_set_static_delegate)});
-        if (efl_gfx_image_load_controller_load_scale_down_get_static_delegate == null)
-            efl_gfx_image_load_controller_load_scale_down_get_static_delegate = new efl_gfx_image_load_controller_load_scale_down_get_delegate(load_scale_down_get);
-        if (methods.FirstOrDefault(m => m.Name == "GetLoadScaleDown") != null)
-            descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_image_load_controller_load_scale_down_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_scale_down_get_static_delegate)});
-        if (efl_gfx_image_load_controller_load_scale_down_set_static_delegate == null)
-            efl_gfx_image_load_controller_load_scale_down_set_static_delegate = new efl_gfx_image_load_controller_load_scale_down_set_delegate(load_scale_down_set);
-        if (methods.FirstOrDefault(m => m.Name == "SetLoadScaleDown") != null)
-            descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_image_load_controller_load_scale_down_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_scale_down_set_static_delegate)});
-        if (efl_gfx_image_load_controller_load_skip_header_get_static_delegate == null)
-            efl_gfx_image_load_controller_load_skip_header_get_static_delegate = new efl_gfx_image_load_controller_load_skip_header_get_delegate(load_skip_header_get);
-        if (methods.FirstOrDefault(m => m.Name == "GetLoadSkipHeader") != null)
-            descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_image_load_controller_load_skip_header_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_skip_header_get_static_delegate)});
-        if (efl_gfx_image_load_controller_load_skip_header_set_static_delegate == null)
-            efl_gfx_image_load_controller_load_skip_header_set_static_delegate = new efl_gfx_image_load_controller_load_skip_header_set_delegate(load_skip_header_set);
-        if (methods.FirstOrDefault(m => m.Name == "SetLoadSkipHeader") != null)
-            descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_image_load_controller_load_skip_header_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_skip_header_set_static_delegate)});
-        if (efl_gfx_image_load_controller_load_async_start_static_delegate == null)
-            efl_gfx_image_load_controller_load_async_start_static_delegate = new efl_gfx_image_load_controller_load_async_start_delegate(load_async_start);
-        if (methods.FirstOrDefault(m => m.Name == "LoadAsyncStart") != null)
-            descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_image_load_controller_load_async_start"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_async_start_static_delegate)});
-        if (efl_gfx_image_load_controller_load_async_cancel_static_delegate == null)
-            efl_gfx_image_load_controller_load_async_cancel_static_delegate = new efl_gfx_image_load_controller_load_async_cancel_delegate(load_async_cancel);
-        if (methods.FirstOrDefault(m => m.Name == "LoadAsyncCancel") != null)
-            descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_gfx_image_load_controller_load_async_cancel"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_async_cancel_static_delegate)});
-        return descs;
-    }
-    public override IntPtr GetEflClass()
-    {
-        return Efl.Gfx.IImageLoadControllerConcrete.efl_gfx_image_load_controller_interface_get();
-    }
-    public static  IntPtr GetEflClassStatic()
+    /// <summary>Wrapper for native methods and virtual method delegates.
+    /// For internal use by generated code only.</summary>
+    public new class NativeMethods : Efl.Eo.EoWrapper.NativeMethods
     {
-        return Efl.Gfx.IImageLoadControllerConcrete.efl_gfx_image_load_controller_interface_get();
-    }
+        private static Efl.Eo.NativeModule Module = new Efl.Eo.NativeModule(    efl.Libs.Efl);
+        /// <summary>Gets the list of Eo operations to override.</summary>
+        /// <returns>The list of Eo operations to be overload.</returns>
+        public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)
+        {
+            var descs = new System.Collections.Generic.List<Efl_Op_Description>();
+            var methods = Efl.Eo.Globals.GetUserMethods(type);
 
+            if (efl_gfx_image_load_controller_load_size_get_static_delegate == null)
+            {
+                efl_gfx_image_load_controller_load_size_get_static_delegate = new efl_gfx_image_load_controller_load_size_get_delegate(load_size_get);
+            }
 
-     private delegate Eina.Size2D.NativeStruct efl_gfx_image_load_controller_load_size_get_delegate(System.IntPtr obj, System.IntPtr pd);
+            if (methods.FirstOrDefault(m => m.Name == "GetLoadSize") != null)
+            {
+                descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_size_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_size_get_static_delegate) });
+            }
 
+            if (efl_gfx_image_load_controller_load_size_set_static_delegate == null)
+            {
+                efl_gfx_image_load_controller_load_size_set_static_delegate = new efl_gfx_image_load_controller_load_size_set_delegate(load_size_set);
+            }
 
-     public delegate Eina.Size2D.NativeStruct efl_gfx_image_load_controller_load_size_get_api_delegate(System.IntPtr obj);
-     public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_size_get_api_delegate> efl_gfx_image_load_controller_load_size_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_size_get_api_delegate>(_Module, "efl_gfx_image_load_controller_load_size_get");
-     private static Eina.Size2D.NativeStruct load_size_get(System.IntPtr obj, System.IntPtr pd)
-    {
-        Eina.Log.Debug("function efl_gfx_image_load_controller_load_size_get was called");
-        Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
-        if(wrapper != null) {
-                        Eina.Size2D _ret_var = default(Eina.Size2D);
-            try {
-                _ret_var = ((IImageLoadController)wrapper).GetLoadSize();
-            } catch (Exception e) {
-                Eina.Log.Warning($"Callback error: {e.ToString()}");
-                Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+            if (methods.FirstOrDefault(m => m.Name == "SetLoadSize") != null)
+            {
+                descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_size_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_size_set_static_delegate) });
+            }
+
+            if (efl_gfx_image_load_controller_load_dpi_get_static_delegate == null)
+            {
+                efl_gfx_image_load_controller_load_dpi_get_static_delegate = new efl_gfx_image_load_controller_load_dpi_get_delegate(load_dpi_get);
+            }
+
+            if (methods.FirstOrDefault(m => m.Name == "GetLoadDpi") != null)
+            {
+                descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_dpi_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_dpi_get_static_delegate) });
+            }
+
+            if (efl_gfx_image_load_controller_load_dpi_set_static_delegate == null)
+            {
+                efl_gfx_image_load_controller_load_dpi_set_static_delegate = new efl_gfx_image_load_controller_load_dpi_set_delegate(load_dpi_set);
+            }
+
+            if (methods.FirstOrDefault(m => m.Name == "SetLoadDpi") != null)
+            {
+                descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_dpi_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_dpi_set_static_delegate) });
+            }
+
+            if (efl_gfx_image_load_controller_load_region_support_get_static_delegate == null)
+            {
+                efl_gfx_image_load_controller_load_region_support_get_static_delegate = new efl_gfx_image_load_controller_load_region_support_get_delegate(load_region_support_get);
+            }
+
+            if (methods.FirstOrDefault(m => m.Name == "GetLoadRegionSupport") != null)
+            {
+                descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_region_support_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_region_support_get_static_delegate) });
+            }
+
+            if (efl_gfx_image_load_controller_load_region_get_static_delegate == null)
+            {
+                efl_gfx_image_load_controller_load_region_get_static_delegate = new efl_gfx_image_load_controller_load_region_get_delegate(load_region_get);
+            }
+
+            if (methods.FirstOrDefault(m => m.Name == "GetLoadRegion") != null)
+            {
+                descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_region_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_region_get_static_delegate) });
+            }
+
+            if (efl_gfx_image_load_controller_load_region_set_static_delegate == null)
+            {
+                efl_gfx_image_load_controller_load_region_set_static_delegate = new efl_gfx_image_load_controller_load_region_set_delegate(load_region_set);
+            }
+
+            if (methods.FirstOrDefault(m => m.Name == "SetLoadRegion") != null)
+            {
+                descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_region_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_region_set_static_delegate) });
+            }
+
+            if (efl_gfx_image_load_controller_load_orientation_get_static_delegate == null)
+            {
+                efl_gfx_image_load_controller_load_orientation_get_static_delegate = new efl_gfx_image_load_controller_load_orientation_get_delegate(load_orientation_get);
             }
+
+            if (methods.FirstOrDefault(m => m.Name == "GetLoadOrientation") != null)
+            {
+                descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_orientation_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_orientation_get_static_delegate) });
+            }
+
+            if (efl_gfx_image_load_controller_load_orientation_set_static_delegate == null)
+            {
+                efl_gfx_image_load_controller_load_orientation_set_static_delegate = new efl_gfx_image_load_controller_load_orientation_set_delegate(load_orientation_set);
+            }
+
+            if (methods.FirstOrDefault(m => m.Name == "SetLoadOrientation") != null)
+            {
+                descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_orientation_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_orientation_set_static_delegate) });
+            }
+
+            if (efl_gfx_image_load_controller_load_scale_down_get_static_delegate == null)
+            {
+                efl_gfx_image_load_controller_load_scale_down_get_static_delegate = new efl_gfx_image_load_controller_load_scale_down_get_delegate(load_scale_down_get);
+            }
+
+            if (methods.FirstOrDefault(m => m.Name == "GetLoadScaleDown") != null)
+            {
+                descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_scale_down_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_scale_down_get_static_delegate) });
+            }
+
+            if (efl_gfx_image_load_controller_load_scale_down_set_static_delegate == null)
+            {
+                efl_gfx_image_load_controller_load_scale_down_set_static_delegate = new efl_gfx_image_load_controller_load_scale_down_set_delegate(load_scale_down_set);
+            }
+
+            if (methods.FirstOrDefault(m => m.Name == "SetLoadScaleDown") != null)
+            {
+                descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_scale_down_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_scale_down_set_static_delegate) });
+            }
+
+            if (efl_gfx_image_load_controller_load_skip_header_get_static_delegate == null)
+            {
+                efl_gfx_image_load_controller_load_skip_header_get_static_delegate = new efl_gfx_image_load_controller_load_skip_header_get_delegate(load_skip_header_get);
+            }
+
+            if (methods.FirstOrDefault(m => m.Name == "GetLoadSkipHeader") != null)
+            {
+                descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_skip_header_get"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_skip_header_get_static_delegate) });
+            }
+
+            if (efl_gfx_image_load_controller_load_skip_header_set_static_delegate == null)
+            {
+                efl_gfx_image_load_controller_load_skip_header_set_static_delegate = new efl_gfx_image_load_controller_load_skip_header_set_delegate(load_skip_header_set);
+            }
+
+            if (methods.FirstOrDefault(m => m.Name == "SetLoadSkipHeader") != null)
+            {
+                descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_skip_header_set"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_skip_header_set_static_delegate) });
+            }
+
+            if (efl_gfx_image_load_controller_load_async_start_static_delegate == null)
+            {
+                efl_gfx_image_load_controller_load_async_start_static_delegate = new efl_gfx_image_load_controller_load_async_start_delegate(load_async_start);
+            }
+
+            if (methods.FirstOrDefault(m => m.Name == "LoadAsyncStart") != null)
+            {
+                descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_async_start"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_async_start_static_delegate) });
+            }
+
+            if (efl_gfx_image_load_controller_load_async_cancel_static_delegate == null)
+            {
+                efl_gfx_image_load_controller_load_async_cancel_static_delegate = new efl_gfx_image_load_controller_load_async_cancel_delegate(load_async_cancel);
+            }
+
+            if (methods.FirstOrDefault(m => m.Name == "LoadAsyncCancel") != null)
+            {
+                descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_gfx_image_load_controller_load_async_cancel"), func = Marshal.GetFunctionPointerForDelegate(efl_gfx_image_load_controller_load_async_cancel_static_delegate) });
+            }
+
+            return descs;
+        }
+        /// <summary>Returns the Eo class for the native methods of this class.</summary>
+        /// <returns>The native class pointer.</returns>
+        public override IntPtr GetEflClass()
+        {
+            return Efl.Gfx.IImageLoadControllerConcrete.efl_gfx_image_load_controller_interface_get();
+        }
+
+        #pragma warning disable CA1707, CS1591, SA1300, SA1600
+
+        
+        private delegate Eina.Size2D.NativeStruct efl_gfx_image_load_controller_load_size_get_delegate(System.IntPtr obj, System.IntPtr pd);
+
+        
+        public delegate Eina.Size2D.NativeStruct efl_gfx_image_load_controller_load_size_get_api_delegate(System.IntPtr obj);
+
+        public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_size_get_api_delegate> efl_gfx_image_load_controller_load_size_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_size_get_api_delegate>(Module, "efl_gfx_image_load_controller_load_size_get");
+
+        private static Eina.Size2D.NativeStruct load_size_get(System.IntPtr obj, System.IntPtr pd)
+        {
+            Eina.Log.Debug("function efl_gfx_image_load_controller_load_size_get was called");
+            var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
+            if (ws != null)
+            {
+            Eina.Size2D _ret_var = default(Eina.Size2D);
+                try
+                {
+                    _ret_var = ((IImageLoadController)ws.Target).GetLoadSize();
+                }
+                catch (Exception e)
+                {
+                    Eina.Log.Warning($"Callback error: {e.ToString()}");
+                    Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+                }
+
         return _ret_var;
-        } else {
-            return efl_gfx_image_load_controller_load_size_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+
+            }
+            else
+            {
+                return efl_gfx_image_load_controller_load_size_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+            }
         }
-    }
-    private static efl_gfx_image_load_controller_load_size_get_delegate efl_gfx_image_load_controller_load_size_get_static_delegate;
 
+        private static efl_gfx_image_load_controller_load_size_get_delegate efl_gfx_image_load_controller_load_size_get_static_delegate;
 
-     private delegate void efl_gfx_image_load_controller_load_size_set_delegate(System.IntPtr obj, System.IntPtr pd,   Eina.Size2D.NativeStruct size);
+        
+        private delegate void efl_gfx_image_load_controller_load_size_set_delegate(System.IntPtr obj, System.IntPtr pd,  Eina.Size2D.NativeStruct size);
 
+        
+        public delegate void efl_gfx_image_load_controller_load_size_set_api_delegate(System.IntPtr obj,  Eina.Size2D.NativeStruct size);
 
-     public delegate void efl_gfx_image_load_controller_load_size_set_api_delegate(System.IntPtr obj,   Eina.Size2D.NativeStruct size);
-     public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_size_set_api_delegate> efl_gfx_image_load_controller_load_size_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_size_set_api_delegate>(_Module, "efl_gfx_image_load_controller_load_size_set");
-     private static void load_size_set(System.IntPtr obj, System.IntPtr pd,  Eina.Size2D.NativeStruct size)
-    {
-        Eina.Log.Debug("function efl_gfx_image_load_controller_load_size_set was called");
-        Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
-        if(wrapper != null) {
-                    Eina.Size2D _in_size = size;
+        public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_size_set_api_delegate> efl_gfx_image_load_controller_load_size_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_size_set_api_delegate>(Module, "efl_gfx_image_load_controller_load_size_set");
+
+        private static void load_size_set(System.IntPtr obj, System.IntPtr pd, Eina.Size2D.NativeStruct size)
+        {
+            Eina.Log.Debug("function efl_gfx_image_load_controller_load_size_set was called");
+            var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
+            if (ws != null)
+            {
+        Eina.Size2D _in_size = size;
                             
-            try {
-                ((IImageLoadController)wrapper).SetLoadSize( _in_size);
-            } catch (Exception e) {
-                Eina.Log.Warning($"Callback error: {e.ToString()}");
-                Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
-            }
-                                } else {
-            efl_gfx_image_load_controller_load_size_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)),  size);
+                try
+                {
+                    ((IImageLoadController)ws.Target).SetLoadSize(_in_size);
+                }
+                catch (Exception e)
+                {
+                    Eina.Log.Warning($"Callback error: {e.ToString()}");
+                    Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+                }
+
+                        
+            }
+            else
+            {
+                efl_gfx_image_load_controller_load_size_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), size);
+            }
         }
-    }
-    private static efl_gfx_image_load_controller_load_size_set_delegate efl_gfx_image_load_controller_load_size_set_static_delegate;
 
+        private static efl_gfx_image_load_controller_load_size_set_delegate efl_gfx_image_load_controller_load_size_set_static_delegate;
 
-     private delegate double efl_gfx_image_load_controller_load_dpi_get_delegate(System.IntPtr obj, System.IntPtr pd);
+        
+        private delegate double efl_gfx_image_load_controller_load_dpi_get_delegate(System.IntPtr obj, System.IntPtr pd);
 
+        
+        public delegate double efl_gfx_image_load_controller_load_dpi_get_api_delegate(System.IntPtr obj);
+
+        public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_dpi_get_api_delegate> efl_gfx_image_load_controller_load_dpi_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_dpi_get_api_delegate>(Module, "efl_gfx_image_load_controller_load_dpi_get");
+
+        private static double load_dpi_get(System.IntPtr obj, System.IntPtr pd)
+        {
+            Eina.Log.Debug("function efl_gfx_image_load_controller_load_dpi_get was called");
+            var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
+            if (ws != null)
+            {
+            double _ret_var = default(double);
+                try
+                {
+                    _ret_var = ((IImageLoadController)ws.Target).GetLoadDpi();
+                }
+                catch (Exception e)
+                {
+                    Eina.Log.Warning($"Callback error: {e.ToString()}");
+                    Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+                }
 
-     public delegate double efl_gfx_image_load_controller_load_dpi_get_api_delegate(System.IntPtr obj);
-     public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_dpi_get_api_delegate> efl_gfx_image_load_controller_load_dpi_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_dpi_get_api_delegate>(_Module, "efl_gfx_image_load_controller_load_dpi_get");
-     private static double load_dpi_get(System.IntPtr obj, System.IntPtr pd)
-    {
-        Eina.Log.Debug("function efl_gfx_image_load_controller_load_dpi_get was called");
-        Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
-        if(wrapper != null) {
-                        double _ret_var = default(double);
-            try {
-                _ret_var = ((IImageLoadController)wrapper).GetLoadDpi();
-            } catch (Exception e) {
-                Eina.Log.Warning($"Callback error: {e.ToString()}");
-                Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
-            }
         return _ret_var;
-        } else {
-            return efl_gfx_image_load_controller_load_dpi_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+
+            }
+            else
+            {
+                return efl_gfx_image_load_controller_load_dpi_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+            }
         }
-    }
-    private static efl_gfx_image_load_controller_load_dpi_get_delegate efl_gfx_image_load_controller_load_dpi_get_static_delegate;
 
+        private static efl_gfx_image_load_controller_load_dpi_get_delegate efl_gfx_image_load_controller_load_dpi_get_static_delegate;
 
-     private delegate void efl_gfx_image_load_controller_load_dpi_set_delegate(System.IntPtr obj, System.IntPtr pd,   double dpi);
+        
+        private delegate void efl_gfx_image_load_controller_load_dpi_set_delegate(System.IntPtr obj, System.IntPtr pd,  double dpi);
 
+        
+        public delegate void efl_gfx_image_load_controller_load_dpi_set_api_delegate(System.IntPtr obj,  double dpi);
 
-     public delegate void efl_gfx_image_load_controller_load_dpi_set_api_delegate(System.IntPtr obj,   double dpi);
-     public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_dpi_set_api_delegate> efl_gfx_image_load_controller_load_dpi_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_dpi_set_api_delegate>(_Module, "efl_gfx_image_load_controller_load_dpi_set");
-     private static void load_dpi_set(System.IntPtr obj, System.IntPtr pd,  double dpi)
-    {
-        Eina.Log.Debug("function efl_gfx_image_load_controller_load_dpi_set was called");
-        Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
-        if(wrapper != null) {
-                                                
-            try {
-                ((IImageLoadController)wrapper).SetLoadDpi( dpi);
-            } catch (Exception e) {
-                Eina.Log.Warning($"Callback error: {e.ToString()}");
-                Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
-            }
-                                } else {
-            efl_gfx_image_load_controller_load_dpi_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)),  dpi);
+        public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_dpi_set_api_delegate> efl_gfx_image_load_controller_load_dpi_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_dpi_set_api_delegate>(Module, "efl_gfx_image_load_controller_load_dpi_set");
+
+        private static void load_dpi_set(System.IntPtr obj, System.IntPtr pd, double dpi)
+        {
+            Eina.Log.Debug("function efl_gfx_image_load_controller_load_dpi_set was called");
+            var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
+            if (ws != null)
+            {
+                                    
+                try
+                {
+                    ((IImageLoadController)ws.Target).SetLoadDpi(dpi);
+                }
+                catch (Exception e)
+                {
+                    Eina.Log.Warning($"Callback error: {e.ToString()}");
+                    Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+                }
+
+                        
+            }
+            else
+            {
+                efl_gfx_image_load_controller_load_dpi_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), dpi);
+            }
         }
-    }
-    private static efl_gfx_image_load_controller_load_dpi_set_delegate efl_gfx_image_load_controller_load_dpi_set_static_delegate;
 
+        private static efl_gfx_image_load_controller_load_dpi_set_delegate efl_gfx_image_load_controller_load_dpi_set_static_delegate;
 
-     [return: MarshalAs(UnmanagedType.U1)] private delegate bool efl_gfx_image_load_controller_load_region_support_get_delegate(System.IntPtr obj, System.IntPtr pd);
+        [return: MarshalAs(UnmanagedType.U1)]
+        private delegate bool efl_gfx_image_load_controller_load_region_support_get_delegate(System.IntPtr obj, System.IntPtr pd);
 
+        [return: MarshalAs(UnmanagedType.U1)]
+        public delegate bool efl_gfx_image_load_controller_load_region_support_get_api_delegate(System.IntPtr obj);
+
+        public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_support_get_api_delegate> efl_gfx_image_load_controller_load_region_support_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_support_get_api_delegate>(Module, "efl_gfx_image_load_controller_load_region_support_get");
+
+        private static bool load_region_support_get(System.IntPtr obj, System.IntPtr pd)
+        {
+            Eina.Log.Debug("function efl_gfx_image_load_controller_load_region_support_get was called");
+            var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
+            if (ws != null)
+            {
+            bool _ret_var = default(bool);
+                try
+                {
+                    _ret_var = ((IImageLoadController)ws.Target).GetLoadRegionSupport();
+                }
+                catch (Exception e)
+                {
+                    Eina.Log.Warning($"Callback error: {e.ToString()}");
+                    Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+                }
 
-     [return: MarshalAs(UnmanagedType.U1)] public delegate bool efl_gfx_image_load_controller_load_region_support_get_api_delegate(System.IntPtr obj);
-     public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_support_get_api_delegate> efl_gfx_image_load_controller_load_region_support_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_support_get_api_delegate>(_Module, "efl_gfx_image_load_controller_load_region_support_get");
-     private static bool load_region_support_get(System.IntPtr obj, System.IntPtr pd)
-    {
-        Eina.Log.Debug("function efl_gfx_image_load_controller_load_region_support_get was called");
-        Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
-        if(wrapper != null) {
-                        bool _ret_var = default(bool);
-            try {
-                _ret_var = ((IImageLoadController)wrapper).GetLoadRegionSupport();
-            } catch (Exception e) {
-                Eina.Log.Warning($"Callback error: {e.ToString()}");
-                Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
-            }
         return _ret_var;
-        } else {
-            return efl_gfx_image_load_controller_load_region_support_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+
+            }
+            else
+            {
+                return efl_gfx_image_load_controller_load_region_support_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+            }
         }
-    }
-    private static efl_gfx_image_load_controller_load_region_support_get_delegate efl_gfx_image_load_controller_load_region_support_get_static_delegate;
 
+        private static efl_gfx_image_load_controller_load_region_support_get_delegate efl_gfx_image_load_controller_load_region_support_get_static_delegate;
 
-     private delegate Eina.Rect.NativeStruct efl_gfx_image_load_controller_load_region_get_delegate(System.IntPtr obj, System.IntPtr pd);
+        
+        private delegate Eina.Rect.NativeStruct efl_gfx_image_load_controller_load_region_get_delegate(System.IntPtr obj, System.IntPtr pd);
 
+        
+        public delegate Eina.Rect.NativeStruct efl_gfx_image_load_controller_load_region_get_api_delegate(System.IntPtr obj);
+
+        public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_get_api_delegate> efl_gfx_image_load_controller_load_region_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_get_api_delegate>(Module, "efl_gfx_image_load_controller_load_region_get");
+
+        private static Eina.Rect.NativeStruct load_region_get(System.IntPtr obj, System.IntPtr pd)
+        {
+            Eina.Log.Debug("function efl_gfx_image_load_controller_load_region_get was called");
+            var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
+            if (ws != null)
+            {
+            Eina.Rect _ret_var = default(Eina.Rect);
+                try
+                {
+                    _ret_var = ((IImageLoadController)ws.Target).GetLoadRegion();
+                }
+                catch (Exception e)
+                {
+                    Eina.Log.Warning($"Callback error: {e.ToString()}");
+                    Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+                }
 
-     public delegate Eina.Rect.NativeStruct efl_gfx_image_load_controller_load_region_get_api_delegate(System.IntPtr obj);
-     public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_get_api_delegate> efl_gfx_image_load_controller_load_region_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_get_api_delegate>(_Module, "efl_gfx_image_load_controller_load_region_get");
-     private static Eina.Rect.NativeStruct load_region_get(System.IntPtr obj, System.IntPtr pd)
-    {
-        Eina.Log.Debug("function efl_gfx_image_load_controller_load_region_get was called");
-        Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
-        if(wrapper != null) {
-                        Eina.Rect _ret_var = default(Eina.Rect);
-            try {
-                _ret_var = ((IImageLoadController)wrapper).GetLoadRegion();
-            } catch (Exception e) {
-                Eina.Log.Warning($"Callback error: {e.ToString()}");
-                Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
-            }
         return _ret_var;
-        } else {
-            return efl_gfx_image_load_controller_load_region_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+
+            }
+            else
+            {
+                return efl_gfx_image_load_controller_load_region_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+            }
         }
-    }
-    private static efl_gfx_image_load_controller_load_region_get_delegate efl_gfx_image_load_controller_load_region_get_static_delegate;
 
+        private static efl_gfx_image_load_controller_load_region_get_delegate efl_gfx_image_load_controller_load_region_get_static_delegate;
 
-     private delegate void efl_gfx_image_load_controller_load_region_set_delegate(System.IntPtr obj, System.IntPtr pd,   Eina.Rect.NativeStruct region);
+        
+        private delegate void efl_gfx_image_load_controller_load_region_set_delegate(System.IntPtr obj, System.IntPtr pd,  Eina.Rect.NativeStruct region);
 
+        
+        public delegate void efl_gfx_image_load_controller_load_region_set_api_delegate(System.IntPtr obj,  Eina.Rect.NativeStruct region);
 
-     public delegate void efl_gfx_image_load_controller_load_region_set_api_delegate(System.IntPtr obj,   Eina.Rect.NativeStruct region);
-     public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_set_api_delegate> efl_gfx_image_load_controller_load_region_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_set_api_delegate>(_Module, "efl_gfx_image_load_controller_load_region_set");
-     private static void load_region_set(System.IntPtr obj, System.IntPtr pd,  Eina.Rect.NativeStruct region)
-    {
-        Eina.Log.Debug("function efl_gfx_image_load_controller_load_region_set was called");
-        Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
-        if(wrapper != null) {
-                    Eina.Rect _in_region = region;
+        public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_set_api_delegate> efl_gfx_image_load_controller_load_region_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_region_set_api_delegate>(Module, "efl_gfx_image_load_controller_load_region_set");
+
+        private static void load_region_set(System.IntPtr obj, System.IntPtr pd, Eina.Rect.NativeStruct region)
+        {
+            Eina.Log.Debug("function efl_gfx_image_load_controller_load_region_set was called");
+            var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
+            if (ws != null)
+            {
+        Eina.Rect _in_region = region;
                             
-            try {
-                ((IImageLoadController)wrapper).SetLoadRegion( _in_region);
-            } catch (Exception e) {
-                Eina.Log.Warning($"Callback error: {e.ToString()}");
-                Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
-            }
-                                } else {
-            efl_gfx_image_load_controller_load_region_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)),  region);
+                try
+                {
+                    ((IImageLoadController)ws.Target).SetLoadRegion(_in_region);
+                }
+                catch (Exception e)
+                {
+                    Eina.Log.Warning($"Callback error: {e.ToString()}");
+                    Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+                }
+
+                        
+            }
+            else
+            {
+                efl_gfx_image_load_controller_load_region_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), region);
+            }
         }
-    }
-    private static efl_gfx_image_load_controller_load_region_set_delegate efl_gfx_image_load_controller_load_region_set_static_delegate;
 
+        private static efl_gfx_image_load_controller_load_region_set_delegate efl_gfx_image_load_controller_load_region_set_static_delegate;
 
-     [return: MarshalAs(UnmanagedType.U1)] private delegate bool efl_gfx_image_load_controller_load_orientation_get_delegate(System.IntPtr obj, System.IntPtr pd);
+        [return: MarshalAs(UnmanagedType.U1)]
+        private delegate bool efl_gfx_image_load_controller_load_orientation_get_delegate(System.IntPtr obj, System.IntPtr pd);
 
+        [return: MarshalAs(UnmanagedType.U1)]
+        public delegate bool efl_gfx_image_load_controller_load_orientation_get_api_delegate(System.IntPtr obj);
+
+        public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_orientation_get_api_delegate> efl_gfx_image_load_controller_load_orientation_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_orientation_get_api_delegate>(Module, "efl_gfx_image_load_controller_load_orientation_get");
+
+        private static bool load_orientation_get(System.IntPtr obj, System.IntPtr pd)
+        {
+            Eina.Log.Debug("function efl_gfx_image_load_controller_load_orientation_get was called");
+            var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
+            if (ws != null)
+            {
+            bool _ret_var = default(bool);
+                try
+                {
+                    _ret_var = ((IImageLoadController)ws.Target).GetLoadOrientation();
+                }
+                catch (Exception e)
+                {
+                    Eina.Log.Warning($"Callback error: {e.ToString()}");
+                    Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+                }
 
-     [return: MarshalAs(UnmanagedType.U1)] public delegate bool efl_gfx_image_load_controller_load_orientation_get_api_delegate(System.IntPtr obj);
-     public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_orientation_get_api_delegate> efl_gfx_image_load_controller_load_orientation_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_orientation_get_api_delegate>(_Module, "efl_gfx_image_load_controller_load_orientation_get");
-     private static bool load_orientation_get(System.IntPtr obj, System.IntPtr pd)
-    {
-        Eina.Log.Debug("function efl_gfx_image_load_controller_load_orientation_get was called");
-        Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
-        if(wrapper != null) {
-                        bool _ret_var = default(bool);
-            try {
-                _ret_var = ((IImageLoadController)wrapper).GetLoadOrientation();
-            } catch (Exception e) {
-                Eina.Log.Warning($"Callback error: {e.ToString()}");
-                Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
-            }
         return _ret_var;
-        } else {
-            return efl_gfx_image_load_controller_load_orientation_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+
+            }
+            else
+            {
+                return efl_gfx_image_load_controller_load_orientation_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+            }
         }
-    }
-    private static efl_gfx_image_load_controller_load_orientation_get_delegate efl_gfx_image_load_controller_load_orientation_get_static_delegate;
 
+        private static efl_gfx_image_load_controller_load_orientation_get_delegate efl_gfx_image_load_controller_load_orientation_get_static_delegate;
 
-     private delegate void efl_gfx_image_load_controller_load_orientation_set_delegate(System.IntPtr obj, System.IntPtr pd,  [MarshalAs(UnmanagedType.U1)]  bool enable);
+        
+        private delegate void efl_gfx_image_load_controller_load_orientation_set_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.U1)] bool enable);
 
+        
+        public delegate void efl_gfx_image_load_controller_load_orientation_set_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.U1)] bool enable);
 
-     public delegate void efl_gfx_image_load_controller_load_orientation_set_api_delegate(System.IntPtr obj,  [MarshalAs(UnmanagedType.U1)]  bool enable);
-     public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_orientation_set_api_delegate> efl_gfx_image_load_controller_load_orientation_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_orientation_set_api_delegate>(_Module, "efl_gfx_image_load_controller_load_orientation_set");
-     private static void load_orientation_set(System.IntPtr obj, System.IntPtr pd,  bool enable)
-    {
-        Eina.Log.Debug("function efl_gfx_image_load_controller_load_orientation_set was called");
-        Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
-        if(wrapper != null) {
-                                                
-            try {
-                ((IImageLoadController)wrapper).SetLoadOrientation( enable);
-            } catch (Exception e) {
-                Eina.Log.Warning($"Callback error: {e.ToString()}");
-                Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
-            }
-                                } else {
-            efl_gfx_image_load_controller_load_orientation_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)),  enable);
+        public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_orientation_set_api_delegate> efl_gfx_image_load_controller_load_orientation_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_orientation_set_api_delegate>(Module, "efl_gfx_image_load_controller_load_orientation_set");
+
+        private static void load_orientation_set(System.IntPtr obj, System.IntPtr pd, bool enable)
+        {
+            Eina.Log.Debug("function efl_gfx_image_load_controller_load_orientation_set was called");
+            var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
+            if (ws != null)
+            {
+                                    
+                try
+                {
+                    ((IImageLoadController)ws.Target).SetLoadOrientation(enable);
+                }
+                catch (Exception e)
+                {
+                    Eina.Log.Warning($"Callback error: {e.ToString()}");
+                    Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+                }
+
+                        
+            }
+            else
+            {
+                efl_gfx_image_load_controller_load_orientation_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), enable);
+            }
         }
-    }
-    private static efl_gfx_image_load_controller_load_orientation_set_delegate efl_gfx_image_load_controller_load_orientation_set_static_delegate;
 
+        private static efl_gfx_image_load_controller_load_orientation_set_delegate efl_gfx_image_load_controller_load_orientation_set_static_delegate;
 
-     private delegate int efl_gfx_image_load_controller_load_scale_down_get_delegate(System.IntPtr obj, System.IntPtr pd);
+        
+        private delegate int efl_gfx_image_load_controller_load_scale_down_get_delegate(System.IntPtr obj, System.IntPtr pd);
 
+        
+        public delegate int efl_gfx_image_load_controller_load_scale_down_get_api_delegate(System.IntPtr obj);
+
+        public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_scale_down_get_api_delegate> efl_gfx_image_load_controller_load_scale_down_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_scale_down_get_api_delegate>(Module, "efl_gfx_image_load_controller_load_scale_down_get");
+
+        private static int load_scale_down_get(System.IntPtr obj, System.IntPtr pd)
+        {
+            Eina.Log.Debug("function efl_gfx_image_load_controller_load_scale_down_get was called");
+            var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
+            if (ws != null)
+            {
+            int _ret_var = default(int);
+                try
+                {
+                    _ret_var = ((IImageLoadController)ws.Target).GetLoadScaleDown();
+                }
+                catch (Exception e)
+                {
+                    Eina.Log.Warning($"Callback error: {e.ToString()}");
+                    Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+                }
 
-     public delegate int efl_gfx_image_load_controller_load_scale_down_get_api_delegate(System.IntPtr obj);
-     public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_scale_down_get_api_delegate> efl_gfx_image_load_controller_load_scale_down_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_scale_down_get_api_delegate>(_Module, "efl_gfx_image_load_controller_load_scale_down_get");
-     private static int load_scale_down_get(System.IntPtr obj, System.IntPtr pd)
-    {
-        Eina.Log.Debug("function efl_gfx_image_load_controller_load_scale_down_get was called");
-        Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
-        if(wrapper != null) {
-                        int _ret_var = default(int);
-            try {
-                _ret_var = ((IImageLoadController)wrapper).GetLoadScaleDown();
-            } catch (Exception e) {
-                Eina.Log.Warning($"Callback error: {e.ToString()}");
-                Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
-            }
         return _ret_var;
-        } else {
-            return efl_gfx_image_load_controller_load_scale_down_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+
+            }
+            else
+            {
+                return efl_gfx_image_load_controller_load_scale_down_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+            }
         }
-    }
-    private static efl_gfx_image_load_controller_load_scale_down_get_delegate efl_gfx_image_load_controller_load_scale_down_get_static_delegate;
 
+        private static efl_gfx_image_load_controller_load_scale_down_get_delegate efl_gfx_image_load_controller_load_scale_down_get_static_delegate;
 
-     private delegate void efl_gfx_image_load_controller_load_scale_down_set_delegate(System.IntPtr obj, System.IntPtr pd,   int div);
+        
+        private delegate void efl_gfx_image_load_controller_load_scale_down_set_delegate(System.IntPtr obj, System.IntPtr pd,  int div);
 
+        
+        public delegate void efl_gfx_image_load_controller_load_scale_down_set_api_delegate(System.IntPtr obj,  int div);
 
-     public delegate void efl_gfx_image_load_controller_load_scale_down_set_api_delegate(System.IntPtr obj,   int div);
-     public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_scale_down_set_api_delegate> efl_gfx_image_load_controller_load_scale_down_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_scale_down_set_api_delegate>(_Module, "efl_gfx_image_load_controller_load_scale_down_set");
-     private static void load_scale_down_set(System.IntPtr obj, System.IntPtr pd,  int div)
-    {
-        Eina.Log.Debug("function efl_gfx_image_load_controller_load_scale_down_set was called");
-        Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
-        if(wrapper != null) {
-                                                
-            try {
-                ((IImageLoadController)wrapper).SetLoadScaleDown( div);
-            } catch (Exception e) {
-                Eina.Log.Warning($"Callback error: {e.ToString()}");
-                Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
-            }
-                                } else {
-            efl_gfx_image_load_controller_load_scale_down_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)),  div);
+        public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_scale_down_set_api_delegate> efl_gfx_image_load_controller_load_scale_down_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_scale_down_set_api_delegate>(Module, "efl_gfx_image_load_controller_load_scale_down_set");
+
+        private static void load_scale_down_set(System.IntPtr obj, System.IntPtr pd, int div)
+        {
+            Eina.Log.Debug("function efl_gfx_image_load_controller_load_scale_down_set was called");
+            var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
+            if (ws != null)
+            {
+                                    
+                try
+                {
+                    ((IImageLoadController)ws.Target).SetLoadScaleDown(div);
+                }
+                catch (Exception e)
+                {
+                    Eina.Log.Warning($"Callback error: {e.ToString()}");
+                    Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+                }
+
+                        
+            }
+            else
+            {
+                efl_gfx_image_load_controller_load_scale_down_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), div);
+            }
         }
-    }
-    private static efl_gfx_image_load_controller_load_scale_down_set_delegate efl_gfx_image_load_controller_load_scale_down_set_static_delegate;
 
+        private static efl_gfx_image_load_controller_load_scale_down_set_delegate efl_gfx_image_load_controller_load_scale_down_set_static_delegate;
 
-     [return: MarshalAs(UnmanagedType.U1)] private delegate bool efl_gfx_image_load_controller_load_skip_header_get_delegate(System.IntPtr obj, System.IntPtr pd);
+        [return: MarshalAs(UnmanagedType.U1)]
+        private delegate bool efl_gfx_image_load_controller_load_skip_header_get_delegate(System.IntPtr obj, System.IntPtr pd);
 
+        [return: MarshalAs(UnmanagedType.U1)]
+        public delegate bool efl_gfx_image_load_controller_load_skip_header_get_api_delegate(System.IntPtr obj);
+
+        public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_skip_header_get_api_delegate> efl_gfx_image_load_controller_load_skip_header_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_skip_header_get_api_delegate>(Module, "efl_gfx_image_load_controller_load_skip_header_get");
+
+        private static bool load_skip_header_get(System.IntPtr obj, System.IntPtr pd)
+        {
+            Eina.Log.Debug("function efl_gfx_image_load_controller_load_skip_header_get was called");
+            var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
+            if (ws != null)
+            {
+            bool _ret_var = default(bool);
+                try
+                {
+                    _ret_var = ((IImageLoadController)ws.Target).GetLoadSkipHeader();
+                }
+                catch (Exception e)
+                {
+                    Eina.Log.Warning($"Callback error: {e.ToString()}");
+                    Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+                }
 
-     [return: MarshalAs(UnmanagedType.U1)] public delegate bool efl_gfx_image_load_controller_load_skip_header_get_api_delegate(System.IntPtr obj);
-     public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_skip_header_get_api_delegate> efl_gfx_image_load_controller_load_skip_header_get_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_skip_header_get_api_delegate>(_Module, "efl_gfx_image_load_controller_load_skip_header_get");
-     private static bool load_skip_header_get(System.IntPtr obj, System.IntPtr pd)
-    {
-        Eina.Log.Debug("function efl_gfx_image_load_controller_load_skip_header_get was called");
-        Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
-        if(wrapper != null) {
-                        bool _ret_var = default(bool);
-            try {
-                _ret_var = ((IImageLoadController)wrapper).GetLoadSkipHeader();
-            } catch (Exception e) {
-                Eina.Log.Warning($"Callback error: {e.ToString()}");
-                Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
-            }
         return _ret_var;
-        } else {
-            return efl_gfx_image_load_controller_load_skip_header_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+
+            }
+            else
+            {
+                return efl_gfx_image_load_controller_load_skip_header_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+            }
         }
-    }
-    private static efl_gfx_image_load_controller_load_skip_header_get_delegate efl_gfx_image_load_controller_load_skip_header_get_static_delegate;
 
+        private static efl_gfx_image_load_controller_load_skip_header_get_delegate efl_gfx_image_load_controller_load_skip_header_get_static_delegate;
 
-     private delegate void efl_gfx_image_load_controller_load_skip_header_set_delegate(System.IntPtr obj, System.IntPtr pd,  [MarshalAs(UnmanagedType.U1)]  bool skip);
+        
+        private delegate void efl_gfx_image_load_controller_load_skip_header_set_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.U1)] bool skip);
 
+        
+        public delegate void efl_gfx_image_load_controller_load_skip_header_set_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.U1)] bool skip);
 
-     public delegate void efl_gfx_image_load_controller_load_skip_header_set_api_delegate(System.IntPtr obj,  [MarshalAs(UnmanagedType.U1)]  bool skip);
-     public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_skip_header_set_api_delegate> efl_gfx_image_load_controller_load_skip_header_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_skip_header_set_api_delegate>(_Module, "efl_gfx_image_load_controller_load_skip_header_set");
-     private static void load_skip_header_set(System.IntPtr obj, System.IntPtr pd,  bool skip)
-    {
-        Eina.Log.Debug("function efl_gfx_image_load_controller_load_skip_header_set was called");
-        Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
-        if(wrapper != null) {
-                                                
-            try {
-                ((IImageLoadController)wrapper).SetLoadSkipHeader( skip);
-            } catch (Exception e) {
-                Eina.Log.Warning($"Callback error: {e.ToString()}");
-                Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
-            }
-                                } else {
-            efl_gfx_image_load_controller_load_skip_header_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)),  skip);
+        public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_skip_header_set_api_delegate> efl_gfx_image_load_controller_load_skip_header_set_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_skip_header_set_api_delegate>(Module, "efl_gfx_image_load_controller_load_skip_header_set");
+
+        private static void load_skip_header_set(System.IntPtr obj, System.IntPtr pd, bool skip)
+        {
+            Eina.Log.Debug("function efl_gfx_image_load_controller_load_skip_header_set was called");
+            var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
+            if (ws != null)
+            {
+                                    
+                try
+                {
+                    ((IImageLoadController)ws.Target).SetLoadSkipHeader(skip);
+                }
+                catch (Exception e)
+                {
+                    Eina.Log.Warning($"Callback error: {e.ToString()}");
+                    Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+                }
+
+                        
+            }
+            else
+            {
+                efl_gfx_image_load_controller_load_skip_header_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), skip);
+            }
         }
-    }
-    private static efl_gfx_image_load_controller_load_skip_header_set_delegate efl_gfx_image_load_controller_load_skip_header_set_static_delegate;
 
+        private static efl_gfx_image_load_controller_load_skip_header_set_delegate efl_gfx_image_load_controller_load_skip_header_set_static_delegate;
 
-     private delegate void efl_gfx_image_load_controller_load_async_start_delegate(System.IntPtr obj, System.IntPtr pd);
+        
+        private delegate void efl_gfx_image_load_controller_load_async_start_delegate(System.IntPtr obj, System.IntPtr pd);
 
+        
+        public delegate void efl_gfx_image_load_controller_load_async_start_api_delegate(System.IntPtr obj);
 
-     public delegate void efl_gfx_image_load_controller_load_async_start_api_delegate(System.IntPtr obj);
-     public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_async_start_api_delegate> efl_gfx_image_load_controller_load_async_start_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_async_start_api_delegate>(_Module, "efl_gfx_image_load_controller_load_async_start");
-     private static void load_async_start(System.IntPtr obj, System.IntPtr pd)
-    {
-        Eina.Log.Debug("function efl_gfx_image_load_controller_load_async_start was called");
-        Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
-        if(wrapper != null) {
-                        
-            try {
-                ((IImageLoadController)wrapper).LoadAsyncStart();
-            } catch (Exception e) {
-                Eina.Log.Warning($"Callback error: {e.ToString()}");
-                Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
-            }
-                } else {
-            efl_gfx_image_load_controller_load_async_start_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+        public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_async_start_api_delegate> efl_gfx_image_load_controller_load_async_start_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_async_start_api_delegate>(Module, "efl_gfx_image_load_controller_load_async_start");
+
+        private static void load_async_start(System.IntPtr obj, System.IntPtr pd)
+        {
+            Eina.Log.Debug("function efl_gfx_image_load_controller_load_async_start was called");
+            var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
+            if (ws != null)
+            {
+            
+                try
+                {
+                    ((IImageLoadController)ws.Target).LoadAsyncStart();
+                }
+                catch (Exception e)
+                {
+                    Eina.Log.Warning($"Callback error: {e.ToString()}");
+                    Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+                }
+
+        
+            }
+            else
+            {
+                efl_gfx_image_load_controller_load_async_start_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+            }
         }
-    }
-    private static efl_gfx_image_load_controller_load_async_start_delegate efl_gfx_image_load_controller_load_async_start_static_delegate;
 
+        private static efl_gfx_image_load_controller_load_async_start_delegate efl_gfx_image_load_controller_load_async_start_static_delegate;
 
-     private delegate void efl_gfx_image_load_controller_load_async_cancel_delegate(System.IntPtr obj, System.IntPtr pd);
+        
+        private delegate void efl_gfx_image_load_controller_load_async_cancel_delegate(System.IntPtr obj, System.IntPtr pd);
 
+        
+        public delegate void efl_gfx_image_load_controller_load_async_cancel_api_delegate(System.IntPtr obj);
 
-     public delegate void efl_gfx_image_load_controller_load_async_cancel_api_delegate(System.IntPtr obj);
-     public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_async_cancel_api_delegate> efl_gfx_image_load_controller_load_async_cancel_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_async_cancel_api_delegate>(_Module, "efl_gfx_image_load_controller_load_async_cancel");
-     private static void load_async_cancel(System.IntPtr obj, System.IntPtr pd)
-    {
-        Eina.Log.Debug("function efl_gfx_image_load_controller_load_async_cancel was called");
-        Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.PrivateDataGet(pd);
-        if(wrapper != null) {
-                        
-            try {
-                ((IImageLoadController)wrapper).LoadAsyncCancel();
-            } catch (Exception e) {
-                Eina.Log.Warning($"Callback error: {e.ToString()}");
-                Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
-            }
-                } else {
-            efl_gfx_image_load_controller_load_async_cancel_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+        public static Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_async_cancel_api_delegate> efl_gfx_image_load_controller_load_async_cancel_ptr = new Efl.Eo.FunctionWrapper<efl_gfx_image_load_controller_load_async_cancel_api_delegate>(Module, "efl_gfx_image_load_controller_load_async_cancel");
+
+        private static void load_async_cancel(System.IntPtr obj, System.IntPtr pd)
+        {
+            Eina.Log.Debug("function efl_gfx_image_load_controller_load_async_cancel was called");
+            var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
+            if (ws != null)
+            {
+            
+                try
+                {
+                    ((IImageLoadController)ws.Target).LoadAsyncCancel();
+                }
+                catch (Exception e)
+                {
+                    Eina.Log.Warning($"Callback error: {e.ToString()}");
+                    Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
+                }
+
+        
+            }
+            else
+            {
+                efl_gfx_image_load_controller_load_async_cancel_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
+            }
         }
+
+        private static efl_gfx_image_load_controller_load_async_cancel_delegate efl_gfx_image_load_controller_load_async_cancel_static_delegate;
+
+        #pragma warning restore CA1707, CS1591, SA1300, SA1600
+
+}
+}
+}
+
+}
+
+#if EFL_BETA
+#pragma warning disable CS1591
+public static class Efl_GfxIImageLoadControllerConcrete_ExtensionMethods {
+    public static Efl.BindableProperty<Eina.Size2D> LoadSize<T>(this Efl.Ui.ItemFactory<T> fac, Efl.Csharp.ExtensionTag<Efl.Gfx.IImageLoadController, T>magic = null) where T : Efl.Gfx.IImageLoadController {
+        return new Efl.BindableProperty<Eina.Size2D>("load_size", fac);
+    }
+
+    public static Efl.BindableProperty<double> LoadDpi<T>(this Efl.Ui.ItemFactory<T> fac, Efl.Csharp.ExtensionTag<Efl.Gfx.IImageLoadController, T>magic = null) where T : Efl.Gfx.IImageLoadController {
+        return new Efl.BindableProperty<double>("load_dpi", fac);
+    }
+
+    
+    public static Efl.BindableProperty<Eina.Rect> LoadRegion<T>(this Efl.Ui.ItemFactory<T> fac, Efl.Csharp.ExtensionTag<Efl.Gfx.IImageLoadController, T>magic = null) where T : Efl.Gfx.IImageLoadController {
+        return new Efl.BindableProperty<Eina.Rect>("load_region", fac);
     }
-    private static efl_gfx_image_load_controller_load_async_cancel_delegate efl_gfx_image_load_controller_load_async_cancel_static_delegate;
+
+    public static Efl.BindableProperty<bool> LoadOrientation<T>(this Efl.Ui.ItemFactory<T> fac, Efl.Csharp.ExtensionTag<Efl.Gfx.IImageLoadController, T>magic = null) where T : Efl.Gfx.IImageLoadController {
+        return new Efl.BindableProperty<bool>("load_orientation", fac);
+    }
+
+    public static Efl.BindableProperty<int> LoadScaleDown<T>(this Efl.Ui.ItemFactory<T> fac, Efl.Csharp.ExtensionTag<Efl.Gfx.IImageLoadController, T>magic = null) where T : Efl.Gfx.IImageLoadController {
+        return new Efl.BindableProperty<int>("load_scale_down", fac);
+    }
+
+    public static Efl.BindableProperty<bool> LoadSkipHeader<T>(this Efl.Ui.ItemFactory<T> fac, Efl.Csharp.ExtensionTag<Efl.Gfx.IImageLoadController, T>magic = null) where T : Efl.Gfx.IImageLoadController {
+        return new Efl.BindableProperty<bool>("load_skip_header", fac);
+    }
+
 }
-} } 
+#pragma warning restore CS1591
+#endif