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";
}
}
}