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:
copilot-swe-agent[bot]
2025-07-22 15:53:01 +00:00
parent 260677a37f
commit 7987eb8f9b
485 changed files with 8099 additions and 2490 deletions

View File

@@ -6,10 +6,13 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a CameraBaseMessenger
/// </summary>
public class CameraBaseMessenger : MessengerBase
{
/// <summary>
/// Device being bridged
/// Gets or sets the Camera
/// </summary>
public CameraBase Camera { get; set; }

View File

@@ -6,9 +6,9 @@ using System.Timers;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Facilitates communication of device information by providing mechanisms for status updates and device
/// information reporting.
/// <summary>
/// Facilitates communication of device information by providing mechanisms for status updates and device
/// information reporting.
/// </summary>
/// <remarks>The <see cref="DeviceInfoMessenger"/> class integrates with an <see
/// cref="IDeviceInfoProvider"/> to manage device-specific information. It uses a debounce timer to limit the
@@ -21,42 +21,42 @@ namespace PepperDash.Essentials.AppServer.Messengers
private readonly Timer debounceTimer;
/// <summary>
/// Initializes a new instance of the <see cref="DeviceInfoMessenger"/> class, which facilitates communication
/// of device information.
/// </summary>
/// <remarks>The messenger uses a debounce timer to limit the frequency of certain operations. The
/// timer is initialized with a 1-second interval and is disabled by default.</remarks>
/// <param name="key">A unique identifier for the messenger instance.</param>
/// <param name="messagePath">The path used for sending and receiving messages.</param>
/// <summary>
/// Initializes a new instance of the <see cref="DeviceInfoMessenger"/> class, which facilitates communication
/// of device information.
/// </summary>
/// <remarks>The messenger uses a debounce timer to limit the frequency of certain operations. The
/// timer is initialized with a 1-second interval and is disabled by default.</remarks>
/// <param name="key">A unique identifier for the messenger instance.</param>
/// <param name="messagePath">The path used for sending and receiving messages.</param>
/// <param name="device">An implementation of <see cref="IDeviceInfoProvider"/> that provides device-specific information.</param>
public DeviceInfoMessenger(string key, string messagePath, IDeviceInfoProvider device) : base(key, messagePath, device as Device)
{
_deviceInfoProvider = device;
debounceTimer = new Timer(1000)
{
Enabled = false,
AutoReset = false
debounceTimer = new Timer(1000)
{
Enabled = false,
AutoReset = false
};
debounceTimer.Elapsed += DebounceTimer_Elapsed;
}
private void DebounceTimer_Elapsed(object sender, ElapsedEventArgs e)
{
PostStatusMessage(JToken.FromObject(new
{
deviceInfo = _deviceInfoProvider.DeviceInfo
}));
}
/// <summary>
/// Registers actions and event handlers for device information updates and status reporting.
/// </summary>
/// <remarks>This method sets up actions for handling device status updates and reporting full
/// device status. It also subscribes to the <see cref="IDeviceInfoProvider.DeviceInfoChanged"/> event to
/// trigger debounced updates when the device information changes.</remarks>
}
private void DebounceTimer_Elapsed(object sender, ElapsedEventArgs e)
{
PostStatusMessage(JToken.FromObject(new
{
deviceInfo = _deviceInfoProvider.DeviceInfo
}));
}
/// <summary>
/// Registers actions and event handlers for device information updates and status reporting.
/// </summary>
/// <remarks>This method sets up actions for handling device status updates and reporting full
/// device status. It also subscribes to the <see cref="IDeviceInfoProvider.DeviceInfoChanged"/> event to
/// trigger debounced updates when the device information changes.</remarks>
protected override void RegisterActions()
{
base.RegisterActions();
@@ -76,12 +76,15 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a message containing the state information of a device, including detailed device information.
/// <summary>
/// Represents a message containing the state information of a device, including detailed device information.
/// </summary>
/// <remarks>This class is used to encapsulate the state of a device along with its associated
/// information. It extends <see cref="DeviceStateMessageBase"/> to provide additional details about the
/// device.</remarks>
/// <summary>
/// Represents a DeviceInfoStateMessage
/// </summary>
public class DeviceInfoStateMessage : DeviceStateMessageBase
{
[JsonProperty("deviceInfo")]

View File

@@ -9,6 +9,9 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a DevicePresetsModelMessenger
/// </summary>
public class DevicePresetsModelMessenger : MessengerBase
{
private readonly ITvPresetsProvider _presetsDevice;
@@ -83,18 +86,33 @@ namespace PepperDash.Essentials.AppServer.Messengers
#endregion
}
/// <summary>
/// Represents a PresetChannelMessage
/// </summary>
public class PresetChannelMessage
{
[JsonProperty("preset")]
/// <summary>
/// Gets or sets the Preset
/// </summary>
public PresetChannel Preset;
[JsonProperty("deviceKey")]
/// <summary>
/// Gets or sets the DeviceKey
/// </summary>
public string DeviceKey;
}
/// <summary>
/// Represents a PresetStateMessage
/// </summary>
public class PresetStateMessage : DeviceStateMessageBase
{
[JsonProperty("favorites", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Favorites
/// </summary>
public List<PresetChannel> Favorites { get; set; } = new List<PresetChannel>();
}
}

View File

@@ -7,6 +7,9 @@ using System;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a DeviceVolumeMessenger
/// </summary>
public class DeviceVolumeMessenger : MessengerBase
{
private readonly IBasicVolumeWithFeedback _localDevice;
@@ -142,12 +145,21 @@ namespace PepperDash.Essentials.AppServer.Messengers
#endregion
}
/// <summary>
/// Represents a VolumeStateMessage
/// </summary>
public class VolumeStateMessage : DeviceStateMessageBase
{
[JsonProperty("volume", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Volume
/// </summary>
public Volume Volume { get; set; }
}
/// <summary>
/// Represents a Volume
/// </summary>
public class Volume
{
[JsonProperty("level", NullValueHandling = NullValueHandling.Ignore)]
@@ -160,9 +172,15 @@ namespace PepperDash.Essentials.AppServer.Messengers
public bool? Muted { get; set; }
[JsonProperty("label", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Label
/// </summary>
public string Label { get; set; }
[JsonProperty("rawValue", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the RawValue
/// </summary>
public string RawValue { get; set; }
[JsonConverter(typeof(StringEnumConverter))]

View File

@@ -2,6 +2,9 @@
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a GenericMessenger
/// </summary>
public class GenericMessenger : MessengerBase
{
public GenericMessenger(string key, EssentialsDevice device, string messagePath) : base(key, messagePath, device)

View File

@@ -6,6 +6,9 @@ using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a ICommunicationMonitorMessenger
/// </summary>
public class ICommunicationMonitorMessenger : MessengerBase
{
private readonly ICommunicationMonitor _communicationMonitor;
@@ -46,11 +49,14 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
/// <summary>
/// Represents the state of the communication monitor
/// Represents a CommunicationMonitorState
/// </summary>
public class CommunicationMonitorState : DeviceStateMessageBase
{
[JsonProperty("commMonitor", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the CommunicationMonitor
/// </summary>
public CommunicationMonitorProps CommunicationMonitor { get; set; }
}

View File

@@ -5,6 +5,9 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a IDspPresetsMessenger
/// </summary>
public class IDspPresetsMessenger : MessengerBase
{
private readonly IDspPresets device;
@@ -42,6 +45,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a IHasDspPresetsStateMessage
/// </summary>
public class IHasDspPresetsStateMessage : DeviceStateMessageBase
{
[JsonProperty("presets")]

View File

@@ -8,10 +8,10 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Provides messaging functionality for managing room combination scenarios and partition states in an <see
/// cref="IEssentialsRoomCombiner"/> instance. Enables external systems to interact with the room combiner via
/// predefined actions and status updates.
/// <summary>
/// Provides messaging functionality for managing room combination scenarios and partition states in an <see
/// cref="IEssentialsRoomCombiner"/> instance. Enables external systems to interact with the room combiner via
/// predefined actions and status updates.
/// </summary>
/// <remarks>This class facilitates communication with an <see cref="IEssentialsRoomCombiner"/> by
/// exposing actions for toggling modes, managing partitions, and setting room combination scenarios. It also
@@ -21,15 +21,15 @@ namespace PepperDash.Essentials.AppServer.Messengers
{
private readonly IEssentialsRoomCombiner _roomCombiner;
/// <summary>
/// Initializes a new instance of the <see cref="IEssentialsRoomCombinerMessenger"/> class, which facilitates
/// messaging for an <see cref="IEssentialsRoomCombiner"/> instance.
/// </summary>
/// <remarks>This class is designed to enable communication and interaction with an <see
/// cref="IEssentialsRoomCombiner"/> through the specified messaging path. Ensure that the <paramref
/// name="roomCombiner"/> parameter is not null when creating an instance.</remarks>
/// <param name="key">The unique key identifying this messenger instance.</param>
/// <param name="messagePath">The path used for messaging operations.</param>
/// <summary>
/// Initializes a new instance of the <see cref="IEssentialsRoomCombinerMessenger"/> class, which facilitates
/// messaging for an <see cref="IEssentialsRoomCombiner"/> instance.
/// </summary>
/// <remarks>This class is designed to enable communication and interaction with an <see
/// cref="IEssentialsRoomCombiner"/> through the specified messaging path. Ensure that the <paramref
/// name="roomCombiner"/> parameter is not null when creating an instance.</remarks>
/// <param name="key">The unique key identifying this messenger instance.</param>
/// <param name="messagePath">The path used for messaging operations.</param>
/// <param name="roomCombiner">The <see cref="IEssentialsRoomCombiner"/> instance associated with this messenger.</param>
public IEssentialsRoomCombinerMessenger(string key, string messagePath, IEssentialsRoomCombiner roomCombiner)
: base(key, messagePath, roomCombiner as IKeyName)
@@ -37,8 +37,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
_roomCombiner = roomCombiner;
}
/// <summary>
/// Registers actions and event handlers for managing room combination scenarios and partition states.
/// <summary>
/// Registers actions and event handlers for managing room combination scenarios and partition states.
/// </summary>
/// <remarks>This method sets up various actions that can be triggered via specific endpoints,
/// such as toggling modes, setting room combination scenarios, and managing partition states. It also
@@ -152,54 +152,60 @@ namespace PepperDash.Essentials.AppServer.Messengers
private class RoomCombinerRoom : IKeyName
{
[JsonProperty("key")]
/// <summary>
/// Gets or sets the Key
/// </summary>
public string Key { get; set; }
[JsonProperty("name")]
/// <summary>
/// Gets or sets the Name
/// </summary>
public string Name { get; set; }
}
}
/// <summary>
/// Represents the state message for a room combiner system, providing information about the current configuration,
/// operational mode, and associated rooms, partitions, and scenarios.
/// <summary>
/// Represents the state message for a room combiner system, providing information about the current configuration,
/// operational mode, and associated rooms, partitions, and scenarios.
/// </summary>
/// <remarks>This class is used to encapsulate the state of a room combiner system, including its current
/// mode of operation, active room combination scenario, and the list of rooms and partitions involved. It is
/// typically serialized and transmitted to communicate the state of the system.</remarks>
public class IEssentialsRoomCombinerStateMessage : DeviceStateMessageBase
{
/// <summary>
/// Gets or sets a value indicating whether automatic mode is disabled.
/// <summary>
/// Gets or sets a value indicating whether automatic mode is disabled.
/// </summary>
[JsonProperty("disableAutoMode", NullValueHandling = NullValueHandling.Ignore)]
public bool DisableAutoMode { get; set; }
/// <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>
[JsonProperty("isInAutoMode", NullValueHandling = NullValueHandling.Ignore)]
public bool IsInAutoMode { get; set; }
/// <summary>
/// Gets or sets the current room combination scenario.
/// <summary>
/// Gets or sets the current room combination scenario.
/// </summary>
[JsonProperty("currentScenario", NullValueHandling = NullValueHandling.Ignore)]
public IRoomCombinationScenario CurrentScenario { get; set; }
/// <summary>
/// Gets or sets the collection of rooms associated with the entity.
/// <summary>
/// Gets or sets the collection of rooms associated with the entity.
/// </summary>
[JsonProperty("rooms", NullValueHandling = NullValueHandling.Ignore)]
public List<IKeyName> Rooms { get; set; }
/// <summary>
/// Gets or sets the collection of room combination scenarios.
/// <summary>
/// Gets or sets the collection of room combination scenarios.
/// </summary>
[JsonProperty("roomCombinationScenarios", NullValueHandling = NullValueHandling.Ignore)]
public List<IRoomCombinationScenario> RoomCombinationScenarios { get; set; }
/// <summary>
/// Gets or sets the collection of partition controllers.
/// <summary>
/// Gets or sets the collection of partition controllers.
/// </summary>
[JsonProperty("partitions", NullValueHandling = NullValueHandling.Ignore)]
public List<IPartitionController> Partitions { get; set; }

View File

@@ -5,6 +5,9 @@ using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a IHasCurrentSourceInfoMessenger
/// </summary>
public class IHasCurrentSourceInfoMessenger : MessengerBase
{
private readonly IHasCurrentSourceInfoChange sourceDevice;
@@ -46,12 +49,21 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a CurrentSourceStateMessage
/// </summary>
public class CurrentSourceStateMessage : DeviceStateMessageBase
{
[JsonProperty("currentSourceKey", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the CurrentSourceKey
/// </summary>
public string CurrentSourceKey { get; set; }
[JsonProperty("currentSource")]
/// <summary>
/// Gets or sets the CurrentSource
/// </summary>
public SourceListItem CurrentSource { get; set; }
}
}

View File

@@ -7,6 +7,9 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a IHasInputsMessenger
/// </summary>
public class IHasInputsMessenger<TKey> : MessengerBase
{
private readonly IHasInputs<TKey> itemDevice;
@@ -83,18 +86,30 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a IHasInputsStateMessage
/// </summary>
public class IHasInputsStateMessage<TKey> : DeviceStateMessageBase
{
[JsonProperty("inputs")]
/// <summary>
/// Gets or sets the Inputs
/// </summary>
public Inputs<TKey> Inputs { get; set; }
}
/// <summary>
/// Represents a Inputs
/// </summary>
public class Inputs<TKey>
{
[JsonProperty("items")]
public Dictionary<TKey, ISelectableItem> Items { get; set; }
[JsonProperty("currentItem")]
/// <summary>
/// Gets or sets the CurrentItem
/// </summary>
public TKey CurrentItem { get; set; }
}

View File

@@ -5,6 +5,9 @@ using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a IHasPowerControlWithFeedbackMessenger
/// </summary>
public class IHasPowerControlWithFeedbackMessenger : MessengerBase
{
private readonly IHasPowerControlWithFeedback _powerControl;
@@ -15,6 +18,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
_powerControl = powerControl;
}
/// <summary>
/// SendFullStatus method
/// </summary>
public void SendFullStatus()
{
var messageObj = new PowerControlWithFeedbackStateMessage
@@ -44,6 +50,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a PowerControlWithFeedbackStateMessage
/// </summary>
public class PowerControlWithFeedbackStateMessage : DeviceStateMessageBase
{
[JsonProperty("powerState", NullValueHandling = NullValueHandling.Ignore)]

View File

@@ -7,8 +7,14 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a IHasScheduleAwarenessMessenger
/// </summary>
public class IHasScheduleAwarenessMessenger : MessengerBase
{
/// <summary>
/// Gets or sets the ScheduleSource
/// </summary>
public IHasScheduleAwareness ScheduleSource { get; private set; }
public IHasScheduleAwarenessMessenger(string key, IHasScheduleAwareness scheduleSource, string messagePath)
@@ -55,27 +61,51 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a FullScheduleMessage
/// </summary>
public class FullScheduleMessage : DeviceStateMessageBase
{
[JsonProperty("meetings", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Meetings
/// </summary>
public List<Meeting> Meetings { get; set; }
[JsonProperty("meetingWarningMinutes", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the MeetingWarningMinutes
/// </summary>
public int MeetingWarningMinutes { get; set; }
}
/// <summary>
/// Represents a MeetingChangeMessage
/// </summary>
public class MeetingChangeMessage
{
[JsonProperty("meetingChange", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the MeetingChange
/// </summary>
public MeetingChange MeetingChange { get; set; }
}
/// <summary>
/// Represents a MeetingChange
/// </summary>
public class MeetingChange
{
[JsonProperty("changeType", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the ChangeType
/// </summary>
public string ChangeType { get; set; }
[JsonProperty("meeting", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Meeting
/// </summary>
public Meeting Meeting { get; set; }
}
}

View File

@@ -5,6 +5,9 @@ using System;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a IHumiditySensorMessenger
/// </summary>
public class IHumiditySensorMessenger : MessengerBase
{
private readonly IHumiditySensor device;
@@ -35,9 +38,15 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a IHumiditySensorStateMessage
/// </summary>
public class IHumiditySensorStateMessage : DeviceStateMessageBase
{
[JsonProperty("humidity")]
/// <summary>
/// Gets or sets the Humidity
/// </summary>
public string Humidity { get; set; }
}
}

View File

@@ -7,6 +7,9 @@ using System.Linq;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a ILevelControlsMessenger
/// </summary>
public class ILevelControlsMessenger : MessengerBase
{
private ILevelControls levelControlsDevice;
@@ -74,15 +77,24 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a LevelControlStateMessage
/// </summary>
public class LevelControlStateMessage : DeviceStateMessageBase
{
[JsonProperty("levelControls")]
public Dictionary<string, Volume> Levels { get; set; }
}
/// <summary>
/// Represents a LevelControlRequestMessage
/// </summary>
public class LevelControlRequestMessage
{
[JsonProperty("key")]
/// <summary>
/// Gets or sets the Key
/// </summary>
public string Key { get; set; }
[JsonProperty("level", NullValueHandling = NullValueHandling.Ignore)]

View File

@@ -82,6 +82,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a MatrixStateMessage
/// </summary>
public class MatrixStateMessage : DeviceStateMessageBase
{
[JsonProperty("outputs")]
@@ -91,6 +94,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
public Dictionary<string, RoutingInput> Inputs;
}
/// <summary>
/// Represents a RoutingInput
/// </summary>
public class RoutingInput
{
private IRoutingInputSlot _input;
@@ -124,6 +130,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a RoutingOutput
/// </summary>
public class RoutingOutput
{
private IRoutingOutputSlot _output;
@@ -154,15 +163,27 @@ namespace PepperDash.Essentials.AppServer.Messengers
public string Key => _output.Key;
}
/// <summary>
/// Represents a MatrixRouteRequest
/// </summary>
public class MatrixRouteRequest
{
[JsonProperty("outputKey")]
/// <summary>
/// Gets or sets the OutputKey
/// </summary>
public string OutputKey { get; set; }
[JsonProperty("inputKey")]
/// <summary>
/// Gets or sets the InputKey
/// </summary>
public string InputKey { get; set; }
[JsonProperty("routeType")]
/// <summary>
/// Gets or sets the RouteType
/// </summary>
public eRoutingSignalType RouteType { get; set; }
}
}

View File

@@ -7,6 +7,9 @@ using System;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a IProjectorScreenLiftControlMessenger
/// </summary>
public class IProjectorScreenLiftControlMessenger : MessengerBase
{
private readonly IProjectorScreenLiftControl device;
@@ -63,16 +66,25 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a ScreenLiftStateMessage
/// </summary>
public class ScreenLiftStateMessage : DeviceStateMessageBase
{
[JsonProperty("inUpPosition", NullValueHandling = NullValueHandling.Ignore)]
public bool? InUpPosition { get; set; }
[JsonProperty("displayDeviceKey", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the DisplayDeviceKey
/// </summary>
public string DisplayDeviceKey { get; set; }
[JsonConverter(typeof(StringEnumConverter))]
[JsonProperty("type", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Type
/// </summary>
public eScreenLiftControlType Type { get; set; }
}
}

View File

@@ -7,10 +7,13 @@ using System;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a RunRouteActionMessenger
/// </summary>
public class RunRouteActionMessenger : MessengerBase
{
/// <summary>
/// Device being bridged
/// Gets or sets the RoutingDevice
/// </summary>
public IRunRouteAction RoutingDevice { get; private set; }
@@ -76,9 +79,15 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a RoutingStateMessage
/// </summary>
public class RoutingStateMessage : DeviceStateMessageBase
{
[JsonProperty("selectedSourceKey")]
/// <summary>
/// Gets or sets the SelectedSourceKey
/// </summary>
public string SelectedSourceKey { get; set; }
}
}

View File

@@ -7,6 +7,9 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a ISelectableItemsMessenger
/// </summary>
public class ISelectableItemsMessenger<TKey> : MessengerBase
{
private readonly ISelectableItems<TKey> itemDevice;
@@ -83,12 +86,18 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a ISelectableItemsStateMessage
/// </summary>
public class ISelectableItemsStateMessage<TKey> : DeviceStateMessageBase
{
[JsonProperty("items")]
public Dictionary<TKey, ISelectableItem> Items { get; set; }
[JsonProperty("currentItem")]
/// <summary>
/// Gets or sets the CurrentItem
/// </summary>
public TKey CurrentItem { get; set; }
}

View File

@@ -5,6 +5,9 @@ using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a IShutdownPromptTimerMessenger
/// </summary>
public class IShutdownPromptTimerMessenger : MessengerBase
{
private readonly IShutdownPromptTimer _room;
@@ -79,15 +82,27 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
/// <summary>
/// Represents a IShutdownPromptTimerStateMessage
/// </summary>
public class IShutdownPromptTimerStateMessage : DeviceStateMessageBase
{
[JsonProperty("secondsRemaining")]
/// <summary>
/// Gets or sets the SecondsRemaining
/// </summary>
public int SecondsRemaining { get; set; }
[JsonProperty("percentageRemaining")]
/// <summary>
/// Gets or sets the PercentageRemaining
/// </summary>
public int PercentageRemaining { get; set; }
[JsonProperty("shutdownPromptSeconds")]
/// <summary>
/// Gets or sets the ShutdownPromptSeconds
/// </summary>
public int ShutdownPromptSeconds { get; set; }
}
}

View File

@@ -5,6 +5,9 @@ using System;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a ISwitchedOutputMessenger
/// </summary>
public class ISwitchedOutputMessenger : MessengerBase
{
@@ -50,9 +53,15 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a ISwitchedOutputStateMessage
/// </summary>
public class ISwitchedOutputStateMessage : DeviceStateMessageBase
{
[JsonProperty("isOn")]
/// <summary>
/// Gets or sets the IsOn
/// </summary>
public bool IsOn { get; set; }
}
}

View File

@@ -4,6 +4,9 @@ using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a ITechPasswordMessenger
/// </summary>
public class ITechPasswordMessenger : MessengerBase
{
private readonly ITechPassword _room;
@@ -64,12 +67,18 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
/// <summary>
/// Represents a ITechPasswordStateMessage
/// </summary>
public class ITechPasswordStateMessage : DeviceStateMessageBase
{
[JsonProperty("techPasswordLength", NullValueHandling = NullValueHandling.Ignore)]
public int? TechPasswordLength { get; set; }
}
/// <summary>
/// Represents a ITechPasswordEventMessage
/// </summary>
public class ITechPasswordEventMessage : DeviceEventMessageBase
{
[JsonProperty("isValid", NullValueHandling = NullValueHandling.Ignore)]
@@ -79,9 +88,15 @@ namespace PepperDash.Essentials.AppServer.Messengers
internal class SetTechPasswordContent
{
[JsonProperty("oldPassword")]
/// <summary>
/// Gets or sets the OldPassword
/// </summary>
public string OldPassword { get; set; }
[JsonProperty("newPassword")]
/// <summary>
/// Gets or sets the NewPassword
/// </summary>
public string NewPassword { get; set; }
}

View File

@@ -5,6 +5,9 @@ using System;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a ITemperatureSensorMessenger
/// </summary>
public class ITemperatureSensorMessenger : MessengerBase
{
private readonly ITemperatureSensor device;
@@ -50,12 +53,21 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a ITemperatureSensorStateMessage
/// </summary>
public class ITemperatureSensorStateMessage : DeviceStateMessageBase
{
[JsonProperty("temperature")]
/// <summary>
/// Gets or sets the Temperature
/// </summary>
public string Temperature { get; set; }
[JsonProperty("temperatureInCelsius")]
/// <summary>
/// Gets or sets the TemperatureInCelsius
/// </summary>
public bool TemperatureInCelsius { get; set; }
}
}

View File

@@ -6,6 +6,9 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a ILightingScenesMessenger
/// </summary>
public class ILightingScenesMessenger : MessengerBase
{
private ILightingScenes lightingScenesDevice;
@@ -59,12 +62,21 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a LightingBaseStateMessage
/// </summary>
public class LightingBaseStateMessage : DeviceStateMessageBase
{
[JsonProperty("scenes", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Scenes
/// </summary>
public List<LightingScene> Scenes { get; set; }
[JsonProperty("currentLightingScene", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the CurrentLightingScene
/// </summary>
public LightingScene CurrentLightingScene { get; set; }
}
}

View File

@@ -23,12 +23,15 @@ namespace PepperDash.Essentials.AppServer.Messengers
public string DeviceKey => _device?.Key ?? "";
/// <summary>
///
/// </summary>
/// <summary>
/// Gets or sets the AppServerController
/// </summary>
public IMobileControl AppServerController { get; private set; }
/// <summary>
/// Gets or sets the MessagePath
/// </summary>
public string MessagePath { get; private set; }
/// <summary>
@@ -104,6 +107,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
_actions.Add(path, action);
}
/// <summary>
/// GetActionPaths method
/// </summary>
public List<string> GetActionPaths()
{
return _actions.Keys.ToList();
@@ -243,6 +249,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
/// The device key
/// </summary>
[JsonProperty("key")]
/// <summary>
/// Gets or sets the Key
/// </summary>
public string Key { get; set; }
/// <summary>
@@ -258,11 +267,14 @@ namespace PepperDash.Essentials.AppServer.Messengers
public string MessageType => GetType().Name;
[JsonProperty("messageBasePath")]
/// <summary>
/// Gets or sets the MessageBasePath
/// </summary>
public string MessageBasePath { get; set; }
}
/// <summary>
/// Base class for state messages that includes the type of message and the implmented interfaces
/// Represents a DeviceStateMessageBase
/// </summary>
public class DeviceStateMessageBase : DeviceMessageBase
{

View File

@@ -97,6 +97,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
return handler;
}
/// <summary>
/// HandlePressAndHold method
/// </summary>
public static void HandlePressAndHold(string deviceKey, JToken content, Action<bool> action)
{
var msg = content.ToObject<MobileControlSimpleContent<string>>();

View File

@@ -8,6 +8,9 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a RoomEventScheduleMessenger
/// </summary>
public class RoomEventScheduleMessenger : MessengerBase
{
private readonly IRoomEventSchedule _room;
@@ -68,9 +71,15 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a RoomEventScheduleStateMessage
/// </summary>
public class RoomEventScheduleStateMessage : DeviceStateMessageBase
{
[JsonProperty("scheduleEvents")]
/// <summary>
/// Gets or sets the ScheduleEvents
/// </summary>
public List<ScheduledEventConfig> ScheduleEvents { get; set; }
}
}

View File

@@ -8,10 +8,16 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.AppServer.Messengers
{
// ReSharper disable once InconsistentNaming
/// <summary>
/// Represents a SIMPLAtcMessenger
/// </summary>
public class SIMPLAtcMessenger : MessengerBase
{
private readonly BasicTriList _eisc;
/// <summary>
/// Gets or sets the JoinMap
/// </summary>
public SIMPLAtcJoinMap JoinMap { get; private set; }

View File

@@ -10,6 +10,9 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.AppServer.Messengers
{
// ReSharper disable once InconsistentNaming
/// <summary>
/// Represents a SIMPLCameraMessenger
/// </summary>
public class SIMPLCameraMessenger : MessengerBase
{
private readonly BasicTriList _eisc;
@@ -80,6 +83,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
cameraAction(state.Value.Equals("true", StringComparison.InvariantCultureIgnoreCase));
}
/// <summary>
/// CustomUnregisterWithAppServer method
/// </summary>
public void CustomUnregisterWithAppServer(IMobileControl appServerController)
{
appServerController.RemoveAction(MessagePath + "/fullStatus");

View File

@@ -6,10 +6,16 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a SimplDirectRouteMessenger
/// </summary>
public class SimplDirectRouteMessenger : MessengerBase
{
private readonly BasicTriList _eisc;
/// <summary>
/// Gets or sets the JoinMap
/// </summary>
public MobileControlSIMPLRunDirectRouteActionJoinMap JoinMap { get; private set; }
public Dictionary<string, DestinationListItem> DestinationList { get; set; }
@@ -92,6 +98,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
));
}
/// <summary>
/// RegisterForDestinationPaths method
/// </summary>
public void RegisterForDestinationPaths()
{
//handle routing feedback from SIMPL

View File

@@ -7,12 +7,18 @@ using PepperDash.Essentials.Core.DeviceTypeInterfaces;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a SIMPLRouteMessenger
/// </summary>
public class SIMPLRouteMessenger : MessengerBase
{
private readonly BasicTriList _eisc;
private readonly uint _joinStart;
/// <summary>
/// Represents a StringJoin
/// </summary>
public class StringJoin
{
/// <summary>
@@ -43,6 +49,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
});
}
/// <summary>
/// CustomUnregisterWithAppServer method
/// </summary>
public void CustomUnregisterWithAppServer(IMobileControl appServerController)
{
appServerController.RemoveAction(MessagePath + "/fullStatus");

View File

@@ -10,10 +10,16 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.AppServer.Messengers
{
// ReSharper disable once InconsistentNaming
/// <summary>
/// Represents a SIMPLVtcMessenger
/// </summary>
public class SIMPLVtcMessenger : MessengerBase
{
private readonly BasicTriList _eisc;
/// <summary>
/// Gets or sets the JoinMap
/// </summary>
public SIMPLVtcJoinMap JoinMap { get; private set; }
private readonly CodecActiveCallItem _currentCallItem;

View File

@@ -5,6 +5,9 @@ using System;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a IShadesOpenCloseStopMessenger
/// </summary>
public class IShadesOpenCloseStopMessenger : MessengerBase
{
private readonly IShadesOpenCloseStop device;
@@ -86,9 +89,15 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a ShadeBaseStateMessage
/// </summary>
public class ShadeBaseStateMessage : DeviceStateMessageBase
{
[JsonProperty("middleButtonLabel", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the MiddleButtonLabel
/// </summary>
public string MiddleButtonLabel { get; set; }
[JsonProperty("isOpen", NullValueHandling = NullValueHandling.Ignore)]

View File

@@ -3,7 +3,7 @@
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Properties to configure a SIMPL Messenger
/// Represents a SimplMessengerPropertiesConfig
/// </summary>
public class SimplMessengerPropertiesConfig : EiscApiPropertiesConfig.ApiDevicePropertiesConfig
{

View File

@@ -8,6 +8,9 @@ using System.Threading.Tasks;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a SystemMonitorMessenger
/// </summary>
public class SystemMonitorMessenger : MessengerBase
{
private readonly SystemMonitorController systemMonitor;
@@ -86,24 +89,45 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
}
/// <summary>
/// Represents a SystemMonitorStateMessage
/// </summary>
public class SystemMonitorStateMessage
{
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the TimeZone
/// </summary>
public int TimeZone { get; set; }
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the TimeZoneName
/// </summary>
public string TimeZoneName { get; set; }
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the IoControllerVersion
/// </summary>
public string IoControllerVersion { get; set; }
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the SnmpVersion
/// </summary>
public string SnmpVersion { get; set; }
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the BacnetVersion
/// </summary>
public string BacnetVersion { get; set; }
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the ControllerVersion
/// </summary>
public string ControllerVersion { get; set; }
}
}

View File

@@ -5,6 +5,9 @@ using PepperDash.Essentials.Devices.Common.Displays;
namespace PepperDash.Essentials.AppServer.Messengers
{
/// <summary>
/// Represents a TwoWayDisplayBaseMessenger
/// </summary>
public class TwoWayDisplayBaseMessenger : MessengerBase
{
private readonly TwoWayDisplayBase _display;
@@ -17,6 +20,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
#region Overrides of MessengerBase
/// <summary>
/// SendFullStatus method
/// </summary>
public void SendFullStatus()
{
var messageObj = new TwoWayDisplayBaseStateMessage
@@ -82,12 +88,18 @@ namespace PepperDash.Essentials.AppServer.Messengers
#endregion
}
/// <summary>
/// Represents a TwoWayDisplayBaseStateMessage
/// </summary>
public class TwoWayDisplayBaseStateMessage : DeviceStateMessageBase
{
//[JsonProperty("powerState", NullValueHandling = NullValueHandling.Ignore)]
//public bool? PowerState { get; set; }
[JsonProperty("currentInput", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the CurrentInput
/// </summary>
public string CurrentInput { get; set; }
}
}

View File

@@ -923,7 +923,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
/// <summary>
/// A class that represents the state data to be sent to the user app
/// Represents a VideoCodecBaseStateMessage
/// </summary>
public class VideoCodecBaseStateMessage : DeviceStateMessageBase
{
@@ -938,6 +938,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
public bool? CameraSelfViewIsOn { get; set; }
[JsonProperty("cameras", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Cameras
/// </summary>
public CameraStatus Cameras { get; set; }
[JsonProperty("cameraSupportsAutoMode", NullValueHandling = NullValueHandling.Ignore)]
@@ -947,12 +950,21 @@ namespace PepperDash.Essentials.AppServer.Messengers
public bool? CameraSupportsOffMode { get; set; }
[JsonProperty("currentDialString", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the CurrentDialString
/// </summary>
public string CurrentDialString { get; set; }
[JsonProperty("currentDirectory", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the CurrentDirectory
/// </summary>
public CodecDirectory CurrentDirectory { get; set; }
[JsonProperty("directorySelectedFolderName", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the DirectorySelectedFolderName
/// </summary>
public string DirectorySelectedFolderName { get; set; }
[JsonProperty("hasCameras", NullValueHandling = NullValueHandling.Ignore)]
@@ -974,6 +986,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
public bool? InitialPhonebookSyncComplete { get; set; }
[JsonProperty("info", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Info
/// </summary>
public VideoCodecInfo Info { get; set; }
[JsonProperty("isInCall", NullValueHandling = NullValueHandling.Ignore)]
@@ -986,9 +1001,15 @@ namespace PepperDash.Essentials.AppServer.Messengers
public bool? IsZoomRoom { get; set; }
[JsonProperty("meetingInfo", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the MeetingInfo
/// </summary>
public MeetingInfo MeetingInfo { get; set; }
[JsonProperty("presets", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Presets
/// </summary>
public List<CodecRoomPreset> Presets { get; set; }
[JsonProperty("privacyModeIsOn", NullValueHandling = NullValueHandling.Ignore)]
@@ -1004,6 +1025,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
public bool? SharingContentIsOn { get; set; }
[JsonProperty("sharingSource", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the SharingSource
/// </summary>
public string SharingSource { get; set; }
[JsonProperty("showCamerasWhenNotInCall", NullValueHandling = NullValueHandling.Ignore)]
@@ -1019,6 +1043,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
public bool? SupportsAdHocMeeting { get; set; }
}
/// <summary>
/// Represents a CameraStatus
/// </summary>
public class CameraStatus
{
[JsonProperty("cameraManualSupported", NullValueHandling = NullValueHandling.Ignore)]
@@ -1031,30 +1058,54 @@ namespace PepperDash.Essentials.AppServer.Messengers
public bool? CameraOffIsSupported { get; set; }
[JsonProperty("cameraMode", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the CameraMode
/// </summary>
public string CameraMode { get; set; }
[JsonProperty("cameraList", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Cameras
/// </summary>
public List<CameraBase> Cameras { get; set; }
[JsonProperty("selectedCamera", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the SelectedCamera
/// </summary>
public Camera SelectedCamera { get; set; }
}
/// <summary>
/// Represents a Camera
/// </summary>
public class Camera
{
[JsonProperty("key", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Key
/// </summary>
public string Key { get; set; }
[JsonProperty("name", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Name
/// </summary>
public string Name { get; set; }
[JsonProperty("isFarEnd", NullValueHandling = NullValueHandling.Ignore)]
public bool? IsFarEnd { get; set; }
[JsonProperty("capabilities", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Capabilities
/// </summary>
public CameraCapabilities Capabilities { get; set; }
}
/// <summary>
/// Represents a CameraCapabilities
/// </summary>
public class CameraCapabilities
{
[JsonProperty("canPan", NullValueHandling = NullValueHandling.Ignore)]
@@ -1071,22 +1122,40 @@ namespace PepperDash.Essentials.AppServer.Messengers
}
/// <summary>
/// Represents a VideoCodecBaseEventMessage
/// </summary>
public class VideoCodecBaseEventMessage : DeviceEventMessageBase
{
}
/// <summary>
/// Represents a PasswordPromptEventMessage
/// </summary>
public class PasswordPromptEventMessage : VideoCodecBaseEventMessage
{
[JsonProperty("message", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Message
/// </summary>
public string Message { get; set; }
[JsonProperty("lastAttemptWasIncorrect", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the LastAttemptWasIncorrect
/// </summary>
public bool LastAttemptWasIncorrect { get; set; }
[JsonProperty("loginAttemptFailed", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the LoginAttemptFailed
/// </summary>
public bool LoginAttemptFailed { get; set; }
[JsonProperty("loginAttemptCancelled", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the LoginAttemptCancelled
/// </summary>
public bool LoginAttemptCancelled { get; set; }
}
}