Skip to main content

render_link_text

Function render_link_text 

Source
pub fn render_link_text(
    target: &str,
    field: Option<&str>,
    process_passive: bool,
    maximize_severity: bool,
) -> String
Expand description

Render a link the way EPICS Base prints one: the target, an optional .FIELD, then both modifiers, however terse the .db was.

Base stores a link’s modifiers as a bit mask and re-renders them from it (dbGetString’s DBF_INLINK arm), so field(INP, "PV:B PP") reads back as PV:B PP NMS — the modifiers are always both present and always spelled out. The target, by contrast, Base prints verbatim from pv_link.pvname: it never adds a .VAL the .db did not write. field is therefore None for a link that addresses the record itself.

Every tier renders links through this one function, so a client cannot tell tier 1 (SimplePvStore, raw .db strings) from tier 2 (spvirit_ioc::IocSource, a parsed link model) by reading .INP.