internal static void get_localized_string(IntPtr gcHandlePtr, out int __retval, int string_id, out IntPtr string_str, out int string_length, out IntPtr string_gc_handle) { var self = (CfxResourceBundleHandler)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target; if (self == null || self.CallbacksDisabled) { __retval = default(int); string_str = IntPtr.Zero; string_length = 0; string_gc_handle = IntPtr.Zero; return; } var e = new CfxGetLocalizedStringEventArgs(string_id); self.m_GetLocalizedString?.Invoke(self, e); e.m_isInvalid = true; if (e.m_string_wrapped != null && e.m_string_wrapped.Length > 0) { var string_pinned = new PinnedString(e.m_string_wrapped); string_str = string_pinned.Obj.PinnedPtr; string_length = string_pinned.Length; string_gc_handle = string_pinned.Obj.GCHandlePtr(); } else { string_str = IntPtr.Zero; string_length = 0; string_gc_handle = IntPtr.Zero; } __retval = e.m_returnValue ? 1 : 0; }
internal static void get_localized_string(IntPtr gcHandlePtr, out int __retval, int string_id, ref IntPtr string_str, ref int string_length) { var self = (CfxResourceBundleHandler)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target; if (self == null) { __retval = default(int); return; } var e = new CfxGetLocalizedStringEventArgs(string_id, string_str, string_length); var eventHandler = self.m_GetLocalizedString; if (eventHandler != null) { eventHandler(self, e); } e.m_isInvalid = true; if (e.m_string_changed) { var string_pinned = new PinnedString(e.m_string_wrapped); string_str = string_pinned.Obj.PinnedPtr; string_length = string_pinned.Length; } __retval = e.m_returnValue ? 1 : 0; }
internal static void EventCall(object sender, CfxGetLocalizedStringEventArgs e) { var call = new CfxGetLocalizedStringBrowserProcessCall(); call.sender = RemoteProxy.Wrap((CfxBase)sender); call.eventArgsId = AddEventArgs(e); call.RequestExecution(RemoteClient.connection); RemoveEventArgs(call.eventArgsId); }