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
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.
}.