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(); } }
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(); } }
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(); } }
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(); } }