Files
lmxopcua/src/ZB.MOM.WW.OtOpcUa.Driver.S7/SymbolImport/S7ImportResult.cs
2026-04-26 06:32:18 -04:00

26 lines
1.2 KiB
C#

namespace ZB.MOM.WW.OtOpcUa.Driver.S7.SymbolImport;
/// <summary>
/// Outcome of a single <see cref="IS7SymbolImporter"/> run. <see cref="Tags"/> carries
/// the imported tag definitions ready to drop into <c>S7DriverOptions.Tags</c>;
/// <see cref="ParsedCount"/>, <see cref="SkippedCount"/>, <see cref="ErrorCount"/>, and
/// <see cref="UdtPlaceholderCount"/> give the operator a single line of telemetry
/// ("imported 142 / skipped 3 / errored 0 / udt 5") suitable for either a CLI summary
/// or a startup-time log line.
/// </summary>
/// <remarks>
/// <para>
/// <see cref="ParsedCount"/> includes UDT placeholders — placeholders count as
/// imported tags (they materialise as <see cref="S7TagDefinition"/> rows the driver
/// can list in the Admin UI), they're just non-functional until PR-S7-D2 lands.
/// <see cref="UdtPlaceholderCount"/> is a sub-count operators can compare against
/// <see cref="ParsedCount"/> to spot how much of the import is still placeholder.
/// </para>
/// </remarks>
public sealed record S7ImportResult(
IReadOnlyList<S7TagDefinition> Tags,
int ParsedCount,
int SkippedCount,
int ErrorCount,
int UdtPlaceholderCount);