public static Task CipherOptFreeAsync(ulong cipherOptHandle) { var tcs = new TaskCompletionSource <object>(); CipherOptFreeCb callback = null; callback = (self, result) => { if (result.ErrorCode != 0) { CallbackManager.Unregister(callback); tcs.SetException(result.ToException()); return; } tcs.SetResult(null); CallbackManager.Unregister(callback); }; CallbackManager.Register(callback); NativeBindings.CipherOptFree(Session.AppPtr, cipherOptHandle, Session.UserData, callback); return(tcs.Task); }
public static extern void CipherOptFreeNative(IntPtr appPtr, ulong cipherOptHandle, IntPtr self, CipherOptFreeCb callback);
public void CipherOptFree(IntPtr appPtr, ulong cipherOptHandle, IntPtr self, CipherOptFreeCb callback) { CipherOptFreeNative(appPtr, cipherOptHandle, self, callback); }