private static void InternalOnMessageReceivedCallback(long id, string name, IntPtr data, UIntPtr dataLength, bool isReliable, IntPtr userData) { NativeMessageListenerHelper.OnMessageReceived permanentCallback = Callbacks.IntPtrToPermanentCallback <NativeMessageListenerHelper.OnMessageReceived>(userData); if (permanentCallback == null) { return; } try { permanentCallback(id, name, Callbacks.IntPtrAndSizeToByteArray(data, dataLength), isReliable); } catch (Exception ex) { Logger.e("Error encountered executing NativeMessageListenerHelper#InternalOnMessageReceivedCallback. Smothering to avoid passing exception into Native: " + (object)ex); } }
internal void SetOnMessageReceivedCallback(NativeMessageListenerHelper.OnMessageReceived callback) { MessageListenerHelper.MessageListenerHelper_SetOnMessageReceivedCallback(this.SelfPtr(), new MessageListenerHelper.OnMessageReceivedCallback(NativeMessageListenerHelper.InternalOnMessageReceivedCallback), Callbacks.ToIntPtr((Delegate)callback)); }