mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-11 10:45:00 +00:00
docs: complete XML documentation for all projects with inheritdoc tags
Co-authored-by: andrew-welker <1765622+andrew-welker@users.noreply.github.com>
This commit is contained in:
@@ -33,6 +33,9 @@ namespace PepperDash.Essentials.Core
|
||||
|
||||
const string FeatureEnableEventName = "EnableRoomOnToDefaultSourceWhenOccupied";
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the FeatureDisabledTime
|
||||
/// </summary>
|
||||
public DateTime FeatureDisabledTime { get; private set; }
|
||||
|
||||
ScheduledEvent FeatureDisableEvent;
|
||||
@@ -41,6 +44,9 @@ namespace PepperDash.Essentials.Core
|
||||
|
||||
ScheduledEventGroup FeatureEventGroup;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the Room
|
||||
/// </summary>
|
||||
public IRoomOccupancy Room { get; private set; }
|
||||
|
||||
private Fusion.EssentialsHuddleSpaceFusionSystemControllerBase FusionRoom;
|
||||
@@ -75,6 +81,10 @@ namespace PepperDash.Essentials.Core
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// CustomActivate method
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public override bool CustomActivate()
|
||||
{
|
||||
SetUpDevice();
|
||||
@@ -505,42 +515,81 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a RoomOnToDefaultSourceWhenOccupiedConfig
|
||||
/// </summary>
|
||||
public class RoomOnToDefaultSourceWhenOccupiedConfig
|
||||
{
|
||||
[JsonProperty("roomKey")]
|
||||
/// <summary>
|
||||
/// Gets or sets the RoomKey
|
||||
/// </summary>
|
||||
public string RoomKey { get; set; }
|
||||
|
||||
[JsonProperty("enableRoomOnWhenOccupied")]
|
||||
/// <summary>
|
||||
/// Gets or sets the EnableRoomOnWhenOccupied
|
||||
/// </summary>
|
||||
public bool EnableRoomOnWhenOccupied { get; set; }
|
||||
|
||||
[JsonProperty("occupancyStartTime")]
|
||||
/// <summary>
|
||||
/// Gets or sets the OccupancyStartTime
|
||||
/// </summary>
|
||||
public string OccupancyStartTime { get; set; }
|
||||
|
||||
[JsonProperty("occupancyEndTime")]
|
||||
/// <summary>
|
||||
/// Gets or sets the OccupancyEndTime
|
||||
/// </summary>
|
||||
public string OccupancyEndTime { get; set; }
|
||||
|
||||
[JsonProperty("enableSunday")]
|
||||
/// <summary>
|
||||
/// Gets or sets the EnableSunday
|
||||
/// </summary>
|
||||
public bool EnableSunday { get; set; }
|
||||
|
||||
[JsonProperty("enableMonday")]
|
||||
/// <summary>
|
||||
/// Gets or sets the EnableMonday
|
||||
/// </summary>
|
||||
public bool EnableMonday { get; set; }
|
||||
|
||||
[JsonProperty("enableTuesday")]
|
||||
/// <summary>
|
||||
/// Gets or sets the EnableTuesday
|
||||
/// </summary>
|
||||
public bool EnableTuesday { get; set; }
|
||||
|
||||
[JsonProperty("enableWednesday")]
|
||||
/// <summary>
|
||||
/// Gets or sets the EnableWednesday
|
||||
/// </summary>
|
||||
public bool EnableWednesday { get; set; }
|
||||
|
||||
[JsonProperty("enableThursday")]
|
||||
/// <summary>
|
||||
/// Gets or sets the EnableThursday
|
||||
/// </summary>
|
||||
public bool EnableThursday { get; set; }
|
||||
|
||||
[JsonProperty("enableFriday")]
|
||||
/// <summary>
|
||||
/// Gets or sets the EnableFriday
|
||||
/// </summary>
|
||||
public bool EnableFriday { get; set; }
|
||||
|
||||
[JsonProperty("enableSaturday")]
|
||||
/// <summary>
|
||||
/// Gets or sets the EnableSaturday
|
||||
/// </summary>
|
||||
public bool EnableSaturday { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a RoomOnToDefaultSourceWhenOccupiedFactory
|
||||
/// </summary>
|
||||
public class RoomOnToDefaultSourceWhenOccupiedFactory : EssentialsDeviceFactory<RoomOnToDefaultSourceWhenOccupied>
|
||||
{
|
||||
public RoomOnToDefaultSourceWhenOccupiedFactory()
|
||||
@@ -548,6 +597,10 @@ namespace PepperDash.Essentials.Core
|
||||
TypeNames = new List<string>() { "roomonwhenoccupancydetectedfeature" };
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// BuildDevice method
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||
{
|
||||
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new RoomOnToDefaultSourceWhenOccupied Device");
|
||||
|
||||
@@ -10,8 +10,8 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace PepperDash.Essentials.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a device that manages room combinations by controlling partitions and scenarios.
|
||||
/// <summary>
|
||||
/// Represents a device that manages room combinations by controlling partitions and scenarios.
|
||||
/// </summary>
|
||||
/// <remarks>The <see cref="EssentialsRoomCombiner"/> allows for dynamic configuration of room
|
||||
/// combinations based on partition states and predefined scenarios. It supports both automatic and manual modes
|
||||
@@ -25,8 +25,8 @@ namespace PepperDash.Essentials.Core
|
||||
|
||||
private List<IEssentialsRoom> _rooms;
|
||||
|
||||
/// <summary>
|
||||
/// Gets a list of rooms represented as key-name pairs.
|
||||
/// <summary>
|
||||
/// Gets a list of rooms represented as key-name pairs.
|
||||
/// </summary>
|
||||
public List<IKeyName> Rooms
|
||||
{
|
||||
@@ -38,8 +38,8 @@ namespace PepperDash.Essentials.Core
|
||||
|
||||
private bool _isInAutoMode;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether the system is operating in automatic mode.
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether the system is operating in automatic mode.
|
||||
/// </summary>
|
||||
/// <remarks>Changing this property triggers an update event via
|
||||
/// <c>IsInAutoModeFeedback.FireUpdate()</c>. Ensure that any event listeners are properly configured to handle
|
||||
@@ -62,8 +62,8 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether automatic mode is disabled.
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether automatic mode is disabled.
|
||||
/// </summary>
|
||||
public bool DisableAutoMode
|
||||
{
|
||||
@@ -79,18 +79,18 @@ namespace PepperDash.Essentials.Core
|
||||
|
||||
private Mutex _scenarioChange = new Mutex();
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="EssentialsRoomCombiner"/> class, which manages room combination
|
||||
/// scenarios and partition states.
|
||||
/// </summary>
|
||||
/// <remarks>The <see cref="EssentialsRoomCombiner"/> class is designed to handle dynamic room
|
||||
/// combination scenarios based on partition states. It supports both automatic and manual modes for managing
|
||||
/// room combinations. By default, the instance starts in automatic mode unless the <paramref name="props"/>
|
||||
/// specifies otherwise. After activation, the room combiner initializes partition state providers and sets up
|
||||
/// the initial room configuration. Additionally, it subscribes to the <see
|
||||
/// cref="DeviceManager.AllDevicesInitialized"/> event to ensure proper initialization of dependent devices
|
||||
/// before determining or setting the room combination scenario.</remarks>
|
||||
/// <param name="key">The unique identifier for the room combiner instance.</param>
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="EssentialsRoomCombiner"/> class, which manages room combination
|
||||
/// scenarios and partition states.
|
||||
/// </summary>
|
||||
/// <remarks>The <see cref="EssentialsRoomCombiner"/> class is designed to handle dynamic room
|
||||
/// combination scenarios based on partition states. It supports both automatic and manual modes for managing
|
||||
/// room combinations. By default, the instance starts in automatic mode unless the <paramref name="props"/>
|
||||
/// specifies otherwise. After activation, the room combiner initializes partition state providers and sets up
|
||||
/// the initial room configuration. Additionally, it subscribes to the <see
|
||||
/// cref="DeviceManager.AllDevicesInitialized"/> event to ensure proper initialization of dependent devices
|
||||
/// before determining or setting the room combination scenario.</remarks>
|
||||
/// <param name="key">The unique identifier for the room combiner instance.</param>
|
||||
/// <param name="props">The configuration properties for the room combiner, including default settings and debounce times.</param>
|
||||
public EssentialsRoomCombiner(string key, EssentialsRoomCombinerPropertiesConfig props)
|
||||
: base(key)
|
||||
@@ -286,15 +286,15 @@ namespace PepperDash.Essentials.Core
|
||||
|
||||
#region IEssentialsRoomCombiner Members
|
||||
|
||||
/// <summary>
|
||||
/// Occurs when the room combination scenario changes.
|
||||
/// <summary>
|
||||
/// Occurs when the room combination scenario changes.
|
||||
/// </summary>
|
||||
/// <remarks>This event is triggered whenever the configuration or state of the room combination
|
||||
/// changes. Subscribers can use this event to update their logic or UI based on the new scenario.</remarks>
|
||||
public event EventHandler<EventArgs> RoomCombinationScenarioChanged;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the current room combination scenario.
|
||||
/// <summary>
|
||||
/// Gets the current room combination scenario.
|
||||
/// </summary>
|
||||
public IRoomCombinationScenario CurrentScenario
|
||||
{
|
||||
@@ -304,24 +304,24 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the feedback indicating whether the system is currently in auto mode.
|
||||
/// <summary>
|
||||
/// Gets or sets the IsInAutoModeFeedback
|
||||
/// </summary>
|
||||
public BoolFeedback IsInAutoModeFeedback { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Enables auto mode for the room combiner and its partitions, allowing automatic room combination scenarios to
|
||||
/// be determined.
|
||||
/// <summary>
|
||||
/// Enables auto mode for the room combiner and its partitions, allowing automatic room combination scenarios to
|
||||
/// be determined.
|
||||
/// </summary>
|
||||
/// <remarks>Auto mode allows the room combiner to automatically adjust its configuration based on
|
||||
/// the state of its partitions. If auto mode is disabled in the configuration, this method logs a warning and
|
||||
/// does not enable auto mode.</remarks>
|
||||
public void SetAutoMode()
|
||||
{
|
||||
if(_propertiesConfig.DisableAutoMode)
|
||||
{
|
||||
this.LogWarning("Auto mode is disabled for this room combiner. Cannot set to auto mode.");
|
||||
return;
|
||||
if(_propertiesConfig.DisableAutoMode)
|
||||
{
|
||||
this.LogWarning("Auto mode is disabled for this room combiner. Cannot set to auto mode.");
|
||||
return;
|
||||
}
|
||||
IsInAutoMode = true;
|
||||
|
||||
@@ -333,12 +333,15 @@ namespace PepperDash.Essentials.Core
|
||||
DetermineRoomCombinationScenario();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Switches the system to manual mode, disabling automatic operations.
|
||||
/// <summary>
|
||||
/// Switches the system to manual mode, disabling automatic operations.
|
||||
/// </summary>
|
||||
/// <remarks>This method sets the system to manual mode by updating the mode state and propagates
|
||||
/// the change to all partitions. Once in manual mode, automatic operations are disabled for the system and its
|
||||
/// partitions.</remarks>
|
||||
/// <summary>
|
||||
/// SetManualMode method
|
||||
/// </summary>
|
||||
public void SetManualMode()
|
||||
{
|
||||
IsInAutoMode = false;
|
||||
@@ -349,11 +352,14 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Toggles the current mode between automatic and manual.
|
||||
/// <summary>
|
||||
/// Toggles the current mode between automatic and manual.
|
||||
/// </summary>
|
||||
/// <remarks>If the current mode is automatic, this method switches to manual mode. If the
|
||||
/// current mode is manual, it switches to automatic mode.</remarks>
|
||||
/// <summary>
|
||||
/// ToggleMode method
|
||||
/// </summary>
|
||||
public void ToggleMode()
|
||||
{
|
||||
if (IsInAutoMode)
|
||||
@@ -366,21 +372,21 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the collection of room combination scenarios.
|
||||
/// <summary>
|
||||
/// Gets or sets the RoomCombinationScenarios
|
||||
/// </summary>
|
||||
public List<IRoomCombinationScenario> RoomCombinationScenarios { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the collection of partition controllers managed by this instance.
|
||||
/// <summary>
|
||||
/// Gets the collection of partition controllers managed by this instance.
|
||||
/// </summary>
|
||||
public List<IPartitionController> Partitions { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Toggles the state of the partition identified by the specified partition key.
|
||||
/// </summary>
|
||||
/// <remarks>If no partition with the specified key exists, the method performs no
|
||||
/// action.</remarks>
|
||||
/// <summary>
|
||||
/// Toggles the state of the partition identified by the specified partition key.
|
||||
/// </summary>
|
||||
/// <remarks>If no partition with the specified key exists, the method performs no
|
||||
/// action.</remarks>
|
||||
/// <param name="partitionKey">The key of the partition whose state is to be toggled. This value cannot be null or empty.</param>
|
||||
public void TogglePartitionState(string partitionKey)
|
||||
{
|
||||
@@ -392,16 +398,16 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the room combination scenario based on the specified scenario key.
|
||||
/// </summary>
|
||||
/// <remarks>This method manually adjusts the partition states according to the specified
|
||||
/// scenario. If the application is in auto mode, the operation will not proceed, and a log message will be
|
||||
/// generated indicating that the mode must be set to manual first. If the specified scenario key does not
|
||||
/// match any existing scenario, a debug log message will be generated. For each partition state in the
|
||||
/// scenario, the corresponding partition will be updated to either "Present" or "Not Present" based on the
|
||||
/// scenario's configuration. If a partition key in the scenario cannot be found, a debug log message will be
|
||||
/// generated.</remarks>
|
||||
/// <summary>
|
||||
/// Sets the room combination scenario based on the specified scenario key.
|
||||
/// </summary>
|
||||
/// <remarks>This method manually adjusts the partition states according to the specified
|
||||
/// scenario. If the application is in auto mode, the operation will not proceed, and a log message will be
|
||||
/// generated indicating that the mode must be set to manual first. If the specified scenario key does not
|
||||
/// match any existing scenario, a debug log message will be generated. For each partition state in the
|
||||
/// scenario, the corresponding partition will be updated to either "Present" or "Not Present" based on the
|
||||
/// scenario's configuration. If a partition key in the scenario cannot be found, a debug log message will be
|
||||
/// generated.</remarks>
|
||||
/// <param name="scenarioKey">The key identifying the room combination scenario to apply. This must match the key of an existing scenario.</param>
|
||||
public void SetRoomCombinationScenario(string scenarioKey)
|
||||
{
|
||||
@@ -451,16 +457,19 @@ namespace PepperDash.Essentials.Core
|
||||
#endregion
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Provides a factory for creating instances of <see cref="EssentialsRoomCombiner"/> devices.
|
||||
/// <summary>
|
||||
/// Provides a factory for creating instances of <see cref="EssentialsRoomCombiner"/> devices.
|
||||
/// </summary>
|
||||
/// <remarks>This factory is responsible for constructing <see cref="EssentialsRoomCombiner"/> devices
|
||||
/// based on the provided configuration. It supports the type name "essentialsroomcombiner" for device
|
||||
/// creation.</remarks>
|
||||
/// <summary>
|
||||
/// Represents a EssentialsRoomCombinerFactory
|
||||
/// </summary>
|
||||
public class EssentialsRoomCombinerFactory : EssentialsDeviceFactory<EssentialsRoomCombiner>
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="EssentialsRoomCombinerFactory"/> class.
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="EssentialsRoomCombinerFactory"/> class.
|
||||
/// </summary>
|
||||
/// <remarks>This factory is used to create instances of room combiners with the specified type
|
||||
/// names. By default, the factory includes the type name "essentialsroomcombiner".</remarks>
|
||||
@@ -469,13 +478,13 @@ namespace PepperDash.Essentials.Core
|
||||
TypeNames = new List<string> { "essentialsroomcombiner" };
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates and initializes a new instance of the <see cref="EssentialsRoomCombiner"/> device.
|
||||
/// </summary>
|
||||
/// <remarks>This method uses the provided device configuration to extract the properties and
|
||||
/// create an <see cref="EssentialsRoomCombiner"/> device. Ensure that the configuration contains valid
|
||||
/// properties for the device to be created successfully.</remarks>
|
||||
/// <param name="dc">The device configuration containing the key and properties required to build the device.</param>
|
||||
/// <summary>
|
||||
/// Creates and initializes a new instance of the <see cref="EssentialsRoomCombiner"/> device.
|
||||
/// </summary>
|
||||
/// <remarks>This method uses the provided device configuration to extract the properties and
|
||||
/// create an <see cref="EssentialsRoomCombiner"/> device. Ensure that the configuration contains valid
|
||||
/// properties for the device to be created successfully.</remarks>
|
||||
/// <param name="dc">The device configuration containing the key and properties required to build the device.</param>
|
||||
/// <returns>A new instance of <see cref="EssentialsRoomCombiner"/> initialized with the specified configuration.</returns>
|
||||
public override EssentialsDevice BuildDevice(PepperDash.Essentials.Core.Config.DeviceConfig dc)
|
||||
{
|
||||
|
||||
@@ -28,19 +28,19 @@ namespace PepperDash.Essentials.Core
|
||||
[JsonIgnore]
|
||||
BoolFeedback IsInAutoModeFeedback {get;}
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the automatic mode is disabled.
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the automatic mode is disabled.
|
||||
/// </summary>
|
||||
[JsonProperty("disableAutoMode")]
|
||||
bool DisableAutoMode { get; }
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the system is operating in automatic mode.
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the system is operating in automatic mode.
|
||||
/// </summary>
|
||||
[JsonProperty("isInAutoMode")]
|
||||
bool IsInAutoMode { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the collection of rooms associated with the current object.
|
||||
/// <summary>
|
||||
/// Gets the collection of rooms associated with the current object.
|
||||
/// </summary>
|
||||
[JsonProperty("rooms")]
|
||||
List<IKeyName> Rooms { get; }
|
||||
@@ -85,13 +85,16 @@ namespace PepperDash.Essentials.Core
|
||||
void SetRoomCombinationScenario(string scenarioKey);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a scenario for combining rooms, including activation, deactivation, and associated state.
|
||||
/// <summary>
|
||||
/// Represents a scenario for combining rooms, including activation, deactivation, and associated state.
|
||||
/// </summary>
|
||||
/// <remarks>This interface defines the behavior for managing room combination scenarios, including
|
||||
/// activation and deactivation, tracking the active state, and managing related partition states and UI mappings.
|
||||
/// Implementations of this interface are expected to handle the logic for room combinations based on the provided
|
||||
/// partition states and UI mappings.</remarks>
|
||||
/// <summary>
|
||||
/// Defines the contract for IRoomCombinationScenario
|
||||
/// </summary>
|
||||
public interface IRoomCombinationScenario : IKeyName
|
||||
{
|
||||
/// <summary>
|
||||
@@ -100,8 +103,8 @@ namespace PepperDash.Essentials.Core
|
||||
[JsonIgnore]
|
||||
BoolFeedback IsActiveFeedback { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the entity is active.
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the entity is active.
|
||||
/// </summary>
|
||||
[JsonProperty("isActive")]
|
||||
bool IsActive { get; }
|
||||
|
||||
@@ -21,6 +21,9 @@ namespace PepperDash.Essentials.Core
|
||||
public string Name { get; set; }
|
||||
|
||||
[JsonProperty("partitionStates")]
|
||||
/// <summary>
|
||||
/// Gets or sets the PartitionStates
|
||||
/// </summary>
|
||||
public List<PartitionState> PartitionStates { get; private set; }
|
||||
|
||||
[JsonProperty("uiMap")]
|
||||
@@ -45,6 +48,9 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
/// <summary>
|
||||
/// Gets or sets the IsActiveFeedback
|
||||
/// </summary>
|
||||
public BoolFeedback IsActiveFeedback { get; private set; }
|
||||
|
||||
private List<DeviceActionWrapper> activationActions;
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
|
||||
namespace PepperDash.Essentials.Room.Config
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a EssentialsDualDisplayRoomPropertiesConfig
|
||||
/// </summary>
|
||||
public class EssentialsDualDisplayRoomPropertiesConfig : EssentialsNDisplayRoomPropertiesConfig
|
||||
{
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
namespace PepperDash.Essentials.Room.Config
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// Represents a EssentialsHuddleRoomPropertiesConfig
|
||||
/// </summary>
|
||||
public class EssentialsHuddleRoomPropertiesConfig : EssentialsRoomPropertiesConfig
|
||||
{
|
||||
|
||||
@@ -4,9 +4,15 @@ using Newtonsoft.Json;
|
||||
namespace PepperDash.Essentials.Room.Config
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Represents a EssentialsHuddleVtc1PropertiesConfig
|
||||
/// </summary>
|
||||
public class EssentialsHuddleVtc1PropertiesConfig : EssentialsConferenceRoomPropertiesConfig
|
||||
{
|
||||
[JsonProperty("defaultDisplayKey")]
|
||||
/// <summary>
|
||||
/// Gets or sets the DefaultDisplayKey
|
||||
/// </summary>
|
||||
public string DefaultDisplayKey { get; set; }
|
||||
|
||||
}
|
||||
|
||||
@@ -25,9 +25,18 @@ namespace PepperDash.Essentials.Room.Config
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a DisplayItem
|
||||
/// </summary>
|
||||
public class DisplayItem : IKeyName
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the Key
|
||||
/// </summary>
|
||||
public string Key { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the Name
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
}
|
||||
|
||||
|
||||
@@ -3,11 +3,17 @@
|
||||
namespace PepperDash.Essentials.Room.Config
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// Represents a EssentialsPresentationRoomPropertiesConfig
|
||||
/// </summary>
|
||||
public class EssentialsPresentationRoomPropertiesConfig : EssentialsRoomPropertiesConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the DefaultAudioBehavior
|
||||
/// </summary>
|
||||
public string DefaultAudioBehavior { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the DefaultAudioKey
|
||||
/// </summary>
|
||||
public string DefaultAudioKey { get; set; }
|
||||
public string DefaultVideoBehavior { get; set; }
|
||||
public List<string> DisplayKeys { get; set; }
|
||||
|
||||
@@ -9,11 +9,13 @@ using Serilog.Events;
|
||||
|
||||
namespace PepperDash.Essentials.Room.Config
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a EssentialsRoomConfigHelper
|
||||
/// </summary>
|
||||
public class EssentialsRoomConfigHelper
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets and operating, standalone emergegncy object that can be plugged into a room.
|
||||
/// Returns null if there is no emergency defined
|
||||
/// GetEmergency method
|
||||
/// </summary>
|
||||
public static EssentialsRoomEmergencyBase GetEmergency(EssentialsRoomPropertiesConfig props, IEssentialsRoom room)
|
||||
{
|
||||
@@ -35,6 +37,9 @@ namespace PepperDash.Essentials.Room.Config
|
||||
/// <param name="props"></param>
|
||||
/// <param name="room"></param>
|
||||
/// <returns></returns>
|
||||
/// <summary>
|
||||
/// GetMicrophonePrivacy method
|
||||
/// </summary>
|
||||
public static MicrophonePrivacyController GetMicrophonePrivacy(
|
||||
EssentialsRoomPropertiesConfig props, IPrivacy room)
|
||||
{
|
||||
@@ -95,9 +100,9 @@ namespace PepperDash.Essentials.Room.Config
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// Represents a EssentialsRoomPropertiesConfig
|
||||
/// </summary>
|
||||
public class EssentialsRoomPropertiesConfig
|
||||
{
|
||||
[JsonProperty("addresses")]
|
||||
@@ -110,9 +115,15 @@ namespace PepperDash.Essentials.Room.Config
|
||||
public EssentialsRoomEmergencyConfig Emergency { get; set; }
|
||||
|
||||
[JsonProperty("help")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Help
|
||||
/// </summary>
|
||||
public EssentialsHelpPropertiesConfig Help { get; set; }
|
||||
|
||||
[JsonProperty("helpMessage")]
|
||||
/// <summary>
|
||||
/// Gets or sets the HelpMessage
|
||||
/// </summary>
|
||||
public string HelpMessage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
@@ -134,48 +145,90 @@ namespace PepperDash.Essentials.Room.Config
|
||||
}
|
||||
|
||||
[JsonProperty("environment")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Environment
|
||||
/// </summary>
|
||||
public EssentialsEnvironmentPropertiesConfig Environment { get; set; }
|
||||
|
||||
[JsonProperty("logo")]
|
||||
/// <summary>
|
||||
/// Gets or sets the LogoLight
|
||||
/// </summary>
|
||||
public EssentialsLogoPropertiesConfig LogoLight { get; set; }
|
||||
|
||||
[JsonProperty("logoDark")]
|
||||
/// <summary>
|
||||
/// Gets or sets the LogoDark
|
||||
/// </summary>
|
||||
public EssentialsLogoPropertiesConfig LogoDark { get; set; }
|
||||
|
||||
[JsonProperty("microphonePrivacy")]
|
||||
/// <summary>
|
||||
/// Gets or sets the MicrophonePrivacy
|
||||
/// </summary>
|
||||
public EssentialsRoomMicrophonePrivacyConfig MicrophonePrivacy { get; set; }
|
||||
|
||||
[JsonProperty("occupancy")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Occupancy
|
||||
/// </summary>
|
||||
public EssentialsRoomOccSensorConfig Occupancy { get; set; }
|
||||
|
||||
[JsonProperty("oneButtonMeeting")]
|
||||
/// <summary>
|
||||
/// Gets or sets the OneButtonMeeting
|
||||
/// </summary>
|
||||
public EssentialsOneButtonMeetingPropertiesConfig OneButtonMeeting { get; set; }
|
||||
|
||||
[JsonProperty("shutdownVacancySeconds")]
|
||||
/// <summary>
|
||||
/// Gets or sets the ShutdownVacancySeconds
|
||||
/// </summary>
|
||||
public int ShutdownVacancySeconds { get; set; }
|
||||
|
||||
[JsonProperty("shutdownPromptSeconds")]
|
||||
/// <summary>
|
||||
/// Gets or sets the ShutdownPromptSeconds
|
||||
/// </summary>
|
||||
public int ShutdownPromptSeconds { get; set; }
|
||||
|
||||
[JsonProperty("tech")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Tech
|
||||
/// </summary>
|
||||
public EssentialsRoomTechConfig Tech { get; set; }
|
||||
|
||||
[JsonProperty("volumes")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Volumes
|
||||
/// </summary>
|
||||
public EssentialsRoomVolumesConfig Volumes { get; set; }
|
||||
|
||||
[JsonProperty("fusion")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Fusion
|
||||
/// </summary>
|
||||
public EssentialsRoomFusionConfig Fusion { get; set; }
|
||||
|
||||
[JsonProperty("essentialsRoomUiBehaviorConfig", NullValueHandling=NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the UiBehavior
|
||||
/// </summary>
|
||||
public EssentialsRoomUiBehaviorConfig UiBehavior { get; set; }
|
||||
|
||||
[JsonProperty("zeroVolumeWhenSwtichingVolumeDevices")]
|
||||
/// <summary>
|
||||
/// Gets or sets the ZeroVolumeWhenSwtichingVolumeDevices
|
||||
/// </summary>
|
||||
public bool ZeroVolumeWhenSwtichingVolumeDevices { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Indicates if this room represents a combination of other rooms
|
||||
/// </summary>
|
||||
[JsonProperty("isRoomCombinationScenario")]
|
||||
/// <summary>
|
||||
/// Gets or sets the IsRoomCombinationScenario
|
||||
/// </summary>
|
||||
public bool IsRoomCombinationScenario { get; set; }
|
||||
|
||||
public EssentialsRoomPropertiesConfig()
|
||||
@@ -185,58 +238,109 @@ namespace PepperDash.Essentials.Room.Config
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a EssentialsRoomUiBehaviorConfig
|
||||
/// </summary>
|
||||
public class EssentialsRoomUiBehaviorConfig
|
||||
{
|
||||
[JsonProperty("disableActivityButtonsWhileWarmingCooling")]
|
||||
/// <summary>
|
||||
/// Gets or sets the DisableActivityButtonsWhileWarmingCooling
|
||||
/// </summary>
|
||||
public bool DisableActivityButtonsWhileWarmingCooling { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a EssentialsAvRoomPropertiesConfig
|
||||
/// </summary>
|
||||
public class EssentialsAvRoomPropertiesConfig : EssentialsRoomPropertiesConfig
|
||||
{
|
||||
[JsonProperty("defaultAudioKey")]
|
||||
/// <summary>
|
||||
/// Gets or sets the DefaultAudioKey
|
||||
/// </summary>
|
||||
public string DefaultAudioKey { get; set; }
|
||||
[JsonProperty("sourceListKey")]
|
||||
/// <summary>
|
||||
/// Gets or sets the SourceListKey
|
||||
/// </summary>
|
||||
public string SourceListKey { get; set; }
|
||||
[JsonProperty("destinationListKey")]
|
||||
/// <summary>
|
||||
/// Gets or sets the DestinationListKey
|
||||
/// </summary>
|
||||
public string DestinationListKey { get; set; }
|
||||
[JsonProperty("audioControlPointListKey")]
|
||||
/// <summary>
|
||||
/// Gets or sets the AudioControlPointListKey
|
||||
/// </summary>
|
||||
public string AudioControlPointListKey { get; set; }
|
||||
[JsonProperty("cameraListKey")]
|
||||
/// <summary>
|
||||
/// Gets or sets the CameraListKey
|
||||
/// </summary>
|
||||
public string CameraListKey { get; set; }
|
||||
|
||||
|
||||
[JsonProperty("defaultSourceItem")]
|
||||
/// <summary>
|
||||
/// Gets or sets the DefaultSourceItem
|
||||
/// </summary>
|
||||
public string DefaultSourceItem { get; set; }
|
||||
/// <summary>
|
||||
/// Indicates if the room supports advanced sharing
|
||||
/// </summary>
|
||||
[JsonProperty("supportsAdvancedSharing")]
|
||||
/// <summary>
|
||||
/// Gets or sets the SupportsAdvancedSharing
|
||||
/// </summary>
|
||||
public bool SupportsAdvancedSharing { get; set; }
|
||||
/// <summary>
|
||||
/// Indicates if non-tech users can change the share mode
|
||||
/// </summary>
|
||||
[JsonProperty("userCanChangeShareMode")]
|
||||
/// <summary>
|
||||
/// Gets or sets the UserCanChangeShareMode
|
||||
/// </summary>
|
||||
public bool UserCanChangeShareMode { get; set; }
|
||||
|
||||
|
||||
[JsonProperty("matrixRoutingKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the MatrixRoutingKey
|
||||
/// </summary>
|
||||
public string MatrixRoutingKey { get; set; }
|
||||
}
|
||||
|
||||
public class EssentialsConferenceRoomPropertiesConfig : EssentialsAvRoomPropertiesConfig
|
||||
{
|
||||
[JsonProperty("videoCodecKey")]
|
||||
/// <summary>
|
||||
/// Gets or sets the VideoCodecKey
|
||||
/// </summary>
|
||||
public string VideoCodecKey { get; set; }
|
||||
[JsonProperty("audioCodecKey")]
|
||||
/// <summary>
|
||||
/// Gets or sets the AudioCodecKey
|
||||
/// </summary>
|
||||
public string AudioCodecKey { get; set; }
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a EssentialsEnvironmentPropertiesConfig
|
||||
/// </summary>
|
||||
public class EssentialsEnvironmentPropertiesConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the Enabled
|
||||
/// </summary>
|
||||
public bool Enabled { get; set; }
|
||||
|
||||
[JsonProperty("deviceKeys")]
|
||||
/// <summary>
|
||||
/// Gets or sets the DeviceKeys
|
||||
/// </summary>
|
||||
public List<string> DeviceKeys { get; set; }
|
||||
|
||||
public EssentialsEnvironmentPropertiesConfig()
|
||||
@@ -246,6 +350,9 @@ namespace PepperDash.Essentials.Room.Config
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a EssentialsRoomFusionConfig
|
||||
/// </summary>
|
||||
public class EssentialsRoomFusionConfig
|
||||
{
|
||||
public uint IpIdInt
|
||||
@@ -265,28 +372,46 @@ namespace PepperDash.Essentials.Room.Config
|
||||
}
|
||||
|
||||
[JsonProperty("ipId")]
|
||||
/// <summary>
|
||||
/// Gets or sets the IpId
|
||||
/// </summary>
|
||||
public string IpId { get; set; }
|
||||
|
||||
[JsonProperty("joinMapKey")]
|
||||
/// <summary>
|
||||
/// Gets or sets the JoinMapKey
|
||||
/// </summary>
|
||||
public string JoinMapKey { get; set; }
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a EssentialsRoomMicrophonePrivacyConfig
|
||||
/// </summary>
|
||||
public class EssentialsRoomMicrophonePrivacyConfig
|
||||
{
|
||||
[JsonProperty("deviceKey")]
|
||||
/// <summary>
|
||||
/// Gets or sets the DeviceKey
|
||||
/// </summary>
|
||||
public string DeviceKey { get; set; }
|
||||
|
||||
[JsonProperty("behaviour")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Behaviour
|
||||
/// </summary>
|
||||
public string Behaviour { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Properties for the help text box
|
||||
/// Represents a EssentialsHelpPropertiesConfig
|
||||
/// </summary>
|
||||
public class EssentialsHelpPropertiesConfig
|
||||
{
|
||||
[JsonProperty("message")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Message
|
||||
/// </summary>
|
||||
public string Message { get; set; }
|
||||
|
||||
[JsonProperty("showCallButton")]
|
||||
@@ -296,6 +421,9 @@ namespace PepperDash.Essentials.Room.Config
|
||||
/// Defaults to "Call Help Desk"
|
||||
/// </summary>
|
||||
[JsonProperty("callButtonText")]
|
||||
/// <summary>
|
||||
/// Gets or sets the CallButtonText
|
||||
/// </summary>
|
||||
public string CallButtonText { get; set; }
|
||||
|
||||
public EssentialsHelpPropertiesConfig()
|
||||
@@ -305,11 +433,14 @@ namespace PepperDash.Essentials.Room.Config
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// Represents a EssentialsOneButtonMeetingPropertiesConfig
|
||||
/// </summary>
|
||||
public class EssentialsOneButtonMeetingPropertiesConfig
|
||||
{
|
||||
[JsonProperty("enable")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Enable
|
||||
/// </summary>
|
||||
public bool Enable { get; set; }
|
||||
}
|
||||
|
||||
@@ -319,22 +450,28 @@ namespace PepperDash.Essentials.Room.Config
|
||||
public string PhoneNumber { get; set; }
|
||||
|
||||
[JsonProperty("sipAddress")]
|
||||
/// <summary>
|
||||
/// Gets or sets the SipAddress
|
||||
/// </summary>
|
||||
public string SipAddress { get; set; }
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Properties for the room's logo on panels
|
||||
/// Represents a EssentialsLogoPropertiesConfig
|
||||
/// </summary>
|
||||
public class EssentialsLogoPropertiesConfig
|
||||
{
|
||||
[JsonProperty("type")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Type
|
||||
/// </summary>
|
||||
public string Type { get; set; }
|
||||
|
||||
[JsonProperty("url")]
|
||||
public string Url { get; set; }
|
||||
/// <summary>
|
||||
/// Gets either the custom URL, a local-to-processor URL, or null if it's a default logo
|
||||
/// GetLogoUrlLight method
|
||||
/// </summary>
|
||||
public string GetLogoUrlLight()
|
||||
{
|
||||
@@ -346,6 +483,9 @@ namespace PepperDash.Essentials.Room.Config
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// GetLogoUrlDark method
|
||||
/// </summary>
|
||||
public string GetLogoUrlDark()
|
||||
{
|
||||
if (Type == "url")
|
||||
@@ -358,11 +498,14 @@ namespace PepperDash.Essentials.Room.Config
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents occupancy sensor(s) setup for a room
|
||||
/// Represents a EssentialsRoomOccSensorConfig
|
||||
/// </summary>
|
||||
public class EssentialsRoomOccSensorConfig
|
||||
{
|
||||
[JsonProperty("deviceKey")]
|
||||
/// <summary>
|
||||
/// Gets or sets the DeviceKey
|
||||
/// </summary>
|
||||
public string DeviceKey { get; set; }
|
||||
|
||||
[JsonProperty("timeoutMinutes")]
|
||||
@@ -372,6 +515,9 @@ namespace PepperDash.Essentials.Room.Config
|
||||
public class EssentialsRoomTechConfig
|
||||
{
|
||||
[JsonProperty("password")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Password
|
||||
/// </summary>
|
||||
public string Password { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,17 +1,23 @@
|
||||
namespace PepperDash.Essentials.Room.Config
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// Represents a EssentialsRoomEmergencyConfig
|
||||
/// </summary>
|
||||
public class EssentialsRoomEmergencyConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the Trigger
|
||||
/// </summary>
|
||||
public EssentialsRoomEmergencyTriggerConfig Trigger { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the Behavior
|
||||
/// </summary>
|
||||
public string Behavior { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// Represents a EssentialsRoomEmergencyTriggerConfig
|
||||
/// </summary>
|
||||
public class EssentialsRoomEmergencyTriggerConfig
|
||||
{
|
||||
|
||||
@@ -8,36 +8,66 @@ using PepperDash.Essentials.Core;
|
||||
|
||||
namespace PepperDash.Essentials.Room.Config
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a EssentialsRoomScheduledEventsConfig
|
||||
/// </summary>
|
||||
public class EssentialsRoomScheduledEventsConfig
|
||||
{
|
||||
[JsonProperty("scheduledEvents")]
|
||||
/// <summary>
|
||||
/// Gets or sets the ScheduledEvents
|
||||
/// </summary>
|
||||
public List<ScheduledEventConfig> ScheduledEvents;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a ScheduledEventConfig
|
||||
/// </summary>
|
||||
public class ScheduledEventConfig
|
||||
{
|
||||
[JsonProperty("key")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Key
|
||||
/// </summary>
|
||||
public string Key;
|
||||
|
||||
[JsonProperty("name")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Name
|
||||
/// </summary>
|
||||
public string Name;
|
||||
|
||||
[JsonProperty("days")]
|
||||
public ScheduledEventCommon.eWeekDays Days;
|
||||
|
||||
[JsonProperty("time")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Time
|
||||
/// </summary>
|
||||
public string Time;
|
||||
|
||||
[JsonProperty("actions")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Actions
|
||||
/// </summary>
|
||||
public List<DeviceActionWrapper> Actions;
|
||||
|
||||
[JsonProperty("persistent")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Persistent
|
||||
/// </summary>
|
||||
public bool Persistent;
|
||||
|
||||
[JsonProperty("acknowledgeable")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Acknowledgeable
|
||||
/// </summary>
|
||||
public bool Acknowledgeable;
|
||||
|
||||
[JsonProperty("enable")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Enable
|
||||
/// </summary>
|
||||
public bool Enable;
|
||||
}
|
||||
}
|
||||
@@ -5,12 +5,18 @@ using PepperDash.Essentials.Room.Config;
|
||||
|
||||
namespace PepperDash.Essentials.Room.Config
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a EssentialsTechRoomConfig
|
||||
/// </summary>
|
||||
public class EssentialsTechRoomConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// The key of the dummy device used to enable routing
|
||||
/// </summary>
|
||||
[JsonProperty("dummySourceKey")]
|
||||
/// <summary>
|
||||
/// Gets or sets the DummySourceKey
|
||||
/// </summary>
|
||||
public string DummySourceKey { get; set; }
|
||||
|
||||
/// <summary>
|
||||
@@ -44,12 +50,18 @@ namespace PepperDash.Essentials.Room.Config
|
||||
public string PresetsFileName { get; set; }
|
||||
|
||||
[JsonProperty("scheduledEvents")]
|
||||
/// <summary>
|
||||
/// Gets or sets the ScheduledEvents
|
||||
/// </summary>
|
||||
public List<ScheduledEventConfig> ScheduledEvents { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Indicates that the room is the primary when true
|
||||
/// </summary>
|
||||
[JsonProperty("isPrimary")]
|
||||
/// <summary>
|
||||
/// Gets or sets the IsPrimary
|
||||
/// </summary>
|
||||
public bool IsPrimary { get; set; }
|
||||
|
||||
/// <summary>
|
||||
@@ -59,12 +71,18 @@ namespace PepperDash.Essentials.Room.Config
|
||||
public Dictionary<uint, string> MirroredTuners { get; set; }
|
||||
|
||||
[JsonProperty("helpMessage")]
|
||||
/// <summary>
|
||||
/// Gets or sets the HelpMessage
|
||||
/// </summary>
|
||||
public string HelpMessage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Indicates the room
|
||||
/// </summary>
|
||||
[JsonProperty("isTvPresetsProvider")]
|
||||
/// <summary>
|
||||
/// Gets or sets the IsTvPresetsProvider
|
||||
/// </summary>
|
||||
public bool IsTvPresetsProvider;
|
||||
|
||||
public EssentialsTechRoomConfig()
|
||||
|
||||
@@ -4,10 +4,13 @@ using PepperDash.Essentials.Core;
|
||||
namespace PepperDash.Essentials.Room.Config
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// Represents a EssentialsRoomVolumesConfig
|
||||
/// </summary>
|
||||
public class EssentialsRoomVolumesConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the Master
|
||||
/// </summary>
|
||||
public EssentialsVolumeLevelConfig Master { get; set; }
|
||||
public EssentialsVolumeLevelConfig Program { get; set; }
|
||||
public EssentialsVolumeLevelConfig AudioCallRx { get; set; }
|
||||
@@ -15,12 +18,21 @@ namespace PepperDash.Essentials.Room.Config
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// Represents a EssentialsVolumeLevelConfig
|
||||
/// </summary>
|
||||
public class EssentialsVolumeLevelConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the DeviceKey
|
||||
/// </summary>
|
||||
public string DeviceKey { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the Label
|
||||
/// </summary>
|
||||
public string Label { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the Level
|
||||
/// </summary>
|
||||
public int Level { get; set; }
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -3,23 +3,47 @@ using Newtonsoft.Json;
|
||||
|
||||
namespace PepperDash.Essentials.Room.Config
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a SimplRoomPropertiesConfig
|
||||
/// </summary>
|
||||
public class SimplRoomPropertiesConfig : EssentialsHuddleVtc1PropertiesConfig
|
||||
{
|
||||
[JsonProperty("roomPhoneNumber")]
|
||||
/// <summary>
|
||||
/// Gets or sets the RoomPhoneNumber
|
||||
/// </summary>
|
||||
public string RoomPhoneNumber { get; set; }
|
||||
[JsonProperty("roomURI")]
|
||||
/// <summary>
|
||||
/// Gets or sets the RoomURI
|
||||
/// </summary>
|
||||
public string RoomURI { get; set; }
|
||||
[JsonProperty("speedDials")]
|
||||
/// <summary>
|
||||
/// Gets or sets the SpeedDials
|
||||
/// </summary>
|
||||
public List<SimplSpeedDial> SpeedDials { get; set; }
|
||||
[JsonProperty("volumeSliderNames")]
|
||||
/// <summary>
|
||||
/// Gets or sets the VolumeSliderNames
|
||||
/// </summary>
|
||||
public List<string> VolumeSliderNames { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a SimplSpeedDial
|
||||
/// </summary>
|
||||
public class SimplSpeedDial
|
||||
{
|
||||
[JsonProperty("name")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Name
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
[JsonProperty("number")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Number
|
||||
/// </summary>
|
||||
public string Number { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,9 @@ using PepperDash.Essentials.Room.Config;
|
||||
|
||||
namespace PepperDash.Essentials.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a EssentialsRoomEmergencyContactClosure
|
||||
/// </summary>
|
||||
public class EssentialsRoomEmergencyContactClosure : EssentialsRoomEmergencyBase, IEssentialsRoomEmergency
|
||||
{
|
||||
public event EventHandler<EventArgs> EmergencyStateChange;
|
||||
@@ -12,6 +15,9 @@ namespace PepperDash.Essentials.Core
|
||||
string Behavior;
|
||||
bool TriggerOnClose;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the InEmergency
|
||||
/// </summary>
|
||||
public bool InEmergency { get; private set; }
|
||||
|
||||
public EssentialsRoomEmergencyContactClosure(string key, EssentialsRoomEmergencyConfig config, IEssentialsRoom room) :
|
||||
@@ -75,7 +81,7 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// RunEmergencyBehavior method
|
||||
/// </summary>
|
||||
public void RunEmergencyBehavior()
|
||||
{
|
||||
@@ -85,7 +91,7 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes the functionality of a room emergency contact closure
|
||||
/// Defines the contract for IEssentialsRoomEmergency
|
||||
/// </summary>
|
||||
public interface IEssentialsRoomEmergency
|
||||
{
|
||||
|
||||
@@ -32,6 +32,9 @@ namespace PepperDash.Essentials.Core
|
||||
public BoolFeedback IsWarmingUpFeedback { get; private set; }
|
||||
public BoolFeedback IsCoolingDownFeedback { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the RoomOccupancy
|
||||
/// </summary>
|
||||
public IOccupancyStatusProvider RoomOccupancy { get; protected set; }
|
||||
|
||||
public bool OccupancyStatusProviderIsRemote { get; private set; }
|
||||
@@ -50,12 +53,12 @@ namespace PepperDash.Essentials.Core
|
||||
protected abstract Func<bool> IsCoolingFeedbackFunc { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Indicates if this room is Mobile Control Enabled
|
||||
/// Gets or sets the IsMobileControlEnabled
|
||||
/// </summary>
|
||||
public bool IsMobileControlEnabled { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// The bridge for this room if Mobile Control is enabled
|
||||
/// Gets or sets the MobileControlRoomBridge
|
||||
/// </summary>
|
||||
public IMobileControlRoomMessenger MobileControlRoomBridge { get; private set; }
|
||||
|
||||
@@ -157,8 +160,8 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Timer used for informing the UIs of a shutdown
|
||||
/// </summary>
|
||||
/// Gets or sets the ShutdownPromptTimer
|
||||
/// </summary>
|
||||
public SecondsCountdownTimer ShutdownPromptTimer { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
@@ -174,10 +177,16 @@ namespace PepperDash.Essentials.Core
|
||||
|
||||
public string LogoUrlLightBkgnd { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the LogoUrlDarkBkgnd
|
||||
/// </summary>
|
||||
public string LogoUrlDarkBkgnd { get; set; }
|
||||
|
||||
protected SecondsCountdownTimer RoomVacancyShutdownTimer { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the VacancyMode
|
||||
/// </summary>
|
||||
public eVacancyMode VacancyMode { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
@@ -247,6 +256,10 @@ namespace PepperDash.Essentials.Core
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// CustomActivate method
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public override bool CustomActivate()
|
||||
{
|
||||
SetUpMobileControl();
|
||||
@@ -324,6 +337,9 @@ namespace PepperDash.Essentials.Core
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="type"></param>
|
||||
/// <summary>
|
||||
/// StartShutdown method
|
||||
/// </summary>
|
||||
public void StartShutdown(eShutdownType type)
|
||||
{
|
||||
// Check for shutdowns running. Manual should override other shutdowns
|
||||
@@ -338,6 +354,9 @@ namespace PepperDash.Essentials.Core
|
||||
Debug.LogMessage(LogEventLevel.Information, this, "ShutdownPromptTimer Started. Type: {0}. Seconds: {1}", ShutdownType, ShutdownPromptTimer.SecondsToCount);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// StartRoomVacancyTimer method
|
||||
/// </summary>
|
||||
public void StartRoomVacancyTimer(eVacancyMode mode)
|
||||
{
|
||||
if (mode == eVacancyMode.None)
|
||||
@@ -353,7 +372,7 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Resets the vacancy mode and shutsdwon the room
|
||||
/// Shutdown method
|
||||
/// </summary>
|
||||
public void Shutdown()
|
||||
{
|
||||
@@ -474,7 +493,7 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// Enumeration of eWarmingCoolingMode values
|
||||
/// </summary>
|
||||
public enum eWarmingCoolingMode
|
||||
{
|
||||
|
||||
@@ -4,6 +4,9 @@ using System.Collections.Generic;
|
||||
|
||||
namespace PepperDash.Essentials.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines the contract for IRoomEventSchedule
|
||||
/// </summary>
|
||||
public interface IRoomEventSchedule
|
||||
{
|
||||
void AddOrUpdateScheduledEvent(ScheduledEventConfig eventConfig);
|
||||
@@ -13,8 +16,14 @@ namespace PepperDash.Essentials.Core
|
||||
event EventHandler<ScheduledEventEventArgs> ScheduledEventsChanged;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a ScheduledEventEventArgs
|
||||
/// </summary>
|
||||
public class ScheduledEventEventArgs : EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the ScheduledEvents
|
||||
/// </summary>
|
||||
public List<ScheduledEventConfig> ScheduledEvents;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Simplified routing direct from source to destination
|
||||
/// Defines the contract for IRunDirectRouteAction
|
||||
/// </summary>
|
||||
public interface IRunDirectRouteAction
|
||||
{
|
||||
@@ -62,7 +62,7 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes a room with routing endpoints
|
||||
/// Defines the contract for IHasRoutingEndpoints
|
||||
/// </summary>
|
||||
public interface IHasRoutingEndpoints
|
||||
{
|
||||
@@ -82,7 +82,7 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes a room with a tech password
|
||||
/// Defines the contract for ITechPassword
|
||||
/// </summary>
|
||||
public interface ITechPassword
|
||||
{
|
||||
@@ -97,8 +97,14 @@ namespace PepperDash.Essentials.Core
|
||||
void SetTechPassword(string oldPassword, string newPassword);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a TechPasswordEventArgs
|
||||
/// </summary>
|
||||
public class TechPasswordEventArgs : EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the IsValid
|
||||
/// </summary>
|
||||
public bool IsValid { get; private set; }
|
||||
|
||||
public TechPasswordEventArgs(bool isValid)
|
||||
@@ -108,7 +114,7 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// For rooms that default presentation only routing
|
||||
/// Defines the contract for IRunDefaultPresentRoute
|
||||
/// </summary>
|
||||
public interface IRunDefaultPresentRoute
|
||||
{
|
||||
@@ -149,21 +155,33 @@ namespace PepperDash.Essentials.Core
|
||||
event EventHandler<EventArgs> RoomOccupancyIsSet;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Defines the contract for IEmergency
|
||||
/// </summary>
|
||||
public interface IEmergency
|
||||
{
|
||||
EssentialsRoomEmergencyBase Emergency { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Defines the contract for IMicrophonePrivacy
|
||||
/// </summary>
|
||||
public interface IMicrophonePrivacy
|
||||
{
|
||||
Core.Privacy.MicrophonePrivacyController MicrophonePrivacy { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Defines the contract for IHasAccessoryDevices
|
||||
/// </summary>
|
||||
public interface IHasAccessoryDevices : IKeyName
|
||||
{
|
||||
List<string> AccessoryDeviceKeys { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Defines the contract for IHasCiscoNavigatorTouchpanel
|
||||
/// </summary>
|
||||
public interface IHasCiscoNavigatorTouchpanel
|
||||
{
|
||||
string CiscoNavigatorTouchpanelKey { get; }
|
||||
|
||||
@@ -19,10 +19,24 @@ namespace PepperDash.Essentials.Core
|
||||
public abstract BoolFeedback IsWarmingUpFeedback { get; protected set; }
|
||||
|
||||
// In concrete classes, these should be computed from the relevant devices
|
||||
/// <summary>
|
||||
/// Gets or sets the CooldownTime
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public virtual uint CooldownTime { get { return 10000; } }
|
||||
/// <summary>
|
||||
/// Gets or sets the WarmupTime
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public virtual uint WarmupTime { get { return 5000; } }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the Description
|
||||
/// </summary>
|
||||
public string Description { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the HelpMessage
|
||||
/// </summary>
|
||||
public string HelpMessage { get; set; }
|
||||
|
||||
public Room(string key, string name)
|
||||
@@ -32,8 +46,15 @@ namespace PepperDash.Essentials.Core
|
||||
HelpMessage = "";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// RoomOn method
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public virtual void RoomOn() { }
|
||||
|
||||
/// <summary>
|
||||
/// RoomOff method
|
||||
/// </summary>
|
||||
public virtual void RoomOff() { }
|
||||
|
||||
#region IDeviceWithOutputs Members
|
||||
|
||||
@@ -8,6 +8,9 @@ using PepperDash.Essentials.Core;
|
||||
|
||||
namespace PepperDash.Essentials.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines the contract for IOccupancyStatusProvider
|
||||
/// </summary>
|
||||
public interface IOccupancyStatusProvider
|
||||
{
|
||||
BoolFeedback RoomIsOccupiedFeedback { get; }
|
||||
|
||||
Reference in New Issue
Block a user