@@ -0,0 +1,27 @@
|
||||
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);
|
||||
Reference in New Issue
Block a user