internal static void OnDeleteDeviceId(IntPtr address) { OnDeleteDeviceIdCallback callback = null; DeleteDeviceIdCallbackInfo callbackInfo = null; if (Helper.TryGetAndRemoveCallback <OnDeleteDeviceIdCallback, DeleteDeviceIdCallbackInfoInternal, DeleteDeviceIdCallbackInfo>(address, out callback, out callbackInfo)) { callback(callbackInfo); } }
/// <summary> /// Delete any existing Device ID access credentials for the current user profile on the local device. /// /// The deletion is permanent and it is not possible to recover lost game data and progression /// if the Device ID had not been linked with at least one real external user account. /// </summary> /// <param name="options">structure containing operation input parameters</param> /// <param name="clientData">arbitrary data that is passed back to you in the CompletionDelegate</param> /// <param name="completionDelegate">a callback that is fired when the delete operation completes, either successfully or in error</param> public void DeleteDeviceId(DeleteDeviceIdOptions options, object clientData, OnDeleteDeviceIdCallback completionDelegate) { var optionsInternal = Helper.CopyProperties <DeleteDeviceIdOptionsInternal>(options); var completionDelegateInternal = new OnDeleteDeviceIdCallbackInternal(OnDeleteDeviceId); var clientDataAddress = IntPtr.Zero; Helper.AddCallback(ref clientDataAddress, clientData, completionDelegate, completionDelegateInternal); EOS_Connect_DeleteDeviceId(InnerHandle, ref optionsInternal, clientDataAddress, completionDelegateInternal); Helper.TryMarshalDispose(ref optionsInternal); }