docs(xmldoc): fill missing XML docs + strip tracking-ID comments across src
v2-ci / build (push) Failing after 41s
v2-ci / unit-tests (tests/Core/ZB.MOM.WW.OtOpcUa.Cluster.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.ControlPlane.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Runtime.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Security.Tests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.Host.IntegrationTests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests) (push) Has been skipped

Adds <summary>/<param>/<returns>/<inheritdoc> where missing and removes
project bookkeeping IDs (task/tracking refs) from shipped code comments,
so the docs read cleanly and CommentChecker is quiet except for known
false positives (PLC/protocol terms, event/IEqualityComparer inheritdoc).
Doc/comment-only; no logic changed; solution builds clean.
This commit is contained in:
Joseph Doherty
2026-07-07 12:38:39 -04:00
parent 384dbd7d36
commit 9cad9ed0fc
375 changed files with 1899 additions and 2493 deletions
@@ -48,6 +48,7 @@ public sealed class NamespaceMap
/// <summary>Snapshot the namespace table from a live session.</summary>
/// <param name="session">The OPC UA session to snapshot.</param>
/// <returns>A <see cref="NamespaceMap"/> capturing the session's current namespace table.</returns>
public static NamespaceMap FromSession(ISession session)
{
ArgumentNullException.ThrowIfNull(session);
@@ -60,6 +61,7 @@ public sealed class NamespaceMap
/// a live <see cref="ISession"/>.
/// </summary>
/// <param name="namespaceUris">The namespace table to snapshot.</param>
/// <returns>A <see cref="NamespaceMap"/> capturing the given namespace table.</returns>
public static NamespaceMap FromTable(NamespaceTable namespaceUris)
{
ArgumentNullException.ThrowIfNull(namespaceUris);
@@ -71,11 +73,13 @@ public sealed class NamespaceMap
/// <summary>The namespace URI at the given index, or null if out of range.</summary>
/// <param name="index">The zero-based index in the namespace table.</param>
/// <returns>The namespace URI at <paramref name="index"/>, or null if out of range.</returns>
public string? UriForIndex(int index) =>
index >= 0 && index < _uris.Length ? _uris[index] : null;
/// <summary>The index for a namespace URI, or null if the URI is not in the table.</summary>
/// <param name="uri">The namespace URI to look up.</param>
/// <returns>The index for <paramref name="uri"/>, or null if the URI is not in the table.</returns>
public ushort? IndexForUri(string uri) =>
_uriToIndex.TryGetValue(uri, out var idx) ? idx : null;
@@ -87,6 +91,7 @@ public sealed class NamespaceMap
/// address space so it survives a remote namespace-table reorder.
/// </summary>
/// <param name="nodeId">The NodeId to render as a stable reference.</param>
/// <returns>The server-stable reference string for <paramref name="nodeId"/>.</returns>
public string ToStableReference(NodeId nodeId)
{
ArgumentNullException.ThrowIfNull(nodeId);
@@ -119,6 +124,7 @@ public sealed class NamespaceMap
/// <param name="reference">The reference string to resolve (either <c>nsu=…</c> or <c>ns=N;…</c> format).</param>
/// <param name="nodeId">On success, the resolved NodeId; on failure, <c>NodeId.Null</c>.
/// Use <see cref="NodeId.IsNull(NodeId)"/> — not <c>== null</c> — to test this value.</param>
/// <returns><c>true</c> if <paramref name="reference"/> resolved to a non-null NodeId; otherwise <c>false</c>.</returns>
public static bool TryResolve(ISession? currentSession, string reference, out NodeId nodeId)
{
nodeId = NodeId.Null;