double InvokeNative(Gnome.PasswordDialog password_dialog, string password) { IntPtr native_password = GLib.Marshaller.StringToPtrGStrdup(password); double result = native_cb(password_dialog == null ? IntPtr.Zero : password_dialog.Handle, native_password, __data); GLib.Marshaller.Free(native_password); return(result); }
protected override bool QueryPassword(ref string userName, ref string password, bool passwordIncorrect) { // show the GNOME password dialog (passwordIncorrect is ignored) using (var dlg = new Gnome.PasswordDialog(Program.Settings.Target, null, userName, password, false)) { var confirmed = dlg.RunAndBlock(); dlg.Hide(); userName = confirmed ? dlg.Username : null; password = confirmed ? dlg.Password : null; return(confirmed); } }