WalnutRegistryPrivate.mesa
Copyright Ó 1985, 1992 by Xerox Corporation. All rights reserved.
Donahue, June 12, 1985 1:01:56 pm PDT
Willie-Sue, June 14, 1985 8:58:30 am PDT
Walnut Registry provides notification to outside clients of changes in Walnut databases. Walnut RegistryImpl can be run without running Walnut -- WalnutKernel imports it, rather than the other way around.
These are the procedures that invoke the operations that have been registered.
DIRECTORY
Rope USING [ROPE],
WalnutRegistry USING[Event, MsgEvent, MsgGroupEvent, MsgGroup, MsgSetEvent];
WalnutRegistryPrivate: CEDAR DEFINITIONS =
BEGIN
NotifyForEvent: PROC[event: WalnutRegistry.Event];
NotifyForMsgEvent: PROC[msgEvent: WalnutRegistry.MsgEvent, msg: Rope.ROPE];
NotifyForMsgSetEvent: PROC[msgSetEvent: WalnutRegistry.MsgSetEvent, msgSet: Rope.ROPE];
NotifyForMsgGroup: PROC[event: WalnutRegistry.MsgGroupEvent, group: WalnutRegistry.MsgGroup];
NotifyForMove: PROC[msg: Rope.ROPE, to, from: Rope.ROPE];
CheckForMsgGroupRegistration: PROC RETURNS[yes: BOOL];
returns TRUE if any client is interested in MsgGroup events - if FALSE, Walnut will not keep track of messages as they arrive from grapevine or are destroyed by expunge. This is check before each AcceptNewMail or Expunge.
END.