WalnutQuery.mesa
Copyright © 1986 by Xerox Corporation. All rights reserved.
Spreitzer, July 25, 1985 8:34:22 pm PDT
Rick Beach, July 12, 1986 5:52:21 pm PDT
DIRECTORY Rope, WalnutParseMsg, WalnutWindow;
WalnutQuery: CEDAR DEFINITIONS =
BEGIN
LORA: TYPE = LIST OF REF ANY;
ROPE: TYPE = Rope.ROPE;
REFTEXT: TYPE = REF TEXT;
LOR: TYPE = LIST OF ROPE;
FilterToMsgSet: PROC [filter: REF ANY, msgSetName: ROPE, status: Status ← NIL]
RETURNS [WalnutWindow.OutCome];
Status: TYPE = REF StatusRec;
StatusRec: TYPE = RECORD [
phase: Phase ← idle,
msgSet: ROPENIL,
total, enumerated, accepted, added: NAT ← 0];
Phase: TYPE = {idle, preparing, enumerating, adding};
NewViewedStatus: PROC [name: ROPENIL]
RETURNS [status: Status --with a RecordViewer on it--];
Test: TYPE = REF TestRep;
TestRep: TYPE = RECORD [
Eval: PROC [msg: Message, data: REF ANY] RETURNS [BOOL],
data: REF ANY,
msgSet: ROPENIL]; -- enumerate this message set, or all if NIL
Message: TYPE = REF MessageRep;
MessageRep: TYPE = RECORD [
msgID: ROPE,
msList: LOR,
headers: Headers];
Headers: TYPE = WalnutParseMsg.MsgHeaders;
END.