Table of Contents

Interface INcDependencyProxy

Namespace
Hi.NcParsers.Dependencys
Assembly
HiMech.dll

An INcDependency placeholder that resolves the real dependency lazily at pipeline-build time instead of carrying the data itself. Lets a shared SoftNcRunner hold only the fixed pipeline logic while the frequently-varied data lives on the owning INcDependencyListHost (e.g. a MachiningProject).

"Maker and taker": GetNcDependency() either constructs the dependency on demand (maker) or fetches one from the host wired by InitNcDependencyHost(INcDependencyListHost) (taker). A get-or-create proxy does both — it takes the host's instance when present and otherwise makes one, installing it into the host list so it persists and is editable per case.

A proxy may carry runtime-only state (the wired host, a memoized resolved dependency). That state is host-wired per run and MUST NOT be written by MakeXmlSource(string, string, bool) — same runtime-only posture as ProjectFolderDependency.

public interface INcDependencyProxy : INcDependency, IMakeXmlSource
Inherited Members
Extension Methods

Methods

GetNcDependency()

Resolves the concrete dependency this proxy stands in for. Called by GetEffectiveNcDependencyList() to build the list passed to every Build / Resolve / Expand / Initialize / GetSentences call. May return null when no host is wired or it supplied no matching data — callers null-check individual dependencies.

INcDependency GetNcDependency()

Returns

INcDependency

InitNcDependencyHost(INcDependencyListHost)

Wires the host whose PerCaseNcDependencyList this proxy takes from (or makes against). Called by the host / project service before the pipeline runs — mirrors how BaseDirectoryProvider is wired from HiNc. Runtime-only; not persisted. A get-or-create proxy may also materialize its data into the host list here, so the per-case dependency exists and is editable before any run.

void InitNcDependencyHost(INcDependencyListHost host)

Parameters

host INcDependencyListHost

The owner of the per-case dependency data.