public void LogIn(Native.Credentials credentials, TaskCompletionSource <SyncUserHandle> tcs) { var tcsHandle = GCHandle.Alloc(tcs); NativeMethods.login_user(this, credentials, GCHandle.ToIntPtr(tcsHandle), out var ex); ex.ThrowIfNecessary(tcsHandle); }
public void LinkCredentials(AppHandle app, Native.Credentials credentials, TaskCompletionSource <SyncUserHandle> tcs) { var tcsHandle = GCHandle.Alloc(tcs); NativeMethods.link_credentials(this, app, credentials, GCHandle.ToIntPtr(tcsHandle), out var ex); ex.ThrowIfNecessary(tcsHandle); }
public async Task <SyncUserHandle> LogInAsync(Native.Credentials credentials) { var tcs = new TaskCompletionSource <SyncUserHandle>(); var tcsHandle = GCHandle.Alloc(tcs); try { NativeMethods.login_user(this, credentials, GCHandle.ToIntPtr(tcsHandle), out var ex); ex.ThrowIfNecessary(); return(await tcs.Task); } finally { tcsHandle.Free(); } }
public static extern void login_user(AppHandle app, Native.Credentials credentials, IntPtr tcs_ptr, out NativeException ex);
public static extern void link_credentials(SyncUserHandle handle, AppHandle app, Native.Credentials credentials, IntPtr tcs_ptr, out NativeException ex);