From eeb0e84dc763833c5a2379c7b0f697051a69ede4 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 22 Jul 2025 15:44:52 +0000
Subject: [PATCH] docs: enable XML documentation generation and add initial
documentation
Co-authored-by: andrew-welker <1765622+andrew-welker@users.noreply.github.com>
---
.../PepperDash.Essentials.Core.csproj | 1 +
...epperDash.Essentials.Devices.Common.csproj | 1 +
...Essentials.MobileControl.Messengers.csproj | 1 +
...PepperDash.Essentials.MobileControl.csproj | 1 +
src/PepperDash.Essentials/ControlSystem.cs | 6 ++++
.../Factory/DeviceFactory.cs | 3 ++
src/PepperDash.Essentials/HttpLogoServer.cs | 28 +++++++++++--------
.../PepperDash.Essentials.csproj | 5 ++--
8 files changed, 33 insertions(+), 13 deletions(-)
diff --git a/src/PepperDash.Essentials.Core/PepperDash.Essentials.Core.csproj b/src/PepperDash.Essentials.Core/PepperDash.Essentials.Core.csproj
index b1406d69..251ba316 100644
--- a/src/PepperDash.Essentials.Core/PepperDash.Essentials.Core.csproj
+++ b/src/PepperDash.Essentials.Core/PepperDash.Essentials.Core.csproj
@@ -22,6 +22,7 @@
pdbonly
+ bin\$(Configuration)\PepperDash_Essentials_Core.xml
diff --git a/src/PepperDash.Essentials.Devices.Common/PepperDash.Essentials.Devices.Common.csproj b/src/PepperDash.Essentials.Devices.Common/PepperDash.Essentials.Devices.Common.csproj
index 49c05762..7be4372d 100644
--- a/src/PepperDash.Essentials.Devices.Common/PepperDash.Essentials.Devices.Common.csproj
+++ b/src/PepperDash.Essentials.Devices.Common/PepperDash.Essentials.Devices.Common.csproj
@@ -22,6 +22,7 @@
pdbonly
+ bin\$(Configuration)\Essentials Devices Common.xml
diff --git a/src/PepperDash.Essentials.MobileControl.Messengers/PepperDash.Essentials.MobileControl.Messengers.csproj b/src/PepperDash.Essentials.MobileControl.Messengers/PepperDash.Essentials.MobileControl.Messengers.csproj
index 8739c95b..d13d1a09 100644
--- a/src/PepperDash.Essentials.MobileControl.Messengers/PepperDash.Essentials.MobileControl.Messengers.csproj
+++ b/src/PepperDash.Essentials.MobileControl.Messengers/PepperDash.Essentials.MobileControl.Messengers.csproj
@@ -22,6 +22,7 @@
pdbonly
$(DefineConstants);SERIES4
+ bin\$(Configuration)\mobile-control-messengers.xml
diff --git a/src/PepperDash.Essentials.MobileControl/PepperDash.Essentials.MobileControl.csproj b/src/PepperDash.Essentials.MobileControl/PepperDash.Essentials.MobileControl.csproj
index 1e887728..235e0899 100644
--- a/src/PepperDash.Essentials.MobileControl/PepperDash.Essentials.MobileControl.csproj
+++ b/src/PepperDash.Essentials.MobileControl/PepperDash.Essentials.MobileControl.csproj
@@ -25,6 +25,7 @@
pdbonly
TRACE;SERIES4
+ bin\$(Configuration)\epi-essentials-mobile-control.xml
diff --git a/src/PepperDash.Essentials/ControlSystem.cs b/src/PepperDash.Essentials/ControlSystem.cs
index 936255a3..5266a840 100644
--- a/src/PepperDash.Essentials/ControlSystem.cs
+++ b/src/PepperDash.Essentials/ControlSystem.cs
@@ -18,6 +18,9 @@ using PepperDash.Essentials.Core.Routing;
namespace PepperDash.Essentials
{
+ ///
+ /// Main control system class that inherits from CrestronControlSystem and manages program lifecycle
+ ///
public class ControlSystem : CrestronControlSystem, ILoadConfig
{
HttpLogoServer LogoServer;
@@ -26,6 +29,9 @@ namespace PepperDash.Essentials
private CEvent _initializeEvent;
private const long StartupTime = 500;
+ ///
+ /// Initializes a new instance of the ControlSystem class
+ ///
public ControlSystem()
: base()
{
diff --git a/src/PepperDash.Essentials/Factory/DeviceFactory.cs b/src/PepperDash.Essentials/Factory/DeviceFactory.cs
index 262130f1..7a2df7d1 100644
--- a/src/PepperDash.Essentials/Factory/DeviceFactory.cs
+++ b/src/PepperDash.Essentials/Factory/DeviceFactory.cs
@@ -22,6 +22,9 @@ namespace PepperDash.Essentials
public class DeviceFactory
{
+ ///
+ /// Initializes a new instance of the DeviceFactory class and loads all device type factories
+ ///
public DeviceFactory()
{
var assy = Assembly.GetExecutingAssembly();
diff --git a/src/PepperDash.Essentials/HttpLogoServer.cs b/src/PepperDash.Essentials/HttpLogoServer.cs
index 1c7a4783..1f400f92 100644
--- a/src/PepperDash.Essentials/HttpLogoServer.cs
+++ b/src/PepperDash.Essentials/HttpLogoServer.cs
@@ -9,28 +9,31 @@ using Serilog.Events;
namespace PepperDash.Essentials
{
+ ///
+ /// HTTP server for serving logo images and files
+ ///
public class HttpLogoServer
{
///
- ///
+ /// The HTTP server instance
///
readonly HttpServer _server;
///
- ///
+ /// The directory containing files to serve
///
readonly string _fileDirectory;
///
- ///
+ /// Dictionary mapping file extensions to content types
///
public static Dictionary ExtensionContentTypes;
///
- ///
+ /// Initializes a new instance of the HttpLogoServer class
///
- ///
- ///
+ /// Port number for the HTTP server
+ /// Directory containing files to serve
public HttpLogoServer(int port, string directory)
{
ExtensionContentTypes = new Dictionary
@@ -57,8 +60,10 @@ namespace PepperDash.Essentials
}
///
- ///
+ /// Handles incoming HTTP requests and serves files from the configured directory
///
+ /// The HTTP server instance
+ /// HTTP request arguments
void Server_OnHttpRequest(object sender, OnHttpRequestArgs args)
{
var path = args.Request.Path;
@@ -102,8 +107,9 @@ namespace PepperDash.Essentials
}
///
- ///
+ /// Handles program status events and closes the server when the program is stopping
///
+ /// The program status event type
void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
{
if (programEventType == eProgramStatusEventType.Stopping)
@@ -111,10 +117,10 @@ namespace PepperDash.Essentials
}
///
- ///
+ /// Gets the content type for a file based on its extension
///
- ///
- ///
+ /// The file extension
+ /// The corresponding content type string
public static string GetContentType(string extension)
{
var type = ExtensionContentTypes.ContainsKey(extension) ? ExtensionContentTypes[extension] : "text/plain";
diff --git a/src/PepperDash.Essentials/PepperDash.Essentials.csproj b/src/PepperDash.Essentials/PepperDash.Essentials.csproj
index 04ae0d86..1ddd8e54 100644
--- a/src/PepperDash.Essentials/PepperDash.Essentials.csproj
+++ b/src/PepperDash.Essentials/PepperDash.Essentials.csproj
@@ -20,8 +20,9 @@
full
-
- pdbonly
+
+ pdbonly
+ bin\$(Configuration)\PepperDashEssentials.xml