Example #1
0
        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);