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); }
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); }
public static uint AddMessageCallback(bool isSingleUse, Action <string> messageCallback) { if (!_initialized) { PInvoke.AppleAuth_IOS_SetupNativeMessageHandlerCallback(PInvoke.NativeMessageHandlerCallback); _initialized = true; } if (messageCallback == null) { throw new Exception("Can't add a null Message Callback."); } var usedCallbackId = default(uint); lock (SyncLock) { usedCallbackId = _callbackId; _callbackId += 1; if (_callbackId >= MaxCallbackId) { _callbackId = InitialCallbackId; } var callbackEntry = new Entry(isSingleUse, messageCallback); CallbackDictionary.Add(usedCallbackId, callbackEntry); } return(usedCallbackId); }