internal static void on_download_updated(IntPtr gcHandlePtr, IntPtr browser, IntPtr download_item, IntPtr callback) { var self = (CfxDownloadHandler)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target; if (self == null || self.CallbacksDisabled) { return; } var e = new CfxOnDownloadUpdatedEventArgs(browser, download_item, callback); var eventHandler = self.m_OnDownloadUpdated; if (eventHandler != null) { eventHandler(self, e); } e.m_isInvalid = true; if (e.m_browser_wrapped == null) { CfxApi.cfx_release(e.m_browser); } if (e.m_download_item_wrapped == null) { CfxApi.cfx_release(e.m_download_item); } if (e.m_callback_wrapped == null) { CfxApi.cfx_release(e.m_callback); } }
internal static void on_download_updated(IntPtr gcHandlePtr, IntPtr browser, out int browser_release, IntPtr download_item, out int download_item_release, IntPtr callback, out int callback_release) { var self = (CfxDownloadHandler)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target; if (self == null || self.CallbacksDisabled) { browser_release = 1; download_item_release = 1; callback_release = 1; return; } var e = new CfxOnDownloadUpdatedEventArgs(browser, download_item, callback); self.m_OnDownloadUpdated?.Invoke(self, e); e.m_isInvalid = true; browser_release = e.m_browser_wrapped == null? 1 : 0; download_item_release = e.m_download_item_wrapped == null? 1 : 0; callback_release = e.m_callback_wrapped == null? 1 : 0; }