4e8df38bb2
Closes #254
28 lines
1.4 KiB
C#
28 lines
1.4 KiB
C#
namespace ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Import;
|
|
|
|
/// <summary>
|
|
/// Options that drive an <see cref="IRsLogixImporter"/> run. Captures the few knobs that
|
|
/// reasonably differ between projects without forcing a dedicated subclass per import shape:
|
|
/// scope filter (Global vs. Local:N), maximum rows to keep (defensive cap on suspicious
|
|
/// exports), and whether to silently drop malformed rows or surface a parse exception.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// <para>
|
|
/// <see cref="ScopeFilter"/> matches the optional <c>Scope</c> column on RSLogix CSV
|
|
/// exports — "Global" tags live at the project root; "Local:1" / "Local:2" / etc. are
|
|
/// scoped to ladder file 1, ladder file 2, etc. When non-null, only rows whose
|
|
/// <c>Scope</c> value matches case-insensitively are emitted; rows with no <c>Scope</c>
|
|
/// column are treated as Global.
|
|
/// </para>
|
|
/// <para>
|
|
/// <see cref="IgnoreInvalid"/> defaults to <c>true</c> — RSLogix exports tend to carry
|
|
/// the occasional cosmetic row (single-letter alias, comment-only rows, blank lines)
|
|
/// and the v1 contract is "import what we can, log a warning for everything else".
|
|
/// Set to <c>false</c> to fail-fast on the first malformed row (useful for CI lint).
|
|
/// </para>
|
|
/// </remarks>
|
|
public sealed record ImportOptions(
|
|
string? ScopeFilter = null,
|
|
int? MaxRowsToImport = null,
|
|
bool IgnoreInvalid = true);
|