1using System.Collections.Generic;
3using System.Threading.Tasks;
60 return Grade.NotAtAll;
73 if (BrokerNode is
null)
80 string Topic = await
Parent.GetFullTopic();
81 if (
string.IsNullOrEmpty(Topic))
87 StringBuilder ToSniffer = BrokerNode.HasSniffers ?
new StringBuilder() :
null;
90 if (!(ToSniffer is
null))
97 List<byte[]> TimIds =
new List<byte[]>();
98 List<string> Names =
new List<string>();
105 TimIds.Add(TimNode.TimIdBinary);
106 Names.Add(TimNode.EntityName);
109 if (TimIds.Count == 0)
112 ToSniffer = BrokerNode.HasSniffers ?
new StringBuilder() :
null;
115 if (!(ToSniffer is
null))
116 await BrokerNode.
Information(ToSniffer.ToString());
129 return Task.CompletedTask;
146 if (BrokerNode is
null)
153 string Topic = await CommunicationNode.GetFullTopic();
154 if (
string.IsNullOrEmpty(Topic))
158 StringBuilder ToSniffer;
163 ToSniffer = BrokerNode.HasSniffers ?
new StringBuilder() :
null;
169 case TedsAccessCode.XdcrName:
170 ToSniffer = BrokerNode.HasSniffers ?
new StringBuilder() :
null;
174 new Ieee1451_0.TEDS.FieldTypes.TransducerNameTeds.Content(
this.EntityName));
181 if (!(ToSniffer is
null))
182 await BrokerNode.
Information(ToSniffer.ToString());
Contains information about a language.
Task< string > GetStringAsync(Type Type, int Id, string Default)
Gets the string value of a string ID. If no such string exists, a string is created with the default ...
IEEE 1451.0 Discovery Message
DiscoveryService DiscoveryService
Discovery Service
static byte[] SerializeResponse(ushort ErrorCode, byte[] NcapId, string Name, StringBuilder SnifferOutput)
Serializes an NCAP discovery response.
IEEE 1451.0 TEDS Access Message
static byte[] SerializeResponse(ushort ErrorCode, byte[] NcapId, byte[] TimId, ushort ChannelId, StringBuilder SnifferOutput, TedsId TedsHeader, params TedsRecord[] Records)
Serializes a response to a TEDS request.
TEDS identification header (§6.3)
MQTT Topic node that publishes discovery commands in accordance with IEEE 1451.0.
Topic node representing an IEEE 1451.0 NCAP.
byte[] NcapIdBinary
NCAP ID in binary form.
Topic node representing an IEEE 1451.0 NCAP Proxy.
override Grade Supports(MqttTopicRepresentation Topic)
How well the topic node supports an MQTT topic
override Task NameReceived(string Name)
Name has been received
override Task< bool > AcceptsParentAsync(INode Parent)
If the node accepts a given parent.
async Task DiscoveryRequest(DiscoveryMessage DiscoveryMessage)
A request for TEDS data has been received.
ProxyMqttNcapTopicNode()
Topic node representing an IEEE 1451.0 NCAP Proxy.
override Task< string > GetTypeNameAsync(Language Language)
Diaplayable type name for node.
async Task TedsRequest(TedsAccessMessage TedsAccessMessage, TedsAccessCode TedsAccessCode, uint TedsOffset, double TimeoutSeconds)
A request for TEDS data has been received.
override Task< bool > AcceptsChildAsync(INode Child)
If the node accepts a given child.
Topic node representing an IEEE 1451.0 TIM Proxy.
Static class for IEEE 1451-related parsing tasks.
MQTT Broker connection object.
Task Publish(string Topic, MqttQualityOfService QoS, bool Retain, byte[] Data)
Publishes binary data to a topic.
Node representing a connection to an MQTT broker.
Task< MqttBroker > GetBroker()
Gets the corresponding broker node.
async Task Information(string Comment)
Called to inform the viewer of something.
Contains information about an MQTT topic
Interface for nodes that are published through the concentrator interface.
Task< IEnumerable< INode > > ChildNodes
Child nodes. If no child nodes are available, null is returned.
INode Parent
Parent Node, or null if a root node.
Interface for nodes that can be discovered on an IEEE 1451.0 network.
Interface for nodes that can return TEDS.
Task< INode > GetParent()
Gets the parent of the node.
MqttQualityOfService
MQTT Quality of Service level.
TedsAccessCode
TEDS Access Code
DiscoveryService
Discovery Service