
<<SMFIOps.mesa>>
<<Copyright  1985 by Xerox Corporation.  All rights reserved.>>
<<last edit by Satterthwaite, May 12, 1986 11:51:58 am PDT>>

DIRECTORY
BasicTime: TYPE USING [GMT],
SMFI: TYPE USING [BcdFileInfo, SrcFileInfo],
SMTree: TYPE Tree USING [Link],
SMOps: TYPE USING [MS],
Rope: TYPE USING [ROPE];

SMFIOps: CEDAR DEFINITIONS~{
OPEN Tree~~SMTree;

Ambiguous: PROC[version: Rope.ROPE] RETURNS[BOOL];    -- empty or !H
UnitToRope: PROC[unitId: Tree.Link] RETURNS[Rope.ROPE];

<<the following procedure calls acquire the monitor lock>>

Available: PROC[fi: SMFI.SrcFileInfo] RETURNS[BOOL];
Fill: PROC[ms: SMOps.MS, fi: SMFI.SrcFileInfo, localName, wDir: Rope.ROPE];

<<to evaluate an @ file in the model, called by SMEvalImpl>>

EvaluateUnitId: PROC[ms: SMOps.MS, unitId: Tree.Link] RETURNS[value: Tree.Link];

<<largely used by SMIntImpl and SMBcdImpl>>

FindSource: PROC[create: BasicTime.GMT] RETURNS[fi: SMFI.SrcFileInfo];
NewestSource: PROC[name, wDir: Rope.ROPE] RETURNS[fi: SMFI.SrcFileInfo];

FindBcd: PROC[create: BasicTime.GMT] RETURNS[fi: SMFI.BcdFileInfo];
NewestBcd: PROC[name, wDir: Rope.ROPE] RETURNS[fi: SMFI.BcdFileInfo];

Flush: PROC[];        -- clears src and bcd caches
Reset: PROC[];            -- erases local file system info

}.

