-- SMFIOps.mesa 
-- last edit by Schmidt May 27, 1983 6:34 pm
-- last edit by Satterthwaite, July 25, 1983 11:02 am
-- exported by SMFIImpl.Mesa

DIRECTORY
  SMFI: TYPE USING [BcdFileInfo, SrcFileInfo],
  SMTree: TYPE Tree USING [Link],
  SMOps: TYPE USING [MS],
  Rope: TYPE USING [ROPE, Text],
  TimeStamp: TYPE USING [Stamp];
	
SMFIOps: CEDAR DEFINITIONS~{

  Ambiguous: PROC[version: Rope.ROPE] RETURNS[BOOL];	-- empty or !H
  
 -- the following procedure calls acquire the monitor lock
	
 -- to evaluate an @ file in the model, called by SMEvalImpl
  EvaluateUnitId: PROC[ms: SMOps.MS, unitId, version: Rope.ROPE]
    RETURNS[value: SMTree.Link];
	
 -- largely used by SMIntImpl
  FindSource: PROC[create: LONG CARDINAL] RETURNS[fi: SMFI.SrcFileInfo];
  NewestSource: PROC[srcFileName: Rope.Text] RETURNS[fi: SMFI.SrcFileInfo];

  FindBcd: PROC[stamp: TimeStamp.Stamp] RETURNS[fi: SMFI.BcdFileInfo];
  FindBcdByName: PROC[bcdFileName: Rope.Text] RETURNS[fi: SMFI.BcdFileInfo];

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