diff --git a/src/PepperDash.Essentials.Core/Room/Interfaces.cs b/src/PepperDash.Essentials.Core/Room/Interfaces.cs
index 190abeec..ca7df3ae 100644
--- a/src/PepperDash.Essentials.Core/Room/Interfaces.cs
+++ b/src/PepperDash.Essentials.Core/Room/Interfaces.cs
@@ -79,6 +79,32 @@ namespace PepperDash.Essentials.Core
void SetShutdownPromptSeconds(int seconds);
}
+ ///
+ /// Describes a room with a tech password
+ ///
+ public interface ITechPassword
+ {
+ event EventHandler TechPasswordValidateResult;
+
+ event EventHandler TechPasswordChanged;
+
+ int TechPasswordLength { get; }
+
+ void ValidateTechPassword(string password);
+
+ void SetTechPassword(string oldPassword, string newPassword);
+ }
+
+ public class TechPasswordEventArgs : EventArgs
+ {
+ public bool IsValid { get; private set; }
+
+ public TechPasswordEventArgs(bool isValid)
+ {
+ IsValid = isValid;
+ }
+ }
+
///
/// For rooms that default presentation only routing
///