[EflSharp] Update Circle and efl cs files (#995)
[platform/core/csapi/tizenfx.git] / internals / src / EflSharp / EflSharp / efl / efl_ui_factory.eo.cs
1 #define EFL_BETA
2 #pragma warning disable CS1591
3 using System;
4 using System.Runtime.InteropServices;
5 using System.Collections.Generic;
6 using System.Linq;
7 using System.Threading;
8 using System.ComponentModel;
9 namespace Efl {
10
11 namespace Ui {
12
13 /// <summary>Efl UI factory interface</summary>
14 /// <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>
15 [Efl.Ui.IFactoryConcrete.NativeMethods]
16 [Efl.Eo.BindingEntity]
17 public interface IFactory : 
18     Efl.Ui.IFactoryBind ,
19     Efl.Ui.IPropertyBind ,
20     Efl.Eo.IWrapper, IDisposable
21 {
22     /// <summary>Create a UI object from the necessary properties in the specified model.
23 /// Note: This is the function you need to implement for a custom factory, but if you want to use a factory, you should rely on <see cref="Efl.Ui.ViewFactory.CreateWithEvent"/>.</summary>
24 /// <param name="models">Efl iterator providing the model to be associated to the new item. It should remain valid until the end of the function call.</param>
25 /// <param name="parent">Efl canvas</param>
26 /// <returns>Created UI object</returns>
27  Eina.Future Create(Eina.Iterator<Efl.IModel> models, Efl.Gfx.IEntity parent);
28     /// <summary>Release a UI object and disconnect from models.</summary>
29 /// <param name="ui_view">Efl canvas</param>
30 void Release(Efl.Gfx.IEntity ui_view);
31     /// <summary>This function is called during the creation of an UI object between the Efl.Object.constructor and <see cref="Efl.Object.FinalizeAdd"/> call.
32 /// Note: if the <see cref="Efl.Ui.IFactory"/> does keep a cache of object, this won&apos;t be called when object are pulled out of the cache.</summary>
33 /// <param name="ui_view">The UI object being created.</param>
34 void Building(Efl.Gfx.IEntity ui_view);
35         /// <summary>Async wrapper for <see cref="Create" />.</summary>
36     /// <param name="models">Efl iterator providing the model to be associated to the new item. It should remain valid until the end of the function call.</param>
37     /// <param name="parent">Efl canvas</param>
38     /// <param name="token">Token to notify the async operation of external request to cancel.</param>
39     /// <returns>An async task wrapping the result of the operation.</returns>
40     System.Threading.Tasks.Task<Eina.Value> CreateAsync(Eina.Iterator<Efl.IModel> models,Efl.Gfx.IEntity parent, System.Threading.CancellationToken token = default(System.Threading.CancellationToken));
41
42             /// <summary>Event triggered when an item has been successfully created.</summary>
43     /// <value><see cref="Efl.Ui.IFactoryCreatedEvt_Args"/></value>
44     event EventHandler<Efl.Ui.IFactoryCreatedEvt_Args> CreatedEvt;
45 }
46 /// <summary>Event argument wrapper for event <see cref="Efl.Ui.IFactory.CreatedEvt"/>.</summary>
47 [Efl.Eo.BindingEntity]
48 public class IFactoryCreatedEvt_Args : EventArgs {
49     /// <summary>Actual event payload.</summary>
50     /// <value>Event triggered when an item has been successfully created.</value>
51     public Efl.Ui.FactoryItemCreatedEvent arg { get; set; }
52 }
53 /// <summary>Efl UI factory interface</summary>
54 /// <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>
55 sealed public  class IFactoryConcrete :
56     Efl.Eo.EoWrapper
57     , IFactory
58     , Efl.Ui.IFactoryBind, Efl.Ui.IPropertyBind
59 {
60     /// <summary>Pointer to the native class description.</summary>
61     public override System.IntPtr NativeClass
62     {
63         get
64         {
65             if (((object)this).GetType() == typeof(IFactoryConcrete))
66             {
67                 return GetEflClassStatic();
68             }
69             else
70             {
71                 return Efl.Eo.ClassRegister.klassFromType[((object)this).GetType()];
72             }
73         }
74     }
75
76     /// <summary>Subclasses should override this constructor if they are expected to be instantiated from native code.
77     /// Do not call this constructor directly.</summary>
78     /// <param name="ch">Tag struct storing the native handle of the object being constructed.</param>
79     private IFactoryConcrete(ConstructingHandle ch) : base(ch)
80     {
81     }
82
83     [System.Runtime.InteropServices.DllImport("libefl.so.1")] internal static extern System.IntPtr
84         efl_ui_factory_interface_get();
85     /// <summary>Initializes a new instance of the <see cref="IFactory"/> class.
86     /// Internal usage: This is used when interacting with C code and should not be used directly.</summary>
87     /// <param name="wh">The native pointer to be wrapped.</param>
88     private IFactoryConcrete(Efl.Eo.Globals.WrappingHandle wh) : base(wh)
89     {
90     }
91
92     /// <summary>Event triggered when an item has been successfully created.</summary>
93     /// <value><see cref="Efl.Ui.IFactoryCreatedEvt_Args"/></value>
94     public event EventHandler<Efl.Ui.IFactoryCreatedEvt_Args> CreatedEvt
95     {
96         add
97         {
98             lock (eflBindingEventLock)
99             {
100                 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
101                 {
102                     var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
103                     if (obj != null)
104                     {
105                         Efl.Ui.IFactoryCreatedEvt_Args args = new Efl.Ui.IFactoryCreatedEvt_Args();
106                         args.arg =  evt.Info;
107                         try
108                         {
109                             value?.Invoke(obj, args);
110                         }
111                         catch (Exception e)
112                         {
113                             Eina.Log.Error(e.ToString());
114                             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
115                         }
116                     }
117                 };
118
119                 string key = "_EFL_UI_FACTORY_EVENT_CREATED";
120                 AddNativeEventHandler(efl.Libs.Efl, key, callerCb, value);
121             }
122         }
123
124         remove
125         {
126             lock (eflBindingEventLock)
127             {
128                 string key = "_EFL_UI_FACTORY_EVENT_CREATED";
129                 RemoveNativeEventHandler(efl.Libs.Efl, key, value);
130             }
131         }
132     }
133     /// <summary>Method to raise event CreatedEvt.</summary>
134     public void OnCreatedEvt(Efl.Ui.IFactoryCreatedEvt_Args e)
135     {
136         var key = "_EFL_UI_FACTORY_EVENT_CREATED";
137         IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Efl, key);
138         if (desc == IntPtr.Zero)
139         {
140             Eina.Log.Error($"Failed to get native event {key}");
141             return;
142         }
143
144         IntPtr info = Marshal.AllocHGlobal(Marshal.SizeOf(e.arg));
145         try
146         {
147             Marshal.StructureToPtr(e.arg, info, false);
148             Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
149         }
150         finally
151         {
152             Marshal.FreeHGlobal(info);
153         }
154     }
155     /// <summary>Event dispatched when a property on the object has changed due to an user interaction on the object that a model could be interested in.</summary>
156     /// <value><see cref="Efl.Ui.IPropertyBindPropertiesChangedEvt_Args"/></value>
157     public event EventHandler<Efl.Ui.IPropertyBindPropertiesChangedEvt_Args> PropertiesChangedEvt
158     {
159         add
160         {
161             lock (eflBindingEventLock)
162             {
163                 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
164                 {
165                     var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
166                     if (obj != null)
167                     {
168                         Efl.Ui.IPropertyBindPropertiesChangedEvt_Args args = new Efl.Ui.IPropertyBindPropertiesChangedEvt_Args();
169                         args.arg =  evt.Info;
170                         try
171                         {
172                             value?.Invoke(obj, args);
173                         }
174                         catch (Exception e)
175                         {
176                             Eina.Log.Error(e.ToString());
177                             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
178                         }
179                     }
180                 };
181
182                 string key = "_EFL_UI_PROPERTY_BIND_EVENT_PROPERTIES_CHANGED";
183                 AddNativeEventHandler(efl.Libs.Efl, key, callerCb, value);
184             }
185         }
186
187         remove
188         {
189             lock (eflBindingEventLock)
190             {
191                 string key = "_EFL_UI_PROPERTY_BIND_EVENT_PROPERTIES_CHANGED";
192                 RemoveNativeEventHandler(efl.Libs.Efl, key, value);
193             }
194         }
195     }
196     /// <summary>Method to raise event PropertiesChangedEvt.</summary>
197     public void OnPropertiesChangedEvt(Efl.Ui.IPropertyBindPropertiesChangedEvt_Args e)
198     {
199         var key = "_EFL_UI_PROPERTY_BIND_EVENT_PROPERTIES_CHANGED";
200         IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Efl, key);
201         if (desc == IntPtr.Zero)
202         {
203             Eina.Log.Error($"Failed to get native event {key}");
204             return;
205         }
206
207         IntPtr info = Marshal.AllocHGlobal(Marshal.SizeOf(e.arg));
208         try
209         {
210             Marshal.StructureToPtr(e.arg, info, false);
211             Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
212         }
213         finally
214         {
215             Marshal.FreeHGlobal(info);
216         }
217     }
218     /// <summary>Event dispatched when a property on the object is bound to a model. This is useful to not overgenerate event.</summary>
219     /// <value><see cref="Efl.Ui.IPropertyBindPropertyBoundEvt_Args"/></value>
220     public event EventHandler<Efl.Ui.IPropertyBindPropertyBoundEvt_Args> PropertyBoundEvt
221     {
222         add
223         {
224             lock (eflBindingEventLock)
225             {
226                 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
227                 {
228                     var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
229                     if (obj != null)
230                     {
231                         Efl.Ui.IPropertyBindPropertyBoundEvt_Args args = new Efl.Ui.IPropertyBindPropertyBoundEvt_Args();
232                         args.arg = Eina.StringConversion.NativeUtf8ToManagedString(evt.Info);
233                         try
234                         {
235                             value?.Invoke(obj, args);
236                         }
237                         catch (Exception e)
238                         {
239                             Eina.Log.Error(e.ToString());
240                             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
241                         }
242                     }
243                 };
244
245                 string key = "_EFL_UI_PROPERTY_BIND_EVENT_PROPERTY_BOUND";
246                 AddNativeEventHandler(efl.Libs.Efl, key, callerCb, value);
247             }
248         }
249
250         remove
251         {
252             lock (eflBindingEventLock)
253             {
254                 string key = "_EFL_UI_PROPERTY_BIND_EVENT_PROPERTY_BOUND";
255                 RemoveNativeEventHandler(efl.Libs.Efl, key, value);
256             }
257         }
258     }
259     /// <summary>Method to raise event PropertyBoundEvt.</summary>
260     public void OnPropertyBoundEvt(Efl.Ui.IPropertyBindPropertyBoundEvt_Args e)
261     {
262         var key = "_EFL_UI_PROPERTY_BIND_EVENT_PROPERTY_BOUND";
263         IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Efl, key);
264         if (desc == IntPtr.Zero)
265         {
266             Eina.Log.Error($"Failed to get native event {key}");
267             return;
268         }
269
270         IntPtr info = Eina.StringConversion.ManagedStringToNativeUtf8Alloc(e.arg);
271         try
272         {
273             Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
274         }
275         finally
276         {
277             Eina.MemoryNative.Free(info);
278         }
279     }
280     /// <summary>Create a UI object from the necessary properties in the specified model.
281     /// Note: This is the function you need to implement for a custom factory, but if you want to use a factory, you should rely on <see cref="Efl.Ui.ViewFactory.CreateWithEvent"/>.</summary>
282     /// <param name="models">Efl iterator providing the model to be associated to the new item. It should remain valid until the end of the function call.</param>
283     /// <param name="parent">Efl canvas</param>
284     /// <returns>Created UI object</returns>
285     public  Eina.Future Create(Eina.Iterator<Efl.IModel> models, Efl.Gfx.IEntity parent) {
286          var _in_models = models.Handle;
287                                                 var _ret_var = Efl.Ui.IFactoryConcrete.NativeMethods.efl_ui_factory_create_ptr.Value.Delegate(this.NativeHandle,_in_models, parent);
288         Eina.Error.RaiseIfUnhandledException();
289                                         return _ret_var;
290  }
291     /// <summary>Release a UI object and disconnect from models.</summary>
292     /// <param name="ui_view">Efl canvas</param>
293     public void Release(Efl.Gfx.IEntity ui_view) {
294                                  Efl.Ui.IFactoryConcrete.NativeMethods.efl_ui_factory_release_ptr.Value.Delegate(this.NativeHandle,ui_view);
295         Eina.Error.RaiseIfUnhandledException();
296                          }
297     /// <summary>This function is called during the creation of an UI object between the Efl.Object.constructor and <see cref="Efl.Object.FinalizeAdd"/> call.
298     /// Note: if the <see cref="Efl.Ui.IFactory"/> does keep a cache of object, this won&apos;t be called when object are pulled out of the cache.</summary>
299     /// <param name="ui_view">The UI object being created.</param>
300     public void Building(Efl.Gfx.IEntity ui_view) {
301                                  Efl.Ui.IFactoryConcrete.NativeMethods.efl_ui_factory_building_ptr.Value.Delegate(this.NativeHandle,ui_view);
302         Eina.Error.RaiseIfUnhandledException();
303                          }
304     /// <summary>bind the factory with the given key string. when the data is ready or changed, factory create the object and bind the data to the key action and process promised work. Note: the input <see cref="Efl.Ui.IFactory"/> need to be <see cref="Efl.Ui.IPropertyBind.PropertyBind"/> at least once.</summary>
305     /// <param name="key">Key string for bind model property data</param>
306     /// <param name="factory"><see cref="Efl.Ui.IFactory"/> for create and bind model property data</param>
307     public void FactoryBind(System.String key, Efl.Ui.IFactory factory) {
308                                                          Efl.Ui.IFactoryBindConcrete.NativeMethods.efl_ui_factory_bind_ptr.Value.Delegate(this.NativeHandle,key, factory);
309         Eina.Error.RaiseIfUnhandledException();
310                                          }
311     /// <summary>bind property data with the given key string. when the data is ready or changed, bind the data to the key action and process promised work.</summary>
312     /// <param name="key">key string for bind model property data</param>
313     /// <param name="property">Model property name</param>
314     /// <returns>0 when it succeed, an error code otherwise.</returns>
315     public Eina.Error PropertyBind(System.String key, System.String property) {
316                                                          var _ret_var = Efl.Ui.IPropertyBindConcrete.NativeMethods.efl_ui_property_bind_ptr.Value.Delegate(this.NativeHandle,key, property);
317         Eina.Error.RaiseIfUnhandledException();
318                                         return _ret_var;
319  }
320     /// <summary>Async wrapper for <see cref="Create" />.</summary>
321     /// <param name="models">Efl iterator providing the model to be associated to the new item. It should remain valid until the end of the function call.</param>
322     /// <param name="parent">Efl canvas</param>
323     /// <param name="token">Token to notify the async operation of external request to cancel.</param>
324     /// <returns>An async task wrapping the result of the operation.</returns>
325     public System.Threading.Tasks.Task<Eina.Value> CreateAsync(Eina.Iterator<Efl.IModel> models,Efl.Gfx.IEntity parent, System.Threading.CancellationToken token = default(System.Threading.CancellationToken))
326     {
327         Eina.Future future = Create( models, parent);
328         return Efl.Eo.Globals.WrapAsync(future, token);
329     }
330
331     private static IntPtr GetEflClassStatic()
332     {
333         return Efl.Ui.IFactoryConcrete.efl_ui_factory_interface_get();
334     }
335     /// <summary>Wrapper for native methods and virtual method delegates.
336     /// For internal use by generated code only.</summary>
337     public new class NativeMethods : Efl.Eo.EoWrapper.NativeMethods
338     {
339         private static Efl.Eo.NativeModule Module = new Efl.Eo.NativeModule(    efl.Libs.Efl);
340         /// <summary>Gets the list of Eo operations to override.</summary>
341         /// <returns>The list of Eo operations to be overload.</returns>
342         public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)
343         {
344             var descs = new System.Collections.Generic.List<Efl_Op_Description>();
345             var methods = Efl.Eo.Globals.GetUserMethods(type);
346
347             if (efl_ui_factory_create_static_delegate == null)
348             {
349                 efl_ui_factory_create_static_delegate = new efl_ui_factory_create_delegate(create);
350             }
351
352             if (methods.FirstOrDefault(m => m.Name == "Create") != null)
353             {
354                 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_ui_factory_create"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_factory_create_static_delegate) });
355             }
356
357             if (efl_ui_factory_release_static_delegate == null)
358             {
359                 efl_ui_factory_release_static_delegate = new efl_ui_factory_release_delegate(release);
360             }
361
362             if (methods.FirstOrDefault(m => m.Name == "Release") != null)
363             {
364                 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_ui_factory_release"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_factory_release_static_delegate) });
365             }
366
367             if (efl_ui_factory_building_static_delegate == null)
368             {
369                 efl_ui_factory_building_static_delegate = new efl_ui_factory_building_delegate(building);
370             }
371
372             if (methods.FirstOrDefault(m => m.Name == "Building") != null)
373             {
374                 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_ui_factory_building"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_factory_building_static_delegate) });
375             }
376
377             if (efl_ui_factory_bind_static_delegate == null)
378             {
379                 efl_ui_factory_bind_static_delegate = new efl_ui_factory_bind_delegate(factory_bind);
380             }
381
382             if (methods.FirstOrDefault(m => m.Name == "FactoryBind") != null)
383             {
384                 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_ui_factory_bind"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_factory_bind_static_delegate) });
385             }
386
387             if (efl_ui_property_bind_static_delegate == null)
388             {
389                 efl_ui_property_bind_static_delegate = new efl_ui_property_bind_delegate(property_bind);
390             }
391
392             if (methods.FirstOrDefault(m => m.Name == "PropertyBind") != null)
393             {
394                 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_ui_property_bind"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_property_bind_static_delegate) });
395             }
396
397             return descs;
398         }
399         /// <summary>Returns the Eo class for the native methods of this class.</summary>
400         /// <returns>The native class pointer.</returns>
401         public override IntPtr GetEflClass()
402         {
403             return Efl.Ui.IFactoryConcrete.efl_ui_factory_interface_get();
404         }
405
406         #pragma warning disable CA1707, CS1591, SA1300, SA1600
407
408         [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Eina.FutureMarshaler))]
409         private delegate  Eina.Future efl_ui_factory_create_delegate(System.IntPtr obj, System.IntPtr pd,  System.IntPtr models, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalEo<Efl.Eo.NonOwnTag>))] Efl.Gfx.IEntity parent);
410
411         [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Eina.FutureMarshaler))]
412         public delegate  Eina.Future efl_ui_factory_create_api_delegate(System.IntPtr obj,  System.IntPtr models, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalEo<Efl.Eo.NonOwnTag>))] Efl.Gfx.IEntity parent);
413
414         public static Efl.Eo.FunctionWrapper<efl_ui_factory_create_api_delegate> efl_ui_factory_create_ptr = new Efl.Eo.FunctionWrapper<efl_ui_factory_create_api_delegate>(Module, "efl_ui_factory_create");
415
416         private static  Eina.Future create(System.IntPtr obj, System.IntPtr pd, System.IntPtr models, Efl.Gfx.IEntity parent)
417         {
418             Eina.Log.Debug("function efl_ui_factory_create was called");
419             var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
420             if (ws != null)
421             {
422         var _in_models = new Eina.Iterator<Efl.IModel>(models, false);
423                                                      Eina.Future _ret_var = default( Eina.Future);
424                 try
425                 {
426                     _ret_var = ((IFactory)ws.Target).Create(_in_models, parent);
427                 }
428                 catch (Exception e)
429                 {
430                     Eina.Log.Warning($"Callback error: {e.ToString()}");
431                     Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
432                 }
433
434                                         return _ret_var;
435
436             }
437             else
438             {
439                 return efl_ui_factory_create_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), models, parent);
440             }
441         }
442
443         private static efl_ui_factory_create_delegate efl_ui_factory_create_static_delegate;
444
445         
446         private delegate void efl_ui_factory_release_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalEo<Efl.Eo.NonOwnTag>))] Efl.Gfx.IEntity ui_view);
447
448         
449         public delegate void efl_ui_factory_release_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalEo<Efl.Eo.NonOwnTag>))] Efl.Gfx.IEntity ui_view);
450
451         public static Efl.Eo.FunctionWrapper<efl_ui_factory_release_api_delegate> efl_ui_factory_release_ptr = new Efl.Eo.FunctionWrapper<efl_ui_factory_release_api_delegate>(Module, "efl_ui_factory_release");
452
453         private static void release(System.IntPtr obj, System.IntPtr pd, Efl.Gfx.IEntity ui_view)
454         {
455             Eina.Log.Debug("function efl_ui_factory_release was called");
456             var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
457             if (ws != null)
458             {
459                                     
460                 try
461                 {
462                     ((IFactory)ws.Target).Release(ui_view);
463                 }
464                 catch (Exception e)
465                 {
466                     Eina.Log.Warning($"Callback error: {e.ToString()}");
467                     Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
468                 }
469
470                         
471             }
472             else
473             {
474                 efl_ui_factory_release_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), ui_view);
475             }
476         }
477
478         private static efl_ui_factory_release_delegate efl_ui_factory_release_static_delegate;
479
480         
481         private delegate void efl_ui_factory_building_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalEo<Efl.Eo.NonOwnTag>))] Efl.Gfx.IEntity ui_view);
482
483         
484         public delegate void efl_ui_factory_building_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalEo<Efl.Eo.NonOwnTag>))] Efl.Gfx.IEntity ui_view);
485
486         public static Efl.Eo.FunctionWrapper<efl_ui_factory_building_api_delegate> efl_ui_factory_building_ptr = new Efl.Eo.FunctionWrapper<efl_ui_factory_building_api_delegate>(Module, "efl_ui_factory_building");
487
488         private static void building(System.IntPtr obj, System.IntPtr pd, Efl.Gfx.IEntity ui_view)
489         {
490             Eina.Log.Debug("function efl_ui_factory_building was called");
491             var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
492             if (ws != null)
493             {
494                                     
495                 try
496                 {
497                     ((IFactory)ws.Target).Building(ui_view);
498                 }
499                 catch (Exception e)
500                 {
501                     Eina.Log.Warning($"Callback error: {e.ToString()}");
502                     Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
503                 }
504
505                         
506             }
507             else
508             {
509                 efl_ui_factory_building_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), ui_view);
510             }
511         }
512
513         private static efl_ui_factory_building_delegate efl_ui_factory_building_static_delegate;
514
515         
516         private delegate void efl_ui_factory_bind_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String key, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalEo<Efl.Eo.NonOwnTag>))] Efl.Ui.IFactory factory);
517
518         
519         public delegate void efl_ui_factory_bind_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String key, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalEo<Efl.Eo.NonOwnTag>))] Efl.Ui.IFactory factory);
520
521         public static Efl.Eo.FunctionWrapper<efl_ui_factory_bind_api_delegate> efl_ui_factory_bind_ptr = new Efl.Eo.FunctionWrapper<efl_ui_factory_bind_api_delegate>(Module, "efl_ui_factory_bind");
522
523         private static void factory_bind(System.IntPtr obj, System.IntPtr pd, System.String key, Efl.Ui.IFactory factory)
524         {
525             Eina.Log.Debug("function efl_ui_factory_bind was called");
526             var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
527             if (ws != null)
528             {
529                                                             
530                 try
531                 {
532                     ((IFactory)ws.Target).FactoryBind(key, factory);
533                 }
534                 catch (Exception e)
535                 {
536                     Eina.Log.Warning($"Callback error: {e.ToString()}");
537                     Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
538                 }
539
540                                         
541             }
542             else
543             {
544                 efl_ui_factory_bind_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), key, factory);
545             }
546         }
547
548         private static efl_ui_factory_bind_delegate efl_ui_factory_bind_static_delegate;
549
550         
551         private delegate Eina.Error efl_ui_property_bind_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String key, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String property);
552
553         
554         public delegate Eina.Error efl_ui_property_bind_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String key, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String property);
555
556         public static Efl.Eo.FunctionWrapper<efl_ui_property_bind_api_delegate> efl_ui_property_bind_ptr = new Efl.Eo.FunctionWrapper<efl_ui_property_bind_api_delegate>(Module, "efl_ui_property_bind");
557
558         private static Eina.Error property_bind(System.IntPtr obj, System.IntPtr pd, System.String key, System.String property)
559         {
560             Eina.Log.Debug("function efl_ui_property_bind was called");
561             var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
562             if (ws != null)
563             {
564                                                             Eina.Error _ret_var = default(Eina.Error);
565                 try
566                 {
567                     _ret_var = ((IFactory)ws.Target).PropertyBind(key, property);
568                 }
569                 catch (Exception e)
570                 {
571                     Eina.Log.Warning($"Callback error: {e.ToString()}");
572                     Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
573                 }
574
575                                         return _ret_var;
576
577             }
578             else
579             {
580                 return efl_ui_property_bind_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), key, property);
581             }
582         }
583
584         private static efl_ui_property_bind_delegate efl_ui_property_bind_static_delegate;
585
586         #pragma warning restore CA1707, CS1591, SA1300, SA1600
587
588 }
589 }
590 }
591
592 }
593
594 #if EFL_BETA
595 #pragma warning disable CS1591
596 public static class Efl_UiIFactoryConcrete_ExtensionMethods {
597 }
598 #pragma warning restore CS1591
599 #endif
600 namespace Efl {
601
602 namespace Ui {
603
604 /// <summary>EFL Ui Factory event structure provided when an item was just created.</summary>
605 [StructLayout(LayoutKind.Sequential)]
606 [Efl.Eo.BindingEntity]
607 public struct FactoryItemCreatedEvent
608 {
609     /// <summary>The model already set on the new item.</summary>
610     public Efl.IModel Model;
611     /// <summary>The item that was just created.</summary>
612     public Efl.Gfx.IEntity Item;
613     /// <summary>Constructor for FactoryItemCreatedEvent.</summary>
614     /// <param name="Model">The model already set on the new item.</param>;
615     /// <param name="Item">The item that was just created.</param>;
616     public FactoryItemCreatedEvent(
617         Efl.IModel Model = default(Efl.IModel),
618         Efl.Gfx.IEntity Item = default(Efl.Gfx.IEntity)    )
619     {
620         this.Model = Model;
621         this.Item = Item;
622     }
623
624     /// <summary>Implicit conversion to the managed representation from a native pointer.</summary>
625     /// <param name="ptr">Native pointer to be converted.</param>
626     public static implicit operator FactoryItemCreatedEvent(IntPtr ptr)
627     {
628         var tmp = (FactoryItemCreatedEvent.NativeStruct)Marshal.PtrToStructure(ptr, typeof(FactoryItemCreatedEvent.NativeStruct));
629         return tmp;
630     }
631
632     #pragma warning disable CS1591
633
634     /// <summary>Internal wrapper for struct FactoryItemCreatedEvent.</summary>
635     [StructLayout(LayoutKind.Sequential)]
636     public struct NativeStruct
637     {
638         /// <summary>Internal wrapper for field Model</summary>
639         public System.IntPtr Model;
640         /// <summary>Internal wrapper for field Item</summary>
641         public System.IntPtr Item;
642         /// <summary>Implicit conversion to the internal/marshalling representation.</summary>
643         public static implicit operator FactoryItemCreatedEvent.NativeStruct(FactoryItemCreatedEvent _external_struct)
644         {
645             var _internal_struct = new FactoryItemCreatedEvent.NativeStruct();
646             _internal_struct.Model = _external_struct.Model?.NativeHandle ?? System.IntPtr.Zero;
647             _internal_struct.Item = _external_struct.Item?.NativeHandle ?? System.IntPtr.Zero;
648             return _internal_struct;
649         }
650
651         /// <summary>Implicit conversion to the managed representation.</summary>
652         public static implicit operator FactoryItemCreatedEvent(FactoryItemCreatedEvent.NativeStruct _internal_struct)
653         {
654             var _external_struct = new FactoryItemCreatedEvent();
655
656             _external_struct.Model = (Efl.IModelConcrete) Efl.Eo.Globals.CreateWrapperFor(_internal_struct.Model);
657
658             _external_struct.Item = (Efl.Gfx.IEntityConcrete) Efl.Eo.Globals.CreateWrapperFor(_internal_struct.Item);
659             return _external_struct;
660         }
661
662     }
663
664     #pragma warning restore CS1591
665
666 }
667
668 }
669
670 }
671