docs: backfill XML documentation across 756 files
v2-ci / build (push) Failing after 1m43s
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
v2-ci / build (push) Failing after 1m43s
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>, <typeparam>, and <inheritdoc/> tags to public members surfaced by commentchecker — resolves 5,847 of 5,869 issues (99.6%) across three /fixdocs passes.
This commit is contained in:
@@ -15,12 +15,18 @@ public static class S7DriverFactoryExtensions
|
||||
{
|
||||
public const string DriverTypeName = "S7";
|
||||
|
||||
/// <summary>Registers the S7 driver factory with the registry.</summary>
|
||||
/// <param name="registry">The driver factory registry.</param>
|
||||
public static void Register(DriverFactoryRegistry registry)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(registry);
|
||||
registry.Register(DriverTypeName, CreateInstance);
|
||||
}
|
||||
|
||||
/// <summary>Creates a new S7 driver instance from configuration.</summary>
|
||||
/// <param name="driverInstanceId">The unique identifier for the driver instance.</param>
|
||||
/// <param name="driverConfigJson">The JSON configuration for the driver.</param>
|
||||
/// <returns>A newly created S7 driver instance.</returns>
|
||||
internal static S7Driver CreateInstance(string driverInstanceId, string driverConfigJson)
|
||||
{
|
||||
ArgumentException.ThrowIfNullOrWhiteSpace(driverInstanceId);
|
||||
@@ -34,6 +40,9 @@ public static class S7DriverFactoryExtensions
|
||||
/// / <see cref="S7Driver.ReinitializeAsync"/> so a config change delivered through the
|
||||
/// <c>IDriver</c> contract is actually applied — see code-review finding Driver.S7-011.
|
||||
/// </summary>
|
||||
/// <param name="driverInstanceId">The unique identifier for the driver instance.</param>
|
||||
/// <param name="driverConfigJson">The JSON configuration for the driver.</param>
|
||||
/// <returns>Parsed S7 driver options.</returns>
|
||||
internal static S7DriverOptions ParseOptions(string driverInstanceId, string driverConfigJson)
|
||||
{
|
||||
ArgumentException.ThrowIfNullOrWhiteSpace(driverInstanceId);
|
||||
@@ -104,32 +113,52 @@ public static class S7DriverFactoryExtensions
|
||||
AllowTrailingCommas = true,
|
||||
};
|
||||
|
||||
/// <summary>Data transfer object for S7 driver configuration.</summary>
|
||||
internal sealed class S7DriverConfigDto
|
||||
{
|
||||
/// <summary>Gets the PLC host address.</summary>
|
||||
public string? Host { get; init; }
|
||||
/// <summary>Gets the PLC port.</summary>
|
||||
public int? Port { get; init; }
|
||||
/// <summary>Gets the CPU type name.</summary>
|
||||
public string? CpuType { get; init; }
|
||||
/// <summary>Gets the rack number.</summary>
|
||||
public short? Rack { get; init; }
|
||||
/// <summary>Gets the slot number.</summary>
|
||||
public short? Slot { get; init; }
|
||||
/// <summary>Gets the connection timeout in milliseconds.</summary>
|
||||
public int? TimeoutMs { get; init; }
|
||||
/// <summary>Gets the list of tag definitions.</summary>
|
||||
public List<S7TagDto>? Tags { get; init; }
|
||||
/// <summary>Gets the probe configuration.</summary>
|
||||
public S7ProbeDto? Probe { get; init; }
|
||||
}
|
||||
|
||||
/// <summary>Data transfer object for S7 tag definition.</summary>
|
||||
internal sealed class S7TagDto
|
||||
{
|
||||
/// <summary>Gets the tag name.</summary>
|
||||
public string? Name { get; init; }
|
||||
/// <summary>Gets the S7 address (e.g., DB1.DBD0).</summary>
|
||||
public string? Address { get; init; }
|
||||
/// <summary>Gets the data type name.</summary>
|
||||
public string? DataType { get; init; }
|
||||
/// <summary>Gets a value indicating whether the tag is writable.</summary>
|
||||
public bool? Writable { get; init; }
|
||||
/// <summary>Gets the string length for string types.</summary>
|
||||
public int? StringLength { get; init; }
|
||||
/// <summary>Gets a value indicating whether write is idempotent.</summary>
|
||||
public bool? WriteIdempotent { get; init; }
|
||||
}
|
||||
|
||||
/// <summary>Data transfer object for S7 probe configuration.</summary>
|
||||
internal sealed class S7ProbeDto
|
||||
{
|
||||
/// <summary>Gets a value indicating whether probing is enabled.</summary>
|
||||
public bool? Enabled { get; init; }
|
||||
/// <summary>Gets the probe interval in milliseconds.</summary>
|
||||
public int? IntervalMs { get; init; }
|
||||
/// <summary>Gets the probe timeout in milliseconds.</summary>
|
||||
public int? TimeoutMs { get; init; }
|
||||
// Driver.S7-012: ProbeAddress removed from the configurable surface — the probe uses
|
||||
// ReadStatusAsync (CPU status), not a tag-address read. Config documents that previously
|
||||
|
||||
Reference in New Issue
Block a user