/// <summary></summary> /// <param name="func">No description supplied.</param> /// <returns></returns> public void Call(EFlThreadIOCall func) { GCHandle func_handle = GCHandle.Alloc(func); Efl.IThreadIONativeInherit.efl_threadio_call_ptr.Value.Delegate(this.NativeHandle, GCHandle.ToIntPtr(func_handle), EFlThreadIOCallWrapper.Cb, Efl.Eo.Globals.free_gchandle); Eina.Error.RaiseIfUnhandledException(); }
internal static void Cb(IntPtr cb_data, ref Efl.Event_StructInternal kw_event) { GCHandle handle = GCHandle.FromIntPtr(cb_data); EFlThreadIOCall cb = (EFlThreadIOCall)handle.Target; var _in_kw_event = Efl.Event_StructConversion.ToManaged(kw_event); try { cb(ref _in_kw_event); } catch (Exception e) { Eina.Log.Warning($"Callback error: {e.ToString()}"); Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION); } kw_event = Efl.Event_StructConversion.ToInternal(_in_kw_event); }
internal static void Cb(IntPtr cb_data, ref Efl.Event.NativeStruct kw_event) { GCHandle handle = GCHandle.FromIntPtr(cb_data); EFlThreadIOCall cb = (EFlThreadIOCall)handle.Target; Efl.Event _in_kw_event = kw_event; try { cb(ref _in_kw_event); } catch (Exception e) { Eina.Log.Warning($"Callback error: {e.ToString()}"); Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION); } kw_event = _in_kw_event; }