Пример #1
0
    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);;
    }
Пример #2
0
    public static void Main () {
        Callback c = PrintSuccess;
        var cHandle = GCHandle.Alloc(c);

        var s = new CallbackStruct { us = 4, callback = c };
        CallFunctionInStruct(s, 747);
    }
Пример #3
0
    public static void Main()
    {
        Callback c       = PrintSuccess;
        var      cHandle = GCHandle.Alloc(c);

        var s = new CallbackStruct {
            us = 4, callback = c
        };

        CallFunctionInStruct(s, 747);
    }
Пример #4
0
        /// <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);
                }
            }
        }
Пример #5
0
 public static extern void CallFunctionInStruct (CallbackStruct s, int i);
Пример #6
0
 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);;
 }
Пример #7
0
 public static extern void CallFunctionInStruct(CallbackStruct s, int i);