private static void SignInComplete(XSAPI_RESULT_INFO result, XSAPI_SIGN_IN_RESULT payload, IntPtr context) { int contextKey = context.ToInt32(); XsapiCallbackContext <UserImpl, SignInResult> contextObject; if (XsapiCallbackContext <UserImpl, SignInResult> .TryRemove(contextKey, out contextObject)) { UserImpl @this = contextObject.Context; if (result.errorCode == XSAPI_RESULT.XSAPI_RESULT_OK) { @this.UpdatePropertiesFromXboxLiveUserPtr(); @this.SignInCompleted(@this, new EventArgs()); contextObject.TaskCompletionSource.SetResult(new SignInResult(payload.status)); } else { contextObject.TaskCompletionSource.SetException(new XboxException(result)); } contextObject.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(); } }