fix: add IHasInputsMessenger

In order to match up with how existing front-end apps are expecting to
recieve data for devices that implement the `IHasInputs<T>` interface,
there is now an IHasInputsMessengers that is implemented for devices
that implement `IHasInputs<string>`, `IHasInputs<int>` or
`IHasInputs<byte>` interfaces.
This commit is contained in:
Andrew Welker
2025-04-09 11:48:05 -05:00
parent 8d3fd343f1
commit 0b59990532
2 changed files with 107 additions and 9 deletions

View File

@@ -763,11 +763,10 @@ namespace PepperDash.Essentials
{
this.LogVerbose("Adding InputsMessenger<string> for {deviceKey}", device.Key);
var messenger = new ISelectableItemsMessenger<string>(
var messenger = new IHasInputsMessenger<string>(
$"{device.Key}-inputs-{Key}",
$"/device/{device.Key}",
stringInputs,
"inputs"
stringInputs
);
AddDefaultDeviceMessenger(messenger);
@@ -779,11 +778,10 @@ namespace PepperDash.Essentials
{
this.LogVerbose("Adding InputsMessenger for {deviceKey}", device.Key);
var messenger = new ISelectableItemsMessenger<byte>(
var messenger = new IHasInputsMessenger<byte>(
$"{device.Key}-inputs-{Key}",
$"/device/{device.Key}",
byteInputs,
"inputs"
byteInputs
);
AddDefaultDeviceMessenger(messenger);
@@ -795,11 +793,10 @@ namespace PepperDash.Essentials
{
this.LogVerbose("Adding InputsMessenger for {deviceKey}", device.Key);
var messenger = new ISelectableItemsMessenger<int>(
var messenger = new IHasInputsMessenger<int>(
$"{device.Key}-inputs-{Key}",
$"/device/{device.Key}",
intInputs,
"inputs"
intInputs
);
AddDefaultDeviceMessenger(messenger);