コード例 #1
0
        internal static uint AddMessageCallback(IMessageHandlerScheduler scheduler, Action <string> messageCallback)
        {
            if (!_initialized)
            {
                PInvoke.AppleAuth_IOS_SetupNativeMessageHandlerCallback(NativeMessageHandlerCallback);
                _initialized = true;
            }

            if (messageCallback == null)
            {
                throw new Exception("Can't add a null Message Callback.");
            }

            var usedCallbackId = _callbackId;

            _callbackId += 1;
            if (CallbackDictionary.ContainsKey(usedCallbackId))
            {
                throw new Exception("A Message Callback with the same ID " + usedCallbackId + " already exists.");
            }

            var callbackEntry = new MessageCallbackEntry(messageCallback, scheduler);

            CallbackDictionary.Add(usedCallbackId, callbackEntry);
            return(usedCallbackId);
        }
コード例 #2
0
        internal static uint AddMessageCallback(IMessageHandlerScheduler scheduler, bool isSingleUse, Action <string> messageCallback)
        {
            if (!_initialized)
            {
                PInvoke.AppleAuth_IOS_SetupNativeMessageHandlerCallback(NativeMessageHandlerCallback);
                _initialized = true;
            }

            if (messageCallback == null)
            {
                throw new Exception("Can't add a null Message Callback.");
            }

            var usedCallbackId = _callbackId;

            _callbackId += 1;
            if (_callbackId >= MaxCallbackId)
            {
                _callbackId = InitialCallbackId;
            }

            var callbackEntry = new MessageCallbackEntry(messageCallback, scheduler, isSingleUse);

            CallbackDictionary.Add(usedCallbackId, callbackEntry);
            return(usedCallbackId);
        }