mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 20:54:55 +00:00
wip: update XML comments
This commit is contained in:
@@ -25,8 +25,14 @@ namespace PepperDash.Essentials.Core
|
|||||||
{
|
{
|
||||||
RoomOnToDefaultSourceWhenOccupiedConfig PropertiesConfig;
|
RoomOnToDefaultSourceWhenOccupiedConfig PropertiesConfig;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the FeatureEnabled
|
||||||
|
/// </summary>
|
||||||
public bool FeatureEnabled { get; private set; }
|
public bool FeatureEnabled { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the FeatureEnabledTime
|
||||||
|
/// </summary>
|
||||||
public DateTime FeatureEnabledTime { get; private set; }
|
public DateTime FeatureEnabledTime { get; private set; }
|
||||||
|
|
||||||
ScheduledEvent FeatureEnableEvent;
|
ScheduledEvent FeatureEnableEvent;
|
||||||
@@ -51,6 +57,10 @@ namespace PepperDash.Essentials.Core
|
|||||||
|
|
||||||
private Fusion.IEssentialsRoomFusionController FusionRoom;
|
private Fusion.IEssentialsRoomFusionController FusionRoom;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor for RoomOnToDefaultSourceWhenOccupied
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="config">config of the device</param>
|
||||||
public RoomOnToDefaultSourceWhenOccupied(DeviceConfig config) :
|
public RoomOnToDefaultSourceWhenOccupied(DeviceConfig config) :
|
||||||
base (config)
|
base (config)
|
||||||
{
|
{
|
||||||
@@ -152,7 +162,10 @@ namespace PepperDash.Essentials.Core
|
|||||||
Debug.LogMessage(LogEventLevel.Debug, this, "Unable to get room from Device Manager with key: {0}", PropertiesConfig.RoomKey);
|
Debug.LogMessage(LogEventLevel.Debug, this, "Unable to get room from Device Manager with key: {0}", PropertiesConfig.RoomKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// CustomSetConfig method
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="config">config of the device</param>
|
||||||
protected override void CustomSetConfig(DeviceConfig config)
|
protected override void CustomSetConfig(DeviceConfig config)
|
||||||
{
|
{
|
||||||
var newPropertiesConfig = JsonConvert.DeserializeObject<RoomOnToDefaultSourceWhenOccupiedConfig>(config.Properties.ToString());
|
var newPropertiesConfig = JsonConvert.DeserializeObject<RoomOnToDefaultSourceWhenOccupiedConfig>(config.Properties.ToString());
|
||||||
@@ -367,7 +380,8 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Checks existing event to see if it matches the execution time
|
/// Checks existing event to see if it matches the execution time
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="existingEvent"></param>
|
/// <param name="existingEvent">event we are checking</param>
|
||||||
|
/// <param name="newTime">time we are checking against</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
bool CheckExistingEventTimeForMatch(ScheduledEvent existingEvent, DateTime newTime)
|
bool CheckExistingEventTimeForMatch(ScheduledEvent existingEvent, DateTime newTime)
|
||||||
{
|
{
|
||||||
@@ -520,70 +534,70 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class RoomOnToDefaultSourceWhenOccupiedConfig
|
public class RoomOnToDefaultSourceWhenOccupiedConfig
|
||||||
{
|
{
|
||||||
[JsonProperty("roomKey")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the RoomKey
|
/// Gets or sets the RoomKey
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("roomKey")]
|
||||||
public string RoomKey { get; set; }
|
public string RoomKey { get; set; }
|
||||||
|
|
||||||
[JsonProperty("enableRoomOnWhenOccupied")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the EnableRoomOnWhenOccupied
|
/// Gets or sets the EnableRoomOnWhenOccupied
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("enableRoomOnWhenOccupied")]
|
||||||
public bool EnableRoomOnWhenOccupied { get; set; }
|
public bool EnableRoomOnWhenOccupied { get; set; }
|
||||||
|
|
||||||
[JsonProperty("occupancyStartTime")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the OccupancyStartTime
|
/// Gets or sets the OccupancyStartTime
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("occupancyStartTime")]
|
||||||
public string OccupancyStartTime { get; set; }
|
public string OccupancyStartTime { get; set; }
|
||||||
|
|
||||||
[JsonProperty("occupancyEndTime")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the OccupancyEndTime
|
/// Gets or sets the OccupancyEndTime
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("occupancyEndTime")]
|
||||||
public string OccupancyEndTime { get; set; }
|
public string OccupancyEndTime { get; set; }
|
||||||
|
|
||||||
[JsonProperty("enableSunday")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the EnableSunday
|
/// Gets or sets the EnableSunday
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("enableSunday")]
|
||||||
public bool EnableSunday { get; set; }
|
public bool EnableSunday { get; set; }
|
||||||
|
|
||||||
[JsonProperty("enableMonday")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the EnableMonday
|
/// Gets or sets the EnableMonday
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("enableMonday")]
|
||||||
public bool EnableMonday { get; set; }
|
public bool EnableMonday { get; set; }
|
||||||
|
|
||||||
[JsonProperty("enableTuesday")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the EnableTuesday
|
/// Gets or sets the EnableTuesday
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("enableWednesday")]
|
||||||
public bool EnableTuesday { get; set; }
|
public bool EnableTuesday { get; set; }
|
||||||
|
|
||||||
[JsonProperty("enableWednesday")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the EnableWednesday
|
/// Gets or sets the EnableWednesday
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("enableWednesday")]
|
||||||
public bool EnableWednesday { get; set; }
|
public bool EnableWednesday { get; set; }
|
||||||
|
|
||||||
[JsonProperty("enableThursday")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the EnableThursday
|
/// Gets or sets the EnableThursday
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("enableThursday")]
|
||||||
public bool EnableThursday { get; set; }
|
public bool EnableThursday { get; set; }
|
||||||
|
|
||||||
[JsonProperty("enableFriday")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the EnableFriday
|
/// Gets or sets the EnableFriday
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("enableFriday")]
|
||||||
public bool EnableFriday { get; set; }
|
public bool EnableFriday { get; set; }
|
||||||
|
|
||||||
[JsonProperty("enableSaturday")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the EnableSaturday
|
/// Gets or sets the EnableSaturday
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("enableSaturday")]
|
||||||
public bool EnableSaturday { get; set; }
|
public bool EnableSaturday { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -592,6 +606,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class RoomOnToDefaultSourceWhenOccupiedFactory : EssentialsDeviceFactory<RoomOnToDefaultSourceWhenOccupied>
|
public class RoomOnToDefaultSourceWhenOccupiedFactory : EssentialsDeviceFactory<RoomOnToDefaultSourceWhenOccupied>
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor for RoomOnToDefaultSourceWhenOccupiedFactory
|
||||||
|
/// </summary>
|
||||||
public RoomOnToDefaultSourceWhenOccupiedFactory()
|
public RoomOnToDefaultSourceWhenOccupiedFactory()
|
||||||
{
|
{
|
||||||
TypeNames = new List<string>() { "roomonwhenoccupancydetectedfeature" };
|
TypeNames = new List<string>() { "roomonwhenoccupancydetectedfeature" };
|
||||||
|
|||||||
@@ -53,6 +53,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
|
|
||||||
private bool _isActive;
|
private bool _isActive;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets IsActive
|
||||||
|
/// </summary>
|
||||||
[JsonProperty("isActive")]
|
[JsonProperty("isActive")]
|
||||||
public bool IsActive
|
public bool IsActive
|
||||||
{
|
{
|
||||||
@@ -69,16 +72,20 @@ namespace PepperDash.Essentials.Core
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[JsonIgnore]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the IsActiveFeedback
|
/// Gets or sets the IsActiveFeedback
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonIgnore]
|
||||||
public BoolFeedback IsActiveFeedback { get; private set; }
|
public BoolFeedback IsActiveFeedback { get; private set; }
|
||||||
|
|
||||||
private List<DeviceActionWrapper> activationActions;
|
private List<DeviceActionWrapper> activationActions;
|
||||||
|
|
||||||
private List<DeviceActionWrapper> deactivationActions;
|
private List<DeviceActionWrapper> deactivationActions;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor for RoomCombinationScenario
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="config">config of the room combine scenario</param>
|
||||||
public RoomCombinationScenario(RoomCombinationScenarioConfig config)
|
public RoomCombinationScenario(RoomCombinationScenarioConfig config)
|
||||||
{
|
{
|
||||||
Key = config.Key;
|
Key = config.Key;
|
||||||
@@ -98,6 +105,10 @@ namespace PepperDash.Essentials.Core
|
|||||||
IsActiveFeedback = new BoolFeedback(() => _isActive);
|
IsActiveFeedback = new BoolFeedback(() => _isActive);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Activates the scenario
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
public async Task Activate()
|
public async Task Activate()
|
||||||
{
|
{
|
||||||
this.LogInformation("Activating Scenario {name} with {activationActionCount} action(s) defined", Name, activationActions.Count);
|
this.LogInformation("Activating Scenario {name} with {activationActionCount} action(s) defined", Name, activationActions.Count);
|
||||||
@@ -116,6 +127,10 @@ namespace PepperDash.Essentials.Core
|
|||||||
IsActive = true;
|
IsActive = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Deactivates the scenario
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
public async Task Deactivate()
|
public async Task Deactivate()
|
||||||
{
|
{
|
||||||
this.LogInformation("Deactivating Scenario {name} with {deactivationActionCount} action(s) defined", Name, deactivationActions.Count);
|
this.LogInformation("Deactivating Scenario {name} with {deactivationActionCount} action(s) defined", Name, deactivationActions.Count);
|
||||||
|
|||||||
@@ -9,6 +9,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class EssentialsRoomEmergencyContactClosure : EssentialsRoomEmergencyBase, IEssentialsRoomEmergency
|
public class EssentialsRoomEmergencyContactClosure : EssentialsRoomEmergencyBase, IEssentialsRoomEmergency
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Event fired when emergency state changes
|
||||||
|
/// </summary>
|
||||||
public event EventHandler<EventArgs> EmergencyStateChange;
|
public event EventHandler<EventArgs> EmergencyStateChange;
|
||||||
|
|
||||||
IEssentialsRoom Room;
|
IEssentialsRoom Room;
|
||||||
@@ -20,6 +23,12 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool InEmergency { get; private set; }
|
public bool InEmergency { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor for EssentialsRoomEmergencyContactClosure
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key">device key</param>
|
||||||
|
/// <param name="config">emergency device config</param>
|
||||||
|
/// <param name="room">the room associated with this emergency contact closure</param>
|
||||||
public EssentialsRoomEmergencyContactClosure(string key, EssentialsRoomEmergencyConfig config, IEssentialsRoom room) :
|
public EssentialsRoomEmergencyContactClosure(string key, EssentialsRoomEmergencyConfig config, IEssentialsRoom room) :
|
||||||
base(key)
|
base(key)
|
||||||
{
|
{
|
||||||
@@ -95,8 +104,14 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IEssentialsRoomEmergency
|
public interface IEssentialsRoomEmergency
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Event fired when emergency state changes
|
||||||
|
/// </summary>
|
||||||
event EventHandler<EventArgs> EmergencyStateChange;
|
event EventHandler<EventArgs> EmergencyStateChange;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the InEmergency
|
||||||
|
/// </summary>
|
||||||
bool InEmergency { get; }
|
bool InEmergency { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -29,7 +29,14 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public event EventHandler<EventArgs> RoomOccupancyIsSet;
|
public event EventHandler<EventArgs> RoomOccupancyIsSet;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the IsWarmingUpFeedback
|
||||||
|
/// </summary>
|
||||||
public BoolFeedback IsWarmingUpFeedback { get; private set; }
|
public BoolFeedback IsWarmingUpFeedback { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the IsCoolingDownFeedback
|
||||||
|
/// </summary>
|
||||||
public BoolFeedback IsCoolingDownFeedback { get; private set; }
|
public BoolFeedback IsCoolingDownFeedback { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -37,10 +44,19 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public IOccupancyStatusProvider RoomOccupancy { get; protected set; }
|
public IOccupancyStatusProvider RoomOccupancy { get; protected set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the OccupancyStatusProviderIsRemote
|
||||||
|
/// </summary>
|
||||||
public bool OccupancyStatusProviderIsRemote { get; private set; }
|
public bool OccupancyStatusProviderIsRemote { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the EnvironmentalControlDevices
|
||||||
|
/// </summary>
|
||||||
public List<EssentialsDevice> EnvironmentalControlDevices { get; protected set; }
|
public List<EssentialsDevice> EnvironmentalControlDevices { get; protected set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Indicates if the room has any environmental control devices
|
||||||
|
/// </summary>
|
||||||
public bool HasEnvironmentalControlDevices
|
public bool HasEnvironmentalControlDevices
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -49,7 +65,14 @@ namespace PepperDash.Essentials.Core
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the IsWarmingFeedbackFunc
|
||||||
|
/// </summary>
|
||||||
protected abstract Func<bool> IsWarmingFeedbackFunc { get; }
|
protected abstract Func<bool> IsWarmingFeedbackFunc { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the IsCoolingFeedbackFunc
|
||||||
|
/// </summary>
|
||||||
protected abstract Func<bool> IsCoolingFeedbackFunc { get; }
|
protected abstract Func<bool> IsCoolingFeedbackFunc { get; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -62,6 +85,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public IMobileControlRoomMessenger MobileControlRoomBridge { get; private set; }
|
public IMobileControlRoomMessenger MobileControlRoomBridge { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The config name of the default source list
|
||||||
|
/// </summary>
|
||||||
protected const string _defaultListKey = "default";
|
protected const string _defaultListKey = "default";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -69,6 +95,10 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
///
|
///
|
||||||
private string _sourceListKey;
|
private string _sourceListKey;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the SourceListKey
|
||||||
|
/// </summary>
|
||||||
public string SourceListKey {
|
public string SourceListKey {
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
@@ -91,6 +121,10 @@ namespace PepperDash.Essentials.Core
|
|||||||
}
|
}
|
||||||
|
|
||||||
private string _destinationListKey;
|
private string _destinationListKey;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the DestinationListKey
|
||||||
|
/// </summary>
|
||||||
public string DestinationListKey
|
public string DestinationListKey
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -114,6 +148,10 @@ namespace PepperDash.Essentials.Core
|
|||||||
}
|
}
|
||||||
|
|
||||||
private string _audioControlPointListKey;
|
private string _audioControlPointListKey;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the AudioControlPointListKey
|
||||||
|
/// </summary>
|
||||||
public string AudioControlPointListKey
|
public string AudioControlPointListKey
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -137,6 +175,10 @@ namespace PepperDash.Essentials.Core
|
|||||||
}
|
}
|
||||||
|
|
||||||
private string _cameraListKey;
|
private string _cameraListKey;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the CameraListKey
|
||||||
|
/// </summary>
|
||||||
public string CameraListKey
|
public string CameraListKey
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -165,16 +207,33 @@ namespace PepperDash.Essentials.Core
|
|||||||
public SecondsCountdownTimer ShutdownPromptTimer { get; private set; }
|
public SecondsCountdownTimer ShutdownPromptTimer { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
/// Gets or sets the ShutdownPromptSeconds
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int ShutdownPromptSeconds { get; set; }
|
public int ShutdownPromptSeconds { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the ShutdownVacancySeconds
|
||||||
|
/// </summary>
|
||||||
public int ShutdownVacancySeconds { get; set; }
|
public int ShutdownVacancySeconds { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the ShutdownType
|
||||||
|
/// </summary>
|
||||||
public eShutdownType ShutdownType { get; private set; }
|
public eShutdownType ShutdownType { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the Emergency
|
||||||
|
/// </summary>
|
||||||
public EssentialsRoomEmergencyBase Emergency { get; set; }
|
public EssentialsRoomEmergencyBase Emergency { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the MicrophonePrivacy
|
||||||
|
/// </summary>
|
||||||
public Core.Privacy.MicrophonePrivacyController MicrophonePrivacy { get; set; }
|
public Core.Privacy.MicrophonePrivacyController MicrophonePrivacy { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the LogoUrlLightBkgnd
|
||||||
|
/// </summary>
|
||||||
public string LogoUrlLightBkgnd { get; set; }
|
public string LogoUrlLightBkgnd { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -182,6 +241,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string LogoUrlDarkBkgnd { get; set; }
|
public string LogoUrlDarkBkgnd { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the RoomVacancyShutdownTimer
|
||||||
|
/// </summary>
|
||||||
protected SecondsCountdownTimer RoomVacancyShutdownTimer { get; private set; }
|
protected SecondsCountdownTimer RoomVacancyShutdownTimer { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -204,6 +266,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
protected abstract Func<bool> OnFeedbackFunc { get; }
|
protected abstract Func<bool> OnFeedbackFunc { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the SavedVolumeLevels
|
||||||
|
/// </summary>
|
||||||
protected Dictionary<IBasicVolumeWithFeedback, uint> SavedVolumeLevels = new Dictionary<IBasicVolumeWithFeedback, uint>();
|
protected Dictionary<IBasicVolumeWithFeedback, uint> SavedVolumeLevels = new Dictionary<IBasicVolumeWithFeedback, uint>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -211,7 +276,10 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool ZeroVolumeWhenSwtichingVolumeDevices { get; private set; }
|
public bool ZeroVolumeWhenSwtichingVolumeDevices { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor for EssentialsRoomBase
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="config">config of the device</param>
|
||||||
public EssentialsRoomBase(DeviceConfig config)
|
public EssentialsRoomBase(DeviceConfig config)
|
||||||
: base(config)
|
: base(config)
|
||||||
{
|
{
|
||||||
@@ -283,6 +351,10 @@ namespace PepperDash.Essentials.Core
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the DestinationListKey property to the passed in value or the default if no value passed in
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="destinationListKey">key of the destination list object</param>
|
||||||
protected void SetDestinationListKey(string destinationListKey)
|
protected void SetDestinationListKey(string destinationListKey)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(destinationListKey))
|
if (!string.IsNullOrEmpty(destinationListKey))
|
||||||
@@ -396,6 +468,7 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// Sets the object to be used as the IOccupancyStatusProvider for the room. Can be an Occupancy Aggregator or a specific device
|
/// Sets the object to be used as the IOccupancyStatusProvider for the room. Can be an Occupancy Aggregator or a specific device
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="statusProvider"></param>
|
/// <param name="statusProvider"></param>
|
||||||
|
/// <param name="timeoutMinutes"></param>
|
||||||
public void SetRoomOccupancy(IOccupancyStatusProvider statusProvider, int timeoutMinutes)
|
public void SetRoomOccupancy(IOccupancyStatusProvider statusProvider, int timeoutMinutes)
|
||||||
{
|
{
|
||||||
if (statusProvider == null)
|
if (statusProvider == null)
|
||||||
@@ -479,16 +552,45 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public enum eShutdownType
|
public enum eShutdownType
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// No shutdown in progress
|
||||||
|
/// </summary>
|
||||||
None = 0,
|
None = 0,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Manual shutdown initiated
|
||||||
|
/// </summary>
|
||||||
External,
|
External,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Vacancy based shutdown
|
||||||
|
/// </summary>
|
||||||
Manual,
|
Manual,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Shutdown due to room vacancy
|
||||||
|
/// </summary>
|
||||||
Vacancy
|
Vacancy
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Enumeration of eVacancyMode values
|
||||||
|
/// </summary>
|
||||||
public enum eVacancyMode
|
public enum eVacancyMode
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// No vacancy detected
|
||||||
|
/// </summary>
|
||||||
None = 0,
|
None = 0,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// InInitialVacancy - countdown to warning
|
||||||
|
/// </summary>
|
||||||
InInitialVacancy,
|
InInitialVacancy,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// InShutdownWarning - countdown to shutdown
|
||||||
|
/// </summary>
|
||||||
InShutdownWarning
|
InShutdownWarning
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -497,15 +599,33 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public enum eWarmingCoolingMode
|
public enum eWarmingCoolingMode
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// None
|
||||||
|
/// </summary>
|
||||||
None,
|
None,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Warming
|
||||||
|
/// </summary>
|
||||||
Warming,
|
Warming,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Cooling
|
||||||
|
/// </summary>
|
||||||
Cooling
|
Cooling
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Base class for room emergency implementations
|
||||||
|
/// </summary>
|
||||||
public abstract class EssentialsRoomEmergencyBase : IKeyed
|
public abstract class EssentialsRoomEmergencyBase : IKeyed
|
||||||
{
|
{
|
||||||
public string Key { get; private set; }
|
public string Key { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor for EssentialsRoomEmergencyBase
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key">key of the room</param>
|
||||||
public EssentialsRoomEmergencyBase(string key)
|
public EssentialsRoomEmergencyBase(string key)
|
||||||
{
|
{
|
||||||
Key = key;
|
Key = key;
|
||||||
|
|||||||
@@ -17,34 +17,95 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IEssentialsRoom : IKeyName, IReconfigurableDevice, IRunDefaultPresentRoute, IEnvironmentalControls
|
public interface IEssentialsRoom : IKeyName, IReconfigurableDevice, IRunDefaultPresentRoute, IEnvironmentalControls
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the PowerFeedback
|
||||||
|
/// </summary>
|
||||||
BoolFeedback OnFeedback { get; }
|
BoolFeedback OnFeedback { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the IsOccupiedFeedback
|
||||||
|
/// </summary>
|
||||||
BoolFeedback IsWarmingUpFeedback { get; }
|
BoolFeedback IsWarmingUpFeedback { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the IsCoolingDownFeedback
|
||||||
|
/// </summary>
|
||||||
BoolFeedback IsCoolingDownFeedback { get; }
|
BoolFeedback IsCoolingDownFeedback { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets a value indicating whether mobile control is enabled for this room
|
||||||
|
/// </summary>
|
||||||
bool IsMobileControlEnabled { get; }
|
bool IsMobileControlEnabled { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the MobileControlRoomBridge
|
||||||
|
/// </summary>
|
||||||
IMobileControlRoomMessenger MobileControlRoomBridge { get; }
|
IMobileControlRoomMessenger MobileControlRoomBridge { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the SourceListKey
|
||||||
|
/// </summary>
|
||||||
string SourceListKey { get; }
|
string SourceListKey { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the DestinationListKey
|
||||||
|
/// </summary>
|
||||||
string DestinationListKey { get; }
|
string DestinationListKey { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the AudioControlPointListKey
|
||||||
|
/// </summary>
|
||||||
string AudioControlPointListKey { get; }
|
string AudioControlPointListKey { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the CameraListKey
|
||||||
|
/// </summary>
|
||||||
string CameraListKey { get; }
|
string CameraListKey { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the ShutdownPromptTimer
|
||||||
|
/// </summary>
|
||||||
SecondsCountdownTimer ShutdownPromptTimer { get; }
|
SecondsCountdownTimer ShutdownPromptTimer { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the ShutdownVacancyTimer
|
||||||
|
/// </summary>
|
||||||
int ShutdownPromptSeconds { get; }
|
int ShutdownPromptSeconds { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the ShutdownVacancySeconds
|
||||||
|
/// </summary>
|
||||||
int ShutdownVacancySeconds { get; }
|
int ShutdownVacancySeconds { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the ShutdownType
|
||||||
|
/// </summary>
|
||||||
eShutdownType ShutdownType { get; }
|
eShutdownType ShutdownType { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the LogoUrlLightBkgnd
|
||||||
|
/// </summary>
|
||||||
string LogoUrlLightBkgnd { get; }
|
string LogoUrlLightBkgnd { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the LogoUrlDarkBkgnd
|
||||||
|
/// </summary>
|
||||||
string LogoUrlDarkBkgnd { get; }
|
string LogoUrlDarkBkgnd { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Starts the shutdown process
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="type">type of shutdown event</param>
|
||||||
void StartShutdown(eShutdownType type);
|
void StartShutdown(eShutdownType type);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Shuts down the room
|
||||||
|
/// </summary>
|
||||||
void Shutdown();
|
void Shutdown();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Powers on the room to either the default source or the last source used
|
||||||
|
/// </summary>
|
||||||
void PowerOnToDefaultOrLastSource();
|
void PowerOnToDefaultOrLastSource();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,10 +9,21 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IRoomEventSchedule
|
public interface IRoomEventSchedule
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Adds or updates a scheduled event
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="eventConfig"></param>
|
||||||
void AddOrUpdateScheduledEvent(ScheduledEventConfig eventConfig);
|
void AddOrUpdateScheduledEvent(ScheduledEventConfig eventConfig);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Removes a scheduled event by its key
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
List<ScheduledEventConfig> GetScheduledEvents();
|
List<ScheduledEventConfig> GetScheduledEvents();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Removes a scheduled event by its key
|
||||||
|
/// </summary>
|
||||||
event EventHandler<ScheduledEventEventArgs> ScheduledEventsChanged;
|
event EventHandler<ScheduledEventEventArgs> ScheduledEventsChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IHasInCallFeedback
|
public interface IHasInCallFeedback
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the InCallFeedback
|
||||||
|
/// </summary>
|
||||||
BoolFeedback InCallFeedback { get; }
|
BoolFeedback InCallFeedback { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -19,6 +22,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IHasDefaultDisplay
|
public interface IHasDefaultDisplay
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the DefaultDisplay
|
||||||
|
/// </summary>
|
||||||
IRoutingSink DefaultDisplay { get; }
|
IRoutingSink DefaultDisplay { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,8 +42,19 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IRunRouteAction
|
public interface IRunRouteAction
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Runs a route action
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="routeKey"></param>
|
||||||
|
/// <param name="sourceListKey"></param>
|
||||||
void RunRouteAction(string routeKey, string sourceListKey);
|
void RunRouteAction(string routeKey, string sourceListKey);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Runs a route action with a success callback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="routeKey"></param>
|
||||||
|
/// <param name="sourceListKey"></param>
|
||||||
|
/// <param name="successCallback"></param>
|
||||||
void RunRouteAction(string routeKey, string sourceListKey, Action successCallback);
|
void RunRouteAction(string routeKey, string sourceListKey, Action successCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -46,6 +63,12 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IRunDirectRouteAction
|
public interface IRunDirectRouteAction
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Runs a direct route
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sourceKey"></param>
|
||||||
|
/// <param name="destinationKey"></param>
|
||||||
|
/// <param name="type"></param>
|
||||||
void RunDirectRoute(string sourceKey, string destinationKey, eRoutingSignalType type = eRoutingSignalType.AudioVideo);
|
void RunDirectRoute(string sourceKey, string destinationKey, eRoutingSignalType type = eRoutingSignalType.AudioVideo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,8 +77,14 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IHasMatrixRouting
|
public interface IHasMatrixRouting
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the MatrixRoutingDeviceKey
|
||||||
|
/// </summary>
|
||||||
string MatrixRoutingDeviceKey { get; }
|
string MatrixRoutingDeviceKey { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the EndpointKeys
|
||||||
|
/// </summary>
|
||||||
List<string> EndpointKeys { get; }
|
List<string> EndpointKeys { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -64,6 +93,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IHasRoutingEndpoints
|
public interface IHasRoutingEndpoints
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the EndpointKeys
|
||||||
|
/// </summary>
|
||||||
List<string> EndpointKeys { get; }
|
List<string> EndpointKeys { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -72,10 +104,21 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IShutdownPromptTimer
|
public interface IShutdownPromptTimer
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the ShutdownPromptTimer
|
||||||
|
/// </summary>
|
||||||
SecondsCountdownTimer ShutdownPromptTimer { get; }
|
SecondsCountdownTimer ShutdownPromptTimer { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the ShutdownPromptSeconds
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="seconds">number of seconds to set</param>
|
||||||
void SetShutdownPromptSeconds(int seconds);
|
void SetShutdownPromptSeconds(int seconds);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Starts the shutdown process
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="type">type of shutdown event</param>
|
||||||
void StartShutdown(eShutdownType type);
|
void StartShutdown(eShutdownType type);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,14 +127,32 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface ITechPassword
|
public interface ITechPassword
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Event fired when tech password validation result is available
|
||||||
|
/// </summary>
|
||||||
event EventHandler<TechPasswordEventArgs> TechPasswordValidateResult;
|
event EventHandler<TechPasswordEventArgs> TechPasswordValidateResult;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event fired when tech password is changed
|
||||||
|
/// </summary>
|
||||||
event EventHandler<EventArgs> TechPasswordChanged;
|
event EventHandler<EventArgs> TechPasswordChanged;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the TechPasswordLength
|
||||||
|
/// </summary>
|
||||||
int TechPasswordLength { get; }
|
int TechPasswordLength { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Validates the tech password
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="password">The tech password to validate</param>
|
||||||
void ValidateTechPassword(string password);
|
void ValidateTechPassword(string password);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the tech password
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="oldPassword">The current tech password</param>
|
||||||
|
/// <param name="newPassword">The new tech password to set</param>
|
||||||
void SetTechPassword(string oldPassword, string newPassword);
|
void SetTechPassword(string oldPassword, string newPassword);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,6 +166,10 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsValid { get; private set; }
|
public bool IsValid { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor for TechPasswordEventArgs
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="isValid"></param>
|
||||||
public TechPasswordEventArgs(bool isValid)
|
public TechPasswordEventArgs(bool isValid)
|
||||||
{
|
{
|
||||||
IsValid = isValid;
|
IsValid = isValid;
|
||||||
@@ -116,6 +181,10 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IRunDefaultPresentRoute
|
public interface IRunDefaultPresentRoute
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Runs the default present route
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
bool RunDefaultPresentRoute();
|
bool RunDefaultPresentRoute();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,6 +193,10 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IRunDefaultCallRoute : IRunDefaultPresentRoute
|
public interface IRunDefaultCallRoute : IRunDefaultPresentRoute
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Runs the default call route
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
bool RunDefaultCallRoute();
|
bool RunDefaultCallRoute();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -132,24 +205,59 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IEnvironmentalControls
|
public interface IEnvironmentalControls
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the EnvironmentalControlDevices
|
||||||
|
/// </summary>
|
||||||
List<EssentialsDevice> EnvironmentalControlDevices { get; }
|
List<EssentialsDevice> EnvironmentalControlDevices { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets a value indicating whether the room has environmental control devices
|
||||||
|
/// </summary>
|
||||||
bool HasEnvironmentalControlDevices { get; }
|
bool HasEnvironmentalControlDevices { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Defines the contract for IRoomOccupancy
|
||||||
|
/// </summary>
|
||||||
public interface IRoomOccupancy : IKeyed
|
public interface IRoomOccupancy : IKeyed
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the RoomOccupancy
|
||||||
|
/// </summary>
|
||||||
IOccupancyStatusProvider RoomOccupancy { get; }
|
IOccupancyStatusProvider RoomOccupancy { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets a value indicating whether the OccupancyStatusProviderIsRemote
|
||||||
|
/// </summary>
|
||||||
bool OccupancyStatusProviderIsRemote { get; }
|
bool OccupancyStatusProviderIsRemote { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the room occupancy
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="statusProvider"></param>
|
||||||
|
/// <param name="timeoutMinutes"></param>
|
||||||
void SetRoomOccupancy(IOccupancyStatusProvider statusProvider, int timeoutMinutes);
|
void SetRoomOccupancy(IOccupancyStatusProvider statusProvider, int timeoutMinutes);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Called when the room has been vacated for the timeout period
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="o"></param>
|
||||||
void RoomVacatedForTimeoutPeriod(object o);
|
void RoomVacatedForTimeoutPeriod(object o);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Starts the room vacancy timer
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="mode">vacancy mode</param>
|
||||||
void StartRoomVacancyTimer(eVacancyMode mode);
|
void StartRoomVacancyTimer(eVacancyMode mode);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the VacancyMode
|
||||||
|
/// </summary>
|
||||||
eVacancyMode VacancyMode { get; }
|
eVacancyMode VacancyMode { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event fired when room occupancy is set
|
||||||
|
/// </summary>
|
||||||
event EventHandler<EventArgs> RoomOccupancyIsSet;
|
event EventHandler<EventArgs> RoomOccupancyIsSet;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -158,6 +266,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IEmergency
|
public interface IEmergency
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the Emergency
|
||||||
|
/// </summary>
|
||||||
EssentialsRoomEmergencyBase Emergency { get; }
|
EssentialsRoomEmergencyBase Emergency { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -166,6 +277,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IMicrophonePrivacy
|
public interface IMicrophonePrivacy
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the MicrophonePrivacy
|
||||||
|
/// </summary>
|
||||||
Core.Privacy.MicrophonePrivacyController MicrophonePrivacy { get; }
|
Core.Privacy.MicrophonePrivacyController MicrophonePrivacy { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -174,6 +288,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IHasAccessoryDevices : IKeyName
|
public interface IHasAccessoryDevices : IKeyName
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the AccessoryDeviceKeys
|
||||||
|
/// </summary>
|
||||||
List<string> AccessoryDeviceKeys { get; }
|
List<string> AccessoryDeviceKeys { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,6 +299,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IHasCiscoNavigatorTouchpanel
|
public interface IHasCiscoNavigatorTouchpanel
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the CiscoNavigatorTouchpanelKey
|
||||||
|
/// </summary>
|
||||||
string CiscoNavigatorTouchpanelKey { get; }
|
string CiscoNavigatorTouchpanelKey { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -12,33 +12,54 @@ namespace PepperDash.Essentials.Core
|
|||||||
{
|
{
|
||||||
//***************************************************************************************************
|
//***************************************************************************************************
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Abstract base class for Room
|
||||||
|
/// </summary>
|
||||||
public abstract class Room : Device, IHasFeedback
|
public abstract class Room : Device, IHasFeedback
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the RoomIsOnFeedback
|
||||||
|
/// </summary>
|
||||||
public abstract BoolFeedback RoomIsOnFeedback { get; protected set; }
|
public abstract BoolFeedback RoomIsOnFeedback { get; protected set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the IsCoolingDownFeedback
|
||||||
|
/// </summary>
|
||||||
public abstract BoolFeedback IsCoolingDownFeedback { get; protected set; }
|
public abstract BoolFeedback IsCoolingDownFeedback { get; protected set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the IsWarmingUpFeedback
|
||||||
|
/// </summary>
|
||||||
public abstract BoolFeedback IsWarmingUpFeedback { get; protected set; }
|
public abstract BoolFeedback IsWarmingUpFeedback { get; protected set; }
|
||||||
|
|
||||||
// In concrete classes, these should be computed from the relevant devices
|
// In concrete classes, these should be computed from the relevant devices
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the CooldownTime
|
/// Gets or sets the CooldownTime
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public virtual uint CooldownTime { get { return 10000; } }
|
public virtual uint CooldownTime { get { return 10000; } }
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the WarmupTime
|
/// <summary>
|
||||||
/// </summary>
|
/// Gets or sets the WarmupTime
|
||||||
/// <inheritdoc />
|
/// </summary>
|
||||||
|
/// <inheritdoc />
|
||||||
public virtual uint WarmupTime { get { return 5000; } }
|
public virtual uint WarmupTime { get { return 5000; } }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Description
|
/// Gets or sets the Description
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Description { get; set; }
|
public string Description { get; set; }
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the HelpMessage
|
/// <summary>
|
||||||
/// </summary>
|
/// Gets or sets the HelpMessage
|
||||||
|
/// </summary>
|
||||||
public string HelpMessage { get; set; }
|
public string HelpMessage { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Room Constructor
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key">room key</param>
|
||||||
|
/// <param name="name">room name</param>
|
||||||
public Room(string key, string name)
|
public Room(string key, string name)
|
||||||
: base(key, name)
|
: base(key, name)
|
||||||
{
|
{
|
||||||
@@ -59,6 +80,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
|
|
||||||
#region IDeviceWithOutputs Members
|
#region IDeviceWithOutputs Members
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the Feedbacks
|
||||||
|
/// </summary>
|
||||||
public virtual FeedbackCollection<Feedback> Feedbacks
|
public virtual FeedbackCollection<Feedback> Feedbacks
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
|||||||
@@ -13,6 +13,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IOccupancyStatusProvider
|
public interface IOccupancyStatusProvider
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the RoomIsOccupiedFeedback
|
||||||
|
/// </summary>
|
||||||
BoolFeedback RoomIsOccupiedFeedback { get; }
|
BoolFeedback RoomIsOccupiedFeedback { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -326,6 +326,8 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// <param name="signalType">This recursive function should not be called with AudioVideo</param>
|
/// <param name="signalType">This recursive function should not be called with AudioVideo</param>
|
||||||
/// <param name="cycle">Just an informational counter</param>
|
/// <param name="cycle">Just an informational counter</param>
|
||||||
/// <param name="routeTable">The RouteDescriptor being populated as the route is discovered</param>
|
/// <param name="routeTable">The RouteDescriptor being populated as the route is discovered</param>
|
||||||
|
/// <param name="outputPortToUse">The RoutingOutputPort to use for the route</param>
|
||||||
|
/// <param name="sourcePort">The specific source output port to use (optional)</param>
|
||||||
/// <returns>true if source is hit</returns>
|
/// <returns>true if source is hit</returns>
|
||||||
private static bool GetRouteToSource(this IRoutingInputs destination, IRoutingOutputs source,
|
private static bool GetRouteToSource(this IRoutingInputs destination, IRoutingOutputs source,
|
||||||
RoutingOutputPort outputPortToUse, List<IRoutingInputsOutputs> alreadyCheckedDevices,
|
RoutingOutputPort outputPortToUse, List<IRoutingInputsOutputs> alreadyCheckedDevices,
|
||||||
|
|||||||
@@ -12,8 +12,14 @@ namespace PepperDash.Essentials.Core.Routing
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IVideoSync : IKeyed
|
public interface IVideoSync : IKeyed
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets whether or not video sync is detected
|
||||||
|
/// </summary>
|
||||||
bool VideoSyncDetected { get; }
|
bool VideoSyncDetected { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event raised when video sync changes
|
||||||
|
/// </summary>
|
||||||
event EventHandler VideoSyncChanged;
|
event EventHandler VideoSyncChanged;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,9 +7,22 @@ namespace PepperDash.Essentials.Core.Routing
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IMatrixRouting
|
public interface IMatrixRouting
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the input slots
|
||||||
|
/// </summary>
|
||||||
Dictionary<string, IRoutingInputSlot> InputSlots { get; }
|
Dictionary<string, IRoutingInputSlot> InputSlots { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the output slots
|
||||||
|
/// </summary>
|
||||||
Dictionary<string, IRoutingOutputSlot> OutputSlots { get; }
|
Dictionary<string, IRoutingOutputSlot> OutputSlots { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Routes the specified input slot to the specified output slot for the specified signal type
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inputSlotKey">key of the input slot</param>
|
||||||
|
/// <param name="outputSlotKey">key of the output slot</param>
|
||||||
|
/// <param name="type">signal type</param>
|
||||||
void Route(string inputSlotKey, string outputSlotKey, eRoutingSignalType type);
|
void Route(string inputSlotKey, string outputSlotKey, eRoutingSignalType type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,9 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IRmcRouting : IRoutingNumeric
|
public interface IRmcRouting : IRoutingNumeric
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Feedback for the current Audio/Video source as a number
|
||||||
|
/// </summary>
|
||||||
IntFeedback AudioVideoSourceNumericFeedback { get; }
|
IntFeedback AudioVideoSourceNumericFeedback { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -11,6 +11,12 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IRouting : IRoutingInputsOutputs
|
public interface IRouting : IRoutingInputsOutputs
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Executes a switch on the device
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inputSelector">input selector</param>
|
||||||
|
/// <param name="outputSelector">output selector</param>
|
||||||
|
/// <param name="signalType">type of signal</param>
|
||||||
void ExecuteSwitch(object inputSelector, object outputSelector, eRoutingSignalType signalType);
|
void ExecuteSwitch(object inputSelector, object outputSelector, eRoutingSignalType signalType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IRoutingFeedback : IKeyName
|
public interface IRoutingFeedback : IKeyName
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Event raised when a numeric switch changes
|
||||||
|
/// </summary>
|
||||||
event EventHandler<RoutingNumericEventArgs> NumericSwitchChange;
|
event EventHandler<RoutingNumericEventArgs> NumericSwitchChange;
|
||||||
//void OnSwitchChange(RoutingNumericEventArgs e);
|
//void OnSwitchChange(RoutingNumericEventArgs e);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IRoutingHasVideoInputSyncFeedbacks
|
public interface IRoutingHasVideoInputSyncFeedbacks
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Video Input Sync Feedbacks
|
||||||
|
/// </summary>
|
||||||
FeedbackCollection<BoolFeedback> VideoInputSyncFeedbacks { get; }
|
FeedbackCollection<BoolFeedback> VideoInputSyncFeedbacks { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,6 +5,9 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IRoutingInputSlot: IRoutingSlot, IOnline, IVideoSync
|
public interface IRoutingInputSlot: IRoutingSlot, IOnline, IVideoSync
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the Tx device key
|
||||||
|
/// </summary>
|
||||||
string TxDeviceKey { get; }
|
string TxDeviceKey { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IRoutingInputs : IKeyed
|
public interface IRoutingInputs : IKeyed
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Collection of Input Ports
|
||||||
|
/// </summary>
|
||||||
RoutingPortCollection<RoutingInputPort> InputPorts { get; }
|
RoutingPortCollection<RoutingInputPort> InputPorts { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,12 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IRoutingNumeric : IRouting
|
public interface IRoutingNumeric : IRouting
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Executes a numeric switch on the device
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input">input selector</param>
|
||||||
|
/// <param name="output">output selector</param>
|
||||||
|
/// <param name="type">type of signal</param>
|
||||||
void ExecuteNumericSwitch(ushort input, ushort output, eRoutingSignalType type);
|
void ExecuteNumericSwitch(ushort input, ushort output, eRoutingSignalType type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8,10 +8,19 @@ namespace PepperDash.Essentials.Core.Routing
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IRoutingOutputSlot : IRoutingSlot
|
public interface IRoutingOutputSlot : IRoutingSlot
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Event raised when output slot changes
|
||||||
|
/// </summary>
|
||||||
event EventHandler OutputSlotChanged;
|
event EventHandler OutputSlotChanged;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the Rx device key
|
||||||
|
/// </summary>
|
||||||
string RxDeviceKey { get; }
|
string RxDeviceKey { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the current routes
|
||||||
|
/// </summary>
|
||||||
Dictionary<eRoutingSignalType, IRoutingInputSlot> CurrentRoutes { get; }
|
Dictionary<eRoutingSignalType, IRoutingInputSlot> CurrentRoutes { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IRoutingOutputs : IKeyed
|
public interface IRoutingOutputs : IKeyed
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Collection of Output Ports
|
||||||
|
/// </summary>
|
||||||
RoutingPortCollection<RoutingOutputPort> OutputPorts { get; }
|
RoutingPortCollection<RoutingOutputPort> OutputPorts { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IRoutingSinkWithSwitching : IRoutingSink
|
public interface IRoutingSinkWithSwitching : IRoutingSink
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Executes a switch on the device
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inputSelector">input selector</param>
|
||||||
void ExecuteSwitch(object inputSelector);
|
void ExecuteSwitch(object inputSelector);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -20,6 +24,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IRoutingSinkWithSwitchingWithInputPort:IRoutingSinkWithSwitching, IRoutingSinkWithInputPort
|
public interface IRoutingSinkWithSwitchingWithInputPort:IRoutingSinkWithSwitching, IRoutingSinkWithInputPort
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Event raised when the input changes
|
||||||
|
/// </summary>
|
||||||
event InputChangedEventHandler InputChanged;
|
event InputChangedEventHandler InputChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,8 +12,14 @@ namespace PepperDash.Essentials.Core.Routing
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IRoutingSlot:IKeyName
|
public interface IRoutingSlot:IKeyName
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the slot number
|
||||||
|
/// </summary>
|
||||||
int SlotNumber { get; }
|
int SlotNumber { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the supported signal types
|
||||||
|
/// </summary>
|
||||||
eRoutingSignalType SupportedSignalTypes { get; }
|
eRoutingSignalType SupportedSignalTypes { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class RouteDescriptorCollection
|
public class RouteDescriptorCollection
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// DefaultCollection static property
|
||||||
|
/// </summary>
|
||||||
public static RouteDescriptorCollection DefaultCollection
|
public static RouteDescriptorCollection DefaultCollection
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -57,6 +60,12 @@ namespace PepperDash.Essentials.Core
|
|||||||
return RouteDescriptors.FirstOrDefault(rd => rd.Destination == destination);
|
return RouteDescriptors.FirstOrDefault(rd => rd.Destination == destination);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the RouteDescriptor for a destination and input port key. Returns null if no matching RouteDescriptor exists.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="destination"></param>
|
||||||
|
/// <param name="inputPortKey"></param>
|
||||||
|
/// <returns></returns>
|
||||||
public RouteDescriptor GetRouteDescriptorForDestinationAndInputPort(IRoutingInputs destination, string inputPortKey)
|
public RouteDescriptor GetRouteDescriptorForDestinationAndInputPort(IRoutingInputs destination, string inputPortKey)
|
||||||
{
|
{
|
||||||
Debug.LogMessage(LogEventLevel.Information, "Getting route descriptor for '{destination}':'{inputPortKey}'", destination?.Key ?? null, string.IsNullOrEmpty(inputPortKey) ? "auto" : inputPortKey);
|
Debug.LogMessage(LogEventLevel.Information, "Getting route descriptor for '{destination}':'{inputPortKey}'", destination?.Key ?? null, string.IsNullOrEmpty(inputPortKey) ? "auto" : inputPortKey);
|
||||||
|
|||||||
@@ -21,6 +21,9 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// <param name="selector">An object used to refer to this port in the IRouting device's ExecuteSwitch method.
|
/// <param name="selector">An object used to refer to this port in the IRouting device's ExecuteSwitch method.
|
||||||
/// May be string, number, whatever</param>
|
/// May be string, number, whatever</param>
|
||||||
/// <param name="parent">The IRoutingInputs object this lives on</param>
|
/// <param name="parent">The IRoutingInputs object this lives on</param>
|
||||||
|
/// <param name="key">key of the port</param>
|
||||||
|
/// <param name="type">type of the routing signal</param>
|
||||||
|
/// <param name="connType">connection type of the port</param>
|
||||||
public RoutingInputPort(string key, eRoutingSignalType type, eRoutingPortConnectionType connType,
|
public RoutingInputPort(string key, eRoutingSignalType type, eRoutingPortConnectionType connType,
|
||||||
object selector, IRoutingInputs parent)
|
object selector, IRoutingInputs parent)
|
||||||
: this (key, type, connType, selector, parent, false)
|
: this (key, type, connType, selector, parent, false)
|
||||||
@@ -32,6 +35,12 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// the ports that link a DM card to a DM matrix bus
|
/// the ports that link a DM card to a DM matrix bus
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="isInternal">true for internal ports</param>
|
/// <param name="isInternal">true for internal ports</param>
|
||||||
|
/// <param name="key">key of the port</param>
|
||||||
|
/// <param name="type">type of the routing signal</param>
|
||||||
|
/// <param name="connType">connection type of the port</param>
|
||||||
|
/// <param name="selector">An object used to refer to this port in the IRouting device's ExecuteSwitch method.
|
||||||
|
/// May be string, number, whatever</param>
|
||||||
|
/// <param name="parent">The IRoutingInputs object this lives on</param>
|
||||||
public RoutingInputPort(string key, eRoutingSignalType type, eRoutingPortConnectionType connType,
|
public RoutingInputPort(string key, eRoutingSignalType type, eRoutingPortConnectionType connType,
|
||||||
object selector, IRoutingInputs parent, bool isInternal)
|
object selector, IRoutingInputs parent, bool isInternal)
|
||||||
: base(key, type, connType, selector, isInternal)
|
: base(key, type, connType, selector, isInternal)
|
||||||
|
|||||||
@@ -5,7 +5,99 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public enum eRoutingPortConnectionType
|
public enum eRoutingPortConnectionType
|
||||||
{
|
{
|
||||||
None, BackplaneOnly, DisplayPort, Dvi, Hdmi, Rgb, Vga, LineAudio, DigitalAudio, Sdi,
|
/// <summary>
|
||||||
Composite, Component, DmCat, DmMmFiber, DmSmFiber, Speaker, Streaming, UsbC, HdBaseT
|
/// No connection type
|
||||||
|
/// </summary>
|
||||||
|
None,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Backplane only connection
|
||||||
|
/// </summary>
|
||||||
|
BackplaneOnly,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Connection via cable
|
||||||
|
/// </summary>
|
||||||
|
DisplayPort,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DVI connection
|
||||||
|
/// </summary>
|
||||||
|
Dvi,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// HDMI connection
|
||||||
|
/// </summary>
|
||||||
|
Hdmi,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// RGB connection
|
||||||
|
/// </summary>
|
||||||
|
Rgb,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// VGA connection
|
||||||
|
/// </summary>
|
||||||
|
Vga,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Line audio connection
|
||||||
|
/// </summary>
|
||||||
|
LineAudio,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Digital audio connection
|
||||||
|
/// </summary>
|
||||||
|
DigitalAudio,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// SDI connection
|
||||||
|
/// </summary>
|
||||||
|
Sdi,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Composite connection
|
||||||
|
/// </summary>
|
||||||
|
Composite,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Component connection
|
||||||
|
/// </summary>
|
||||||
|
Component,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DM CAT connection
|
||||||
|
/// </summary>
|
||||||
|
DmCat,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DM MM Fiber connection
|
||||||
|
/// </summary>
|
||||||
|
DmMmFiber,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DM SM Fiber connection
|
||||||
|
/// </summary>
|
||||||
|
DmSmFiber,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Speaker connection
|
||||||
|
/// </summary>
|
||||||
|
Speaker,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Microphone connection
|
||||||
|
/// </summary>
|
||||||
|
Streaming,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// USB-C connection
|
||||||
|
/// </summary>
|
||||||
|
UsbC,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// HDBaseT connection
|
||||||
|
/// </summary>
|
||||||
|
HdBaseT
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,17 +3,40 @@
|
|||||||
|
|
||||||
namespace PepperDash.Essentials.Core
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
[Flags]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Enumeration of eRoutingSignalType values
|
/// Enumeration of eRoutingSignalType values
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Flags]
|
||||||
public enum eRoutingSignalType
|
public enum eRoutingSignalType
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Audio signal type
|
||||||
|
/// </summary>
|
||||||
Audio = 1,
|
Audio = 1,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Video signal type
|
||||||
|
/// </summary>
|
||||||
Video = 2,
|
Video = 2,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// AudioVideo signal type
|
||||||
|
/// </summary>
|
||||||
AudioVideo = Audio | Video,
|
AudioVideo = Audio | Video,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Control signal type
|
||||||
|
/// </summary>
|
||||||
UsbOutput = 8,
|
UsbOutput = 8,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Control signal type
|
||||||
|
/// </summary>
|
||||||
UsbInput = 16,
|
UsbInput = 16,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Secondary audio signal type
|
||||||
|
/// </summary>
|
||||||
SecondaryAudio = 32
|
SecondaryAudio = 32
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user