public void AddTimer(float time, System.Action <object> callback, object param) { CountdownTimer timer = new CountdownTimer(); timer.Start(time, TimesUp, null, null); timers[timer] = new CallbackStruct(callback, param);; }
public static void Main () { Callback c = PrintSuccess; var cHandle = GCHandle.Alloc(c); var s = new CallbackStruct { us = 4, callback = c }; CallFunctionInStruct(s, 747); }
public static void Main() { Callback c = PrintSuccess; var cHandle = GCHandle.Alloc(c); var s = new CallbackStruct { us = 4, callback = c }; CallFunctionInStruct(s, 747); }
/// <summary> /// Callback for SendRequest function. /// Checks for errors and calls callback for each API request. /// </summary> private void RequestCallback(IAsyncResult result) { HttpWebRequest request = result.AsyncState as HttpWebRequest; try { // if response == null, we'll get exception // ReSharper disable once PossibleNullReferenceException WebResponse response = request.EndGetResponse(result); string resultText = GetUtf8TextFromWebResponse(response); CallbackStruct callback = this._callbacks.SafeGet(request); this._callbacks.SafeRemove(request); if (resultText.IndexOf(SDK.ResponsePartErrorCode + ":" + SDK.ErrorCodeSessionExpired, System.StringComparison.OrdinalIgnoreCase) != -1) { if (callback.OnError != null) { callback.OnError(new Exception(ErrorSessionExpired)); return; } } else if (resultText.IndexOf(SDK.ResponsePartErrorCode, System.StringComparison.OrdinalIgnoreCase) != -1) { if (callback.OnError != null) { callback.OnError(new Exception(ErrorBadApiRequest + " " + resultText)); return; } } if (callback.CallbackContext != null && callback.OnSuccess != null) { callback.CallbackContext.Dispatcher.BeginInvoke(() => callback.OnSuccess.Invoke(resultText)); } } catch (WebException e) { Action <Exception> onError = this._callbacks.SafeGet(request).OnError; this._callbacks.SafeRemove(request); if (onError != null) { onError.Invoke(e); } } }
public static extern void CallFunctionInStruct (CallbackStruct s, int i);
public void AddTimer(float time, System.Action<object> callback, object param) { CountdownTimer timer = new CountdownTimer(); timer.Start(time, TimesUp, null, null); timers[timer] = new CallbackStruct(callback, param);; }
public static extern void CallFunctionInStruct(CallbackStruct s, int i);