private static void RegisterEventOccurredCallback() { _eventDelegate = (EventType type, IntPtr stickerData, IntPtr userData) => { if (type == EventType.Insert) { if (_inserted != null) { InsertedEventArgs args = new InsertedEventArgs(stickerData); _inserted?.Invoke(null, args); } } else if (type == EventType.Delete) { if (_deleted != null) { DeletedEventArgs args = new DeletedEventArgs(stickerData); _deleted?.Invoke(null, args); } } else if (type == EventType.Update) { if (_updated != null) { UpdatedEventArgs args = new UpdatedEventArgs(stickerData); _updated?.Invoke(null, args); } } }; ErrorCode error = StickerConsumerSetEventCB(_handle, _eventDelegate, IntPtr.Zero); if (error != ErrorCode.None) { Log.Error(LogTag, "Add EventOccurred Failed with error " + error); } }
internal static extern ErrorCode StickerConsumerSetEventCB(IntPtr stickerConsumer, StickerConsumerEventCallback callback, IntPtr userData);