1 #pragma warning disable CS1591
3 using System.Runtime.InteropServices;
4 using System.Collections.Generic;
6 using System.Threading;
7 using System.ComponentModel;
8 /// <param name="kw_object">The object the callback is being triggered from.</param>
9 /// <param name="emission">The name component of the signal.</param>
10 /// <param name="source">The source of a signal used as context.</param>
11 public delegate void EflLayoutSignalCb(Efl.Layout.ISignal kw_object, System.String emission, System.String source);
12 public delegate void EflLayoutSignalCbInternal(IntPtr data, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalEo<Efl.Eo.NonOwnTag>))] Efl.Layout.ISignal kw_object, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String emission, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String source);
13 internal class EflLayoutSignalCbWrapper : IDisposable
16 private EflLayoutSignalCbInternal _cb;
17 private IntPtr _cb_data;
18 private EinaFreeCb _cb_free_cb;
20 internal EflLayoutSignalCbWrapper (EflLayoutSignalCbInternal _cb, IntPtr _cb_data, EinaFreeCb _cb_free_cb)
23 this._cb_data = _cb_data;
24 this._cb_free_cb = _cb_free_cb;
27 ~EflLayoutSignalCbWrapper()
32 protected virtual void Dispose(bool disposing)
34 if (this._cb_free_cb != null)
38 this._cb_free_cb(this._cb_data);
42 Efl.Eo.Globals.ThreadSafeFreeCbExec(this._cb_free_cb, this._cb_data);
44 this._cb_free_cb = null;
45 this._cb_data = IntPtr.Zero;
53 GC.SuppressFinalize(this);
56 internal void ManagedCb(Efl.Layout.ISignal kw_object,System.String emission,System.String source)
58 _cb(_cb_data, kw_object, emission, source);
59 Eina.Error.RaiseIfUnhandledException();
62 internal static void Cb(IntPtr cb_data, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalEo<Efl.Eo.NonOwnTag>))] Efl.Layout.ISignal kw_object, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String emission, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String source)
64 GCHandle handle = GCHandle.FromIntPtr(cb_data);
65 EflLayoutSignalCb cb = (EflLayoutSignalCb)handle.Target;
68 cb(kw_object, emission, source);
69 } catch (Exception e) {
70 Eina.Log.Warning($"Callback error: {e.ToString()}");
71 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
81 /// <summary>Layouts asynchronous messaging and signaling interface.
82 /// (Since EFL 1.22)</summary>
83 [Efl.Layout.ISignalConcrete.NativeMethods]
84 public interface ISignal :
85 Efl.Eo.IWrapper, IDisposable
87 /// <summary>Sends an (Edje) message to a given Edje object
88 /// This function sends an Edje message to obj and to all of its child objects, if it has any (swallowed objects are one kind of child object). Only a few types are supported: - int, - float/double, - string/stringshare, - arrays of int, float, double or strings.
90 /// Messages can go both ways, from code to theme, or theme to code.
92 /// The id argument as a form of code and theme defining a common interface on message communication. One should define the same IDs on both code and EDC declaration, to individualize messages (binding them to a given context).
93 /// (Since EFL 1.22)</summary>
94 /// <param name="id">A identification number for the message to be sent</param>
95 /// <param name="msg">The message's payload</param>
96 void MessageSend(int id, Eina.Value msg);
97 /// <summary>Adds a callback for an arriving Edje signal, emitted by a given Edje object.
98 /// Edje signals are one of the communication interfaces between code and a given Edje object's theme. With signals, one can communicate two string values at a time, which are: - "emission" value: the name of the signal, in general - "source" value: a name for the signal's context, in general
100 /// Signals can go both ways, from code to theme, or theme to code.
102 /// Though there are those common uses for the two strings, one is free to use them however they like.
104 /// Signal callback registration is powerful, in the way that blobs may be used to match multiple signals at once. All the "*?[" set of <c>fnmatch</c>() operators can be used, both for emission and source.
106 /// Edje has internal signals it will emit, automatically, on various actions taking place on group parts. For example, the mouse cursor being moved, pressed, released, etc., over a given part's area, all generate individual signals.
108 /// With something like emission = "mouse,down,*", source = "button.*" where "button.*" is the pattern for the names of parts implementing buttons on an interface, you'd be registering for notifications on events of mouse buttons being pressed down on either of those parts (those events all have the "mouse,down," common prefix on their names, with a suffix giving the button number). The actual emission and source strings of an event will be passed in as the emission and source parameters of the callback function (e.g. "mouse,down,2" and "button.close"), for each of those events.
110 /// See also the Edje Data Collection Reference for EDC files.
112 /// See <see cref="Efl.Layout.ISignal.EmitSignal"/> on how to emit signals from code to a an object See <see cref="Efl.Layout.ISignal.DelSignalCallback"/>.
113 /// (Since EFL 1.22)</summary>
114 /// <param name="emission">The signal's "emission" string</param>
115 /// <param name="source">The signal's "source" string</param>
116 /// <param name="func">The callback function to be executed when the signal is emitted.</param>
117 /// <returns><c>true</c> in case of success, <c>false</c> in case of error.</returns>
118 bool AddSignalCallback(System.String emission, System.String source, EflLayoutSignalCb func);
119 /// <summary>Removes a signal-triggered callback from an object.
120 /// This function removes a callback, previously attached to the emission of a signal, from the object obj. The parameters emission, source and func must match exactly those passed to a previous call to <see cref="Efl.Layout.ISignal.AddSignalCallback"/>.
122 /// See <see cref="Efl.Layout.ISignal.AddSignalCallback"/>.
123 /// (Since EFL 1.22)</summary>
124 /// <param name="emission">The signal's "emission" string</param>
125 /// <param name="source">The signal's "source" string</param>
126 /// <param name="func">The callback function to be executed when the signal is emitted.</param>
127 /// <returns><c>true</c> in case of success, <c>false</c> in case of error.</returns>
128 bool DelSignalCallback(System.String emission, System.String source, EflLayoutSignalCb func);
129 /// <summary>Sends/emits an Edje signal to this layout.
130 /// This function sends a signal to the object. An Edje program, at the EDC specification level, can respond to a signal by having declared matching "signal" and "source" fields on its block.
132 /// See also the Edje Data Collection Reference for EDC files.
134 /// See <see cref="Efl.Layout.ISignal.AddSignalCallback"/> for more on Edje signals.
135 /// (Since EFL 1.22)</summary>
136 /// <param name="emission">The signal's "emission" string</param>
137 /// <param name="source">The signal's "source" string</param>
138 void EmitSignal(System.String emission, System.String source);
139 /// <summary>Processes an object's messages and signals queue.
140 /// This function goes through the object message queue processing the pending messages for this specific Edje object. Normally they'd be processed only at idle time.
142 /// If <c>recurse</c> is <c>true</c>, this function will be called recursively on all subobjects.
143 /// (Since EFL 1.22)</summary>
144 /// <param name="recurse">Whether to process messages on children objects.</param>
145 void SignalProcess(bool recurse);
147 /// <summary>Layouts asynchronous messaging and signaling interface.
148 /// (Since EFL 1.22)</summary>
149 sealed public class ISignalConcrete :
154 ///<summary>Pointer to the native class description.</summary>
155 public override System.IntPtr NativeClass
159 if (((object)this).GetType() == typeof(ISignalConcrete))
161 return GetEflClassStatic();
165 return Efl.Eo.ClassRegister.klassFromType[((object)this).GetType()];
170 [System.Runtime.InteropServices.DllImport(efl.Libs.Edje)] internal static extern System.IntPtr
171 efl_layout_signal_interface_get();
172 /// <summary>Initializes a new instance of the <see cref="ISignal"/> class.
173 /// Internal usage: This is used when interacting with C code and should not be used directly.</summary>
174 private ISignalConcrete(System.IntPtr raw) : base(raw)
178 /// <summary>Sends an (Edje) message to a given Edje object
179 /// This function sends an Edje message to obj and to all of its child objects, if it has any (swallowed objects are one kind of child object). Only a few types are supported: - int, - float/double, - string/stringshare, - arrays of int, float, double or strings.
181 /// Messages can go both ways, from code to theme, or theme to code.
183 /// The id argument as a form of code and theme defining a common interface on message communication. One should define the same IDs on both code and EDC declaration, to individualize messages (binding them to a given context).
184 /// (Since EFL 1.22)</summary>
185 /// <param name="id">A identification number for the message to be sent</param>
186 /// <param name="msg">The message's payload</param>
187 public void MessageSend(int id, Eina.Value msg) {
188 Efl.Layout.ISignalConcrete.NativeMethods.efl_layout_signal_message_send_ptr.Value.Delegate(this.NativeHandle,id, msg);
189 Eina.Error.RaiseIfUnhandledException();
191 /// <summary>Adds a callback for an arriving Edje signal, emitted by a given Edje object.
192 /// Edje signals are one of the communication interfaces between code and a given Edje object's theme. With signals, one can communicate two string values at a time, which are: - "emission" value: the name of the signal, in general - "source" value: a name for the signal's context, in general
194 /// Signals can go both ways, from code to theme, or theme to code.
196 /// Though there are those common uses for the two strings, one is free to use them however they like.
198 /// Signal callback registration is powerful, in the way that blobs may be used to match multiple signals at once. All the "*?[" set of <c>fnmatch</c>() operators can be used, both for emission and source.
200 /// Edje has internal signals it will emit, automatically, on various actions taking place on group parts. For example, the mouse cursor being moved, pressed, released, etc., over a given part's area, all generate individual signals.
202 /// With something like emission = "mouse,down,*", source = "button.*" where "button.*" is the pattern for the names of parts implementing buttons on an interface, you'd be registering for notifications on events of mouse buttons being pressed down on either of those parts (those events all have the "mouse,down," common prefix on their names, with a suffix giving the button number). The actual emission and source strings of an event will be passed in as the emission and source parameters of the callback function (e.g. "mouse,down,2" and "button.close"), for each of those events.
204 /// See also the Edje Data Collection Reference for EDC files.
206 /// See <see cref="Efl.Layout.ISignal.EmitSignal"/> on how to emit signals from code to a an object See <see cref="Efl.Layout.ISignal.DelSignalCallback"/>.
207 /// (Since EFL 1.22)</summary>
208 /// <param name="emission">The signal's "emission" string</param>
209 /// <param name="source">The signal's "source" string</param>
210 /// <param name="func">The callback function to be executed when the signal is emitted.</param>
211 /// <returns><c>true</c> in case of success, <c>false</c> in case of error.</returns>
212 public bool AddSignalCallback(System.String emission, System.String source, EflLayoutSignalCb func) {
213 GCHandle func_handle = GCHandle.Alloc(func);
214 var _ret_var = Efl.Layout.ISignalConcrete.NativeMethods.efl_layout_signal_callback_add_ptr.Value.Delegate(this.NativeHandle,emission, source, GCHandle.ToIntPtr(func_handle), EflLayoutSignalCbWrapper.Cb, Efl.Eo.Globals.free_gchandle);
215 Eina.Error.RaiseIfUnhandledException();
218 /// <summary>Removes a signal-triggered callback from an object.
219 /// This function removes a callback, previously attached to the emission of a signal, from the object obj. The parameters emission, source and func must match exactly those passed to a previous call to <see cref="Efl.Layout.ISignal.AddSignalCallback"/>.
221 /// See <see cref="Efl.Layout.ISignal.AddSignalCallback"/>.
222 /// (Since EFL 1.22)</summary>
223 /// <param name="emission">The signal's "emission" string</param>
224 /// <param name="source">The signal's "source" string</param>
225 /// <param name="func">The callback function to be executed when the signal is emitted.</param>
226 /// <returns><c>true</c> in case of success, <c>false</c> in case of error.</returns>
227 public bool DelSignalCallback(System.String emission, System.String source, EflLayoutSignalCb func) {
228 GCHandle func_handle = GCHandle.Alloc(func);
229 var _ret_var = Efl.Layout.ISignalConcrete.NativeMethods.efl_layout_signal_callback_del_ptr.Value.Delegate(this.NativeHandle,emission, source, GCHandle.ToIntPtr(func_handle), EflLayoutSignalCbWrapper.Cb, Efl.Eo.Globals.free_gchandle);
230 Eina.Error.RaiseIfUnhandledException();
233 /// <summary>Sends/emits an Edje signal to this layout.
234 /// This function sends a signal to the object. An Edje program, at the EDC specification level, can respond to a signal by having declared matching "signal" and "source" fields on its block.
236 /// See also the Edje Data Collection Reference for EDC files.
238 /// See <see cref="Efl.Layout.ISignal.AddSignalCallback"/> for more on Edje signals.
239 /// (Since EFL 1.22)</summary>
240 /// <param name="emission">The signal's "emission" string</param>
241 /// <param name="source">The signal's "source" string</param>
242 public void EmitSignal(System.String emission, System.String source) {
243 Efl.Layout.ISignalConcrete.NativeMethods.efl_layout_signal_emit_ptr.Value.Delegate(this.NativeHandle,emission, source);
244 Eina.Error.RaiseIfUnhandledException();
246 /// <summary>Processes an object's messages and signals queue.
247 /// This function goes through the object message queue processing the pending messages for this specific Edje object. Normally they'd be processed only at idle time.
249 /// If <c>recurse</c> is <c>true</c>, this function will be called recursively on all subobjects.
250 /// (Since EFL 1.22)</summary>
251 /// <param name="recurse">Whether to process messages on children objects.</param>
252 public void SignalProcess(bool recurse) {
253 Efl.Layout.ISignalConcrete.NativeMethods.efl_layout_signal_process_ptr.Value.Delegate(this.NativeHandle,recurse);
254 Eina.Error.RaiseIfUnhandledException();
256 private static IntPtr GetEflClassStatic()
258 return Efl.Layout.ISignalConcrete.efl_layout_signal_interface_get();
260 /// <summary>Wrapper for native methods and virtual method delegates.
261 /// For internal use by generated code only.</summary>
262 public class NativeMethods : Efl.Eo.NativeClass
264 private static Efl.Eo.NativeModule Module = new Efl.Eo.NativeModule( efl.Libs.Edje);
265 /// <summary>Gets the list of Eo operations to override.</summary>
266 /// <returns>The list of Eo operations to be overload.</returns>
267 public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)
269 var descs = new System.Collections.Generic.List<Efl_Op_Description>();
270 var methods = Efl.Eo.Globals.GetUserMethods(type);
272 if (efl_layout_signal_message_send_static_delegate == null)
274 efl_layout_signal_message_send_static_delegate = new efl_layout_signal_message_send_delegate(message_send);
277 if (methods.FirstOrDefault(m => m.Name == "MessageSend") != null)
279 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_layout_signal_message_send"), func = Marshal.GetFunctionPointerForDelegate(efl_layout_signal_message_send_static_delegate) });
282 if (efl_layout_signal_callback_add_static_delegate == null)
284 efl_layout_signal_callback_add_static_delegate = new efl_layout_signal_callback_add_delegate(signal_callback_add);
287 if (methods.FirstOrDefault(m => m.Name == "AddSignalCallback") != null)
289 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_layout_signal_callback_add"), func = Marshal.GetFunctionPointerForDelegate(efl_layout_signal_callback_add_static_delegate) });
292 if (efl_layout_signal_callback_del_static_delegate == null)
294 efl_layout_signal_callback_del_static_delegate = new efl_layout_signal_callback_del_delegate(signal_callback_del);
297 if (methods.FirstOrDefault(m => m.Name == "DelSignalCallback") != null)
299 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_layout_signal_callback_del"), func = Marshal.GetFunctionPointerForDelegate(efl_layout_signal_callback_del_static_delegate) });
302 if (efl_layout_signal_emit_static_delegate == null)
304 efl_layout_signal_emit_static_delegate = new efl_layout_signal_emit_delegate(signal_emit);
307 if (methods.FirstOrDefault(m => m.Name == "EmitSignal") != null)
309 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_layout_signal_emit"), func = Marshal.GetFunctionPointerForDelegate(efl_layout_signal_emit_static_delegate) });
312 if (efl_layout_signal_process_static_delegate == null)
314 efl_layout_signal_process_static_delegate = new efl_layout_signal_process_delegate(signal_process);
317 if (methods.FirstOrDefault(m => m.Name == "SignalProcess") != null)
319 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(Module.Module, "efl_layout_signal_process"), func = Marshal.GetFunctionPointerForDelegate(efl_layout_signal_process_static_delegate) });
324 /// <summary>Returns the Eo class for the native methods of this class.</summary>
325 /// <returns>The native class pointer.</returns>
326 public override IntPtr GetEflClass()
328 return Efl.Layout.ISignalConcrete.efl_layout_signal_interface_get();
331 #pragma warning disable CA1707, CS1591, SA1300, SA1600
334 private delegate void efl_layout_signal_message_send_delegate(System.IntPtr obj, System.IntPtr pd, int id, Eina.ValueNative msg);
337 public delegate void efl_layout_signal_message_send_api_delegate(System.IntPtr obj, int id, Eina.ValueNative msg);
339 public static Efl.Eo.FunctionWrapper<efl_layout_signal_message_send_api_delegate> efl_layout_signal_message_send_ptr = new Efl.Eo.FunctionWrapper<efl_layout_signal_message_send_api_delegate>(Module, "efl_layout_signal_message_send");
341 private static void message_send(System.IntPtr obj, System.IntPtr pd, int id, Eina.ValueNative msg)
343 Eina.Log.Debug("function efl_layout_signal_message_send was called");
344 var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
350 ((ISignal)ws.Target).MessageSend(id, msg);
354 Eina.Log.Warning($"Callback error: {e.ToString()}");
355 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
362 efl_layout_signal_message_send_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), id, msg);
366 private static efl_layout_signal_message_send_delegate efl_layout_signal_message_send_static_delegate;
368 [return: MarshalAs(UnmanagedType.U1)]
369 private delegate bool efl_layout_signal_callback_add_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String emission, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String source, IntPtr func_data, EflLayoutSignalCbInternal func, EinaFreeCb func_free_cb);
371 [return: MarshalAs(UnmanagedType.U1)]
372 public delegate bool efl_layout_signal_callback_add_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String emission, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String source, IntPtr func_data, EflLayoutSignalCbInternal func, EinaFreeCb func_free_cb);
374 public static Efl.Eo.FunctionWrapper<efl_layout_signal_callback_add_api_delegate> efl_layout_signal_callback_add_ptr = new Efl.Eo.FunctionWrapper<efl_layout_signal_callback_add_api_delegate>(Module, "efl_layout_signal_callback_add");
376 private static bool signal_callback_add(System.IntPtr obj, System.IntPtr pd, System.String emission, System.String source, IntPtr func_data, EflLayoutSignalCbInternal func, EinaFreeCb func_free_cb)
378 Eina.Log.Debug("function efl_layout_signal_callback_add was called");
379 var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
382 EflLayoutSignalCbWrapper func_wrapper = new EflLayoutSignalCbWrapper(func, func_data, func_free_cb);
383 bool _ret_var = default(bool);
386 _ret_var = ((ISignal)ws.Target).AddSignalCallback(emission, source, func_wrapper.ManagedCb);
390 Eina.Log.Warning($"Callback error: {e.ToString()}");
391 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
399 return efl_layout_signal_callback_add_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), emission, source, func_data, func, func_free_cb);
403 private static efl_layout_signal_callback_add_delegate efl_layout_signal_callback_add_static_delegate;
405 [return: MarshalAs(UnmanagedType.U1)]
406 private delegate bool efl_layout_signal_callback_del_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String emission, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String source, IntPtr func_data, EflLayoutSignalCbInternal func, EinaFreeCb func_free_cb);
408 [return: MarshalAs(UnmanagedType.U1)]
409 public delegate bool efl_layout_signal_callback_del_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String emission, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String source, IntPtr func_data, EflLayoutSignalCbInternal func, EinaFreeCb func_free_cb);
411 public static Efl.Eo.FunctionWrapper<efl_layout_signal_callback_del_api_delegate> efl_layout_signal_callback_del_ptr = new Efl.Eo.FunctionWrapper<efl_layout_signal_callback_del_api_delegate>(Module, "efl_layout_signal_callback_del");
413 private static bool signal_callback_del(System.IntPtr obj, System.IntPtr pd, System.String emission, System.String source, IntPtr func_data, EflLayoutSignalCbInternal func, EinaFreeCb func_free_cb)
415 Eina.Log.Debug("function efl_layout_signal_callback_del was called");
416 var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
419 EflLayoutSignalCbWrapper func_wrapper = new EflLayoutSignalCbWrapper(func, func_data, func_free_cb);
420 bool _ret_var = default(bool);
423 _ret_var = ((ISignal)ws.Target).DelSignalCallback(emission, source, func_wrapper.ManagedCb);
427 Eina.Log.Warning($"Callback error: {e.ToString()}");
428 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
436 return efl_layout_signal_callback_del_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), emission, source, func_data, func, func_free_cb);
440 private static efl_layout_signal_callback_del_delegate efl_layout_signal_callback_del_static_delegate;
443 private delegate void efl_layout_signal_emit_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String emission, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String source);
446 public delegate void efl_layout_signal_emit_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String emission, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))] System.String source);
448 public static Efl.Eo.FunctionWrapper<efl_layout_signal_emit_api_delegate> efl_layout_signal_emit_ptr = new Efl.Eo.FunctionWrapper<efl_layout_signal_emit_api_delegate>(Module, "efl_layout_signal_emit");
450 private static void signal_emit(System.IntPtr obj, System.IntPtr pd, System.String emission, System.String source)
452 Eina.Log.Debug("function efl_layout_signal_emit was called");
453 var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
459 ((ISignal)ws.Target).EmitSignal(emission, source);
463 Eina.Log.Warning($"Callback error: {e.ToString()}");
464 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
471 efl_layout_signal_emit_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), emission, source);
475 private static efl_layout_signal_emit_delegate efl_layout_signal_emit_static_delegate;
478 private delegate void efl_layout_signal_process_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.U1)] bool recurse);
481 public delegate void efl_layout_signal_process_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.U1)] bool recurse);
483 public static Efl.Eo.FunctionWrapper<efl_layout_signal_process_api_delegate> efl_layout_signal_process_ptr = new Efl.Eo.FunctionWrapper<efl_layout_signal_process_api_delegate>(Module, "efl_layout_signal_process");
485 private static void signal_process(System.IntPtr obj, System.IntPtr pd, bool recurse)
487 Eina.Log.Debug("function efl_layout_signal_process was called");
488 var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
494 ((ISignal)ws.Target).SignalProcess(recurse);
498 Eina.Log.Warning($"Callback error: {e.ToString()}");
499 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
506 efl_layout_signal_process_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), recurse);
510 private static efl_layout_signal_process_delegate efl_layout_signal_process_static_delegate;
512 #pragma warning restore CA1707, CS1591, SA1300, SA1600