feat(dcl): surface OPC UA DataType/ValueRank/Writable on BrowseNode (T16 type-info)

This commit is contained in:
Joseph Doherty
2026-06-18 02:02:23 -04:00
parent bf1f2f6892
commit 5fd77c7155
3 changed files with 270 additions and 1 deletions
@@ -30,11 +30,17 @@ public record BrowseChildrenResult(
/// <param name="DisplayName">Human-readable display name from the server's DisplayName attribute.</param>
/// <param name="NodeClass">Classifies the node for UI purposes (Variable rows are selectable; Object rows are navigable).</param>
/// <param name="HasChildren">Hint so the UI can render an expand chevron without a second roundtrip.</param>
/// <param name="DataType">Friendly built-in DataType name for Variable nodes (e.g. "Double", "Int32"); the NodeId string for vendor types; null when not a Variable or the type read failed (best-effort).</param>
/// <param name="ValueRank">OPC UA ValueRank for Variable nodes (-1 = scalar, 0 = one-or-more dims, >0 = fixed array rank); null when not a Variable or the type read failed.</param>
/// <param name="Writable">True when the node grants CurrentWrite to the calling user; null when not a Variable or the type read failed.</param>
public record BrowseNode(
string NodeId,
string DisplayName,
BrowseNodeClass NodeClass,
bool HasChildren);
bool HasChildren,
string? DataType = null,
int? ValueRank = null,
bool? Writable = null);
public enum BrowseNodeClass { Object, Variable, Method, Other }