DIRECTORY Menus USING [Menu], Rope USING [ROPE], ViewerClasses USING [Viewer], WalnutOps USING [MsgSet], WalnutWindow USING [OutCome]; WalnutControlInternal: CEDAR DEFINITIONS = BEGIN Viewer: TYPE = ViewerClasses.Viewer; ROPE: TYPE = Rope.ROPE; WaitCallOutcome: TYPE = WalnutWindow.OutCome; blankMenu: Menus.Menu; forceQuitMenu: Menus.Menu; maybeQuitMenu: Menus.Menu; scavMenu: Menus.Menu; mailDBMenu: Menus.Menu; readOnlyDBMenu: Menus.Menu; nonMailDBMenu: Menus.Menu; workingMenu: Menus.Menu; walnutMenu: Menus.Menu; mailNotifyLabel: Viewer; previousUser: ROPE; mustQuitWalnut: ROPE; walnutRootFile: ROPE; GetUserResponse: PROC[m: Menus.Menu _ NIL] RETURNS[BOOL]; ChangeMenu: PROC[m: Menus.Menu, isBusy: BOOL]; BuildWalnutMenus: PROC; DoArchive: PROC[fileName: ROPE, msList: LIST OF WalnutOps.MsgSet, append: BOOL] RETURNS[ok: BOOL]; WalnutNotifier: PROC; RestartWalnut: PROC[ rootFile: ROPE, scavengeFirst: BOOL _ FALSE, firstTime: BOOL _ FALSE] RETURNS[ok: BOOL]; QuitWalnut: PROC[ra: REF ANY ]; DoStartupCall: PROC[proc: PROC[isRunning: BOOL]] RETURNS[outcome: WaitCallOutcome]; DoWaitCall: PROC[proc: PROC[]] RETURNS[outcome: WaitCallOutcome]; FlushWQueue: PROC; FixUpWalnutViewers: PROC; END. ΒWalnutControlInternal.Mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Willie-Sue, July 3, 1985 9:53:29 am PDT private interface for the Walnut Control Monitor * * * * * * * * * from WalnutWindowMenuImpl walnut's menu operations must called from within a DoWaitCall * * * * from WalnutNotifierImpl getting started/restarted stopping using walnut's queue puts proc on Walnut's queue and waits for its execution to finish; will get called even if Walnut is not running puts proc on Walnut's queue and waits for its execution to finish; If the call was flushed from the queue, then outcome = flushed upon return; if Walnut is not running, outcome = notRunning, else outcome = ok Κœ˜šΟn™Icodešœ Οmœ1™