Ejemplo n.º 1
0
        public static Task <string> GetTask(FutureString fu)
        {
            TaskCompletionSource <string> tcs = new TaskCompletionSource <string>();

            if (fu.status() == FutureStatus.Invalid)
            {
                tcs.SetException(new FirebaseException(0, "Asynchronous operation was not started."));
                return(tcs.Task);
            }
            fu.SetOnCompletionCallback(delegate
            {
                if (fu.status() == FutureStatus.Invalid)
                {
                    tcs.SetCanceled();
                }
                else
                {
                    int num = fu.error();
                    if (num != 0)
                    {
                        tcs.SetException(new FirebaseException(num, fu.error_message()));
                    }
                    else
                    {
                        tcs.SetResult(fu.result());
                    }
                }
                fu.Dispose();
            });
            return(tcs.Task);
        }
Ejemplo n.º 2
0
 internal static HandleRef getCPtr(FutureString obj)
 {
     return((obj != null) ? obj.swigCPtr : new HandleRef(null, IntPtr.Zero));
 }