Пример #1
0
        private static void GetTokenAndSignatureComplete(TokenAndSignatureResult_c result, IntPtr context)
        {
            int contextKey = context.ToInt32();

            XboxLiveCallbackContext <UserImpl, TokenAndSignatureResult> contextObject;

            if (XboxLiveCallbackContext <UserImpl, TokenAndSignatureResult> .TryRemove(contextKey, out contextObject))
            {
                if (result.result.errorCode == 0)
                {
                    contextObject.TaskCompletionSource.SetResult(new TokenAndSignatureResult
                    {
                        WebAccountId = result.payload.WebAccountId,
                        Privileges   = result.payload.Privileges,
                        AgeGroup     = result.payload.AgeGroup,
                        Gamertag     = result.payload.Gamertag,
                        XboxUserId   = result.payload.XboxUserId,
                        Signature    = result.payload.Signature,
                        Token        = result.payload.Token
                                       //TokenRequestResultStatus = tokenResult.ResponseStatus
                    });
                }
                else
                {
                    contextObject.TaskCompletionSource.SetException(new Exception(result.result.errorMessage));
                }
                contextObject.Dispose();
            }
        }
Пример #2
0
        private static void CheckGamingPrivilegeWithUIComplete(CheckGamingPrivilegeResult result, IntPtr completionRoutineContext)
        {
            int contextKey = completionRoutineContext.ToInt32();

            XboxLiveCallbackContext <TitleCallableUI, bool> context;

            if (XboxLiveCallbackContext <TitleCallableUI, bool> .TryRemove(contextKey, out context))
            {
                context.TaskCompletionSource.SetResult(result.hasPrivilege);
                context.Dispose();
            }
        }
Пример #3
0
        private static void ShowProfileCardUIComplete(XboxLiveResult result, IntPtr completionRoutineContext)
        {
            int contextKey = completionRoutineContext.ToInt32();

            XboxLiveCallbackContext <TitleCallableUI, bool> context;

            if (XboxLiveCallbackContext <TitleCallableUI, bool> .TryRemove(contextKey, out context))
            {
                context.TaskCompletionSource.SetResult(true);
                context.Dispose();
            }
        }
Пример #4
0
        private static void SignInComplete(SignInResult_c result, IntPtr context)
        {
            int contextKey = context.ToInt32();

            XboxLiveCallbackContext <UserImpl, SignInResult> contextObject;

            if (XboxLiveCallbackContext <UserImpl, SignInResult> .TryRemove(contextKey, out contextObject))
            {
                UserImpl @this = contextObject.Context;
                if (result.result.errorCode == 0)
                {
                    @this.UpdatePropertiesFromXboxLiveUser_c();
                    @this.SignInCompleted(@this, new EventArgs());

                    contextObject.TaskCompletionSource.SetResult(new SignInResult(result.payload.status));
                }
                else
                {
                    contextObject.TaskCompletionSource.SetException(new Exception(result.result.errorMessage));
                }

                contextObject.Dispose();
            }
        }