MobOps.mesa
Copyright Ó 1991 by Xerox Corporation. All rights reserved.
Andy Litman August 24, 1988 6:36:03 pm PDT
JKF October 2, 1988 8:54:27 am PDT
Peter B. Kessler October 18, 1988 4:51:24 pm PDT
DIRECTORY
MobDefs USING [MobBase],
IO USING [STREAM],
Rope USING [ROPE],
SymbolTable USING [Base];
MobOps: DEFINITIONS ~ {
This interface is implemented by MobOpsImpl and MimSysOpsImpl.
A Cookie is acquired through DoMobStream, then used in other calls.
Cookie: TYPE = REF CookieObj;
CookieObj: TYPE;
A Cache is acquired through NewCache, used through DoCachedSymbols, and then flushed with FlushCache.
Cache: TYPE ~ REF CacheRep;
CacheRep: TYPE;
DoSymbols: PROC[
cookie: Cookie,
proc: PROC[sym: SymbolTable.Base]]; -- sym may be NIL
Errors raised by DoSymbols
Configuration: ERROR;
NoSymbols: ERROR;
WrongSymbolsVersion: ERROR;
DoMobStream: PROC[
file: IO.STREAM,
proc: PROC[
mob: MobDefs.MobBase, -- mob may be NIL
cookie: Cookie]];
Errors raised by DoMobStream
FileError: ERROR[err: Rope.ROPE];
WrongMobdefsVersion: ERROR;
NewCache: PROCEDURE [] RETURNS [Cache];
FlushCache: PROCEDURE [cache: Cache] RETURNS [];
DoCachedSymbols: PROCEDURE [
cookie: Cookie,
proc: PROC[sym: SymbolTable.Base], -- sym may be NIL
cache: Cache];
Raises the same errors as DoSymbols.
}.