public void Set(DeletePersistentAuthOptions other)
 {
     if (other != null)
     {
         m_ApiVersion = AuthInterface.DeletepersistentauthApiLatest;
         RefreshToken = other.RefreshToken;
     }
 }
        /// <summary>
        /// Deletes a previously received and locally stored persistent auth access token for the currently logged in user of the local device.
        ///
        /// On Desktop and Mobile platforms, the access token is deleted from the keychain of the local user and a backend request is made to revoke the token on the authentication server.
        /// On Console platforms, even though the caller is responsible for storing and deleting the access token on the local device,
        /// this function should still be called with the access token before its deletion to make the best effort in attempting to also revoke it on the authentication server.
        /// If the function would fail on Console, the caller should still proceed as normal to delete the access token locally as intended.
        /// </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 deletion operation completes, either successfully or in error</param>
        public void DeletePersistentAuth(DeletePersistentAuthOptions options, object clientData, OnDeletePersistentAuthCallback completionDelegate)
        {
            System.IntPtr optionsAddress = new System.IntPtr();
            Helper.TryMarshalSet <DeletePersistentAuthOptionsInternal, DeletePersistentAuthOptions>(ref optionsAddress, options);

            var clientDataAddress = System.IntPtr.Zero;

            var completionDelegateInternal = new OnDeletePersistentAuthCallbackInternal(OnDeletePersistentAuthCallbackInternalImplementation);

            Helper.AddCallback(ref clientDataAddress, clientData, completionDelegate, completionDelegateInternal);

            EOS_Auth_DeletePersistentAuth(InnerHandle, optionsAddress, clientDataAddress, completionDelegateInternal);

            Helper.TryMarshalDispose(ref optionsAddress);
        }