docs: complete XML doc coverage (returns, summaries, inheritdoc)

Resolve all 622 issues flagged by the enhanced CommentChecker: add missing
<returns> tags (incl. the standard phrasing on non-generic Task methods),
add missing <summary> tags, and replace misused/redundant <inheritdoc/> on
members that override or implement nothing with real documentation.
Documentation-only — no behavior change; solution builds clean.
This commit is contained in:
Joseph Doherty
2026-06-03 11:39:32 -04:00
parent a050170414
commit eabf270d71
208 changed files with 867 additions and 114 deletions
@@ -31,35 +31,42 @@ public interface IMxGatewayClient : IAsyncDisposable
/// <summary>Opens the gateway session and registers the client (Register → serverHandle held internally).</summary>
/// <param name="options">Resolved connection parameters.</param>
/// <param name="ct">Cancellation token.</param>
/// <returns>A task that represents the asynchronous operation.</returns>
Task ConnectAsync(MxGatewayConnectionOptions options, CancellationToken ct = default);
/// <summary>Closes the session.</summary>
/// <param name="ct">Cancellation token.</param>
/// <returns>A task that represents the asynchronous operation.</returns>
Task DisconnectAsync(CancellationToken ct = default);
/// <summary>AddItem + Advise; returns the gateway item handle (as a string subscription id).</summary>
/// <param name="tagPath">Tag address to subscribe to.</param>
/// <param name="ct">Cancellation token.</param>
/// <returns>A task that resolves to the gateway item handle (subscription id).</returns>
Task<string> SubscribeAsync(string tagPath, CancellationToken ct = default);
/// <summary>UnAdvise + RemoveItem for a previously returned subscription id.</summary>
/// <param name="subscriptionId">Subscription id returned by <see cref="SubscribeAsync"/>.</param>
/// <param name="ct">Cancellation token.</param>
/// <returns>A task that represents the asynchronous operation.</returns>
Task UnsubscribeAsync(string subscriptionId, CancellationToken ct = default);
/// <summary>Snapshot read of one or more tags (ReadBulk).</summary>
/// <param name="tagPaths">Tag addresses to read.</param>
/// <param name="ct">Cancellation token.</param>
/// <returns>A task that resolves to one outcome per requested tag path.</returns>
Task<IReadOnlyList<MxReadOutcome>> ReadAsync(IReadOnlyList<string> tagPaths, CancellationToken ct = default);
/// <summary>Write one or more tag/value pairs (WriteBulk with the configured WriteUserId).</summary>
/// <param name="writes">Tag/value pairs to write.</param>
/// <param name="ct">Cancellation token.</param>
/// <returns>A task that resolves to one outcome per requested write.</returns>
Task<IReadOnlyList<MxWriteOutcome>> WriteAsync(IReadOnlyList<(string TagPath, object? Value)> writes, CancellationToken ct = default);
/// <summary>One Galaxy browse level (BrowseChildren). <paramref name="parentNodeId"/> null → root.</summary>
/// <param name="parentNodeId">Parent node id (Galaxy contained path), or null for root.</param>
/// <param name="ct">Cancellation token.</param>
/// <returns>A task that resolves to the child nodes and a flag indicating whether the result was truncated.</returns>
Task<(IReadOnlyList<MxBrowseChild> Children, bool Truncated)> BrowseChildrenAsync(string? parentNodeId, CancellationToken ct = default);
/// <summary>
@@ -69,6 +76,7 @@ public interface IMxGatewayClient : IAsyncDisposable
/// </summary>
/// <param name="onUpdate">Callback invoked per advised-tag value change.</param>
/// <param name="ct">Cancellation token; ends the loop when cancelled.</param>
/// <returns>A task that represents the asynchronous operation.</returns>
Task RunEventLoopAsync(Action<MxValueUpdate> onUpdate, CancellationToken ct = default);
/// <summary>
@@ -80,6 +88,7 @@ public interface IMxGatewayClient : IAsyncDisposable
/// <param name="alarmFilterPrefix">Optional source-reference prefix to scope the feed; null = gateway-wide.</param>
/// <param name="onTransition">Callback invoked per native alarm transition.</param>
/// <param name="ct">Cancellation token; ends the loop when cancelled.</param>
/// <returns>A task that represents the asynchronous operation.</returns>
Task RunAlarmStreamAsync(string? alarmFilterPrefix, Action<NativeAlarmTransition> onTransition, CancellationToken ct = default);
}
@@ -87,5 +96,6 @@ public interface IMxGatewayClient : IAsyncDisposable
public interface IMxGatewayClientFactory
{
/// <summary>Creates a new, unconnected client instance.</summary>
/// <returns>A new <see cref="IMxGatewayClient"/> ready to be connected.</returns>
IMxGatewayClient Create();
}