using System; using PepperDash.Core; using PepperDash.Essentials.Core.Config; namespace PepperDash.Essentials.Core { /// /// Wraps a device factory, providing metadata and a factory method for creating devices. /// public class DeviceFactoryWrapper { /// /// Gets or sets the type associated with the current instance. /// public Type Type { get; set; } /// /// Gets or sets the description associated with the object. /// public string Description { get; set; } /// /// Gets or sets the factory method used to create an instance based on the provided . /// /// The factory method allows customization of how instances are created for /// specific inputs. Ensure the delegate is not null before invoking it. public Func FactoryMethod { get; set; } /// /// Initializes a new instance of the class with default values. /// /// The property is initialized to , and the property is set to "Not Available". public DeviceFactoryWrapper() { Type = null; Description = "Not Available"; } } }