mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-15 17:00:03 +08:00
26 lines
866 B
C#
26 lines
866 B
C#
using System.Management.Automation;
|
|
using System.Management.Automation.Runspaces;
|
|
|
|
namespace MQTTnet.PowerShell.Cmdlets;
|
|
|
|
[Cmdlet(VerbsLifecycle.Register, "MqttMessageHandler")]
|
|
public class RegisterMqttMessageHandlerCmdlet : PSCmdlet
|
|
{
|
|
[Parameter(Mandatory = true, ValueFromPipeline = true)]
|
|
public required PsMqttSession Session { get; set; }
|
|
|
|
[Parameter(Mandatory = true)]
|
|
public ScriptBlock? Action { get; set; }
|
|
|
|
protected override void ProcessRecord()
|
|
{
|
|
EventHandler<PsMqttMessage> handler = (s, e) =>
|
|
{
|
|
//throw new NotImplementedException();
|
|
//InvokeCommand.InvokeScript(Action, false, PipelineResultTypes.Output, null, new object[] { e.Topic, e.Payload });
|
|
};
|
|
|
|
Session.MessageReceived += handler;
|
|
WriteObject($"Handler registered for MQTT messages on session.");
|
|
}
|
|
} |