mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-05 15:55:02 +00:00
feat(essentials): #800 Adds IPasswordPrompt
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Crestron.SimplSharp;
|
||||
|
||||
namespace PepperDash.Essentials.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Describes the functionality required to prompt a user to enter a password
|
||||
/// </summary>
|
||||
public interface IPasswordPrompt
|
||||
{
|
||||
/// <summary>
|
||||
/// Notifies when a password is required or is entered incorrectly
|
||||
/// </summary>
|
||||
event EventHandler<PasswordPromptEventArgs> PasswordRequired;
|
||||
|
||||
/// <summary>
|
||||
/// Submits the password
|
||||
/// </summary>
|
||||
/// <param name="password"></param>
|
||||
void SubmitPassword(string password);
|
||||
}
|
||||
|
||||
public class PasswordPromptEventArgs : EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// Indicates if the last submitted password was incorrect
|
||||
/// </summary>
|
||||
bool LastAttemptWasIncorrect { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Indicates that the login attempt has failed
|
||||
/// </summary>
|
||||
bool LoginAttemptFailed { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Indicates that the process was cancelled and the prompt should be dismissed
|
||||
/// </summary>
|
||||
bool LoginAttemptCancelled { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// A message to be displayed to the user
|
||||
/// </summary>
|
||||
string Message { get; private set; }
|
||||
|
||||
public PasswordPromptEventArgs(bool lastAttemptIncorrect, bool loginFailed, bool loginCancelled, string message)
|
||||
{
|
||||
LastAttemptWasIncorrect = lastAttemptIncorrect;
|
||||
LoginAttemptFailed = loginFailed;
|
||||
LoginAttemptCancelled = loginCancelled;
|
||||
Message = message;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user