<> <> <> <> <> DIRECTORY Commander USING [Handle], IO USING [STREAM, UserAbort, SetUserAbort, ResetUserAbort, UserAborted], Rope USING [ROPE], Spell USING [SpellingList, SpellingGenerator, Filter, Modes] ; CommandProcOps: CEDAR DEFINITIONS IMPORTS IO = BEGIN <> ROPE: TYPE = Rope.ROPE; <> CheckForAbort: PROC [handle: Commander.Handle, msg: ROPE _ NIL] = INLINE {IF handle # NIL AND UserAbort[handle] THEN UserAborted[handle, msg]}; UserAborted: PROC [handle: Commander.Handle, msg: ROPE _ NIL] = INLINE {ERROR IO.UserAborted[handle, msg]}; UserAbort: PROC [handle: Commander.Handle] RETURNS [abort: BOOLEAN] = INLINE {RETURN[IO.UserAbort[handle.in] OR IO.UserAbort[handle.out]]}; <> SetUserAbort: PROC [handle: Commander.Handle] <> = INLINE {IO.SetUserAbort[handle.in]; IO.SetUserAbort[handle.out]}; ResetUserAbort: PROC [handle: Commander.Handle] <> = INLINE {IO.ResetUserAbort[handle.in]; IO.ResetUserAbort[handle.out]}; EventFailed: PROC [handle: Commander.Handle, msg: ROPE _ NIL, offender: ROPE _ NIL]; <> <> <> <> AskUser: PROC [msg: ROPE, timeout: INT _ -1, defaultKey: ATOM _ NIL, handle: Commander.Handle _ NIL, keyList: LIST OF ATOM _ NIL] RETURNS[value: ATOM]; < LIST[$Yes, $No].>> <<>> <> Confirm: PROC [msg: ROPE, timeout: INT _ -1, defaultConfirm: BOOL _ FALSE, handle: Commander.Handle _ NIL] RETURNS[BOOLEAN] = INLINE {RETURN[AskUser[msg: msg, timeout: timeout, defaultKey: IF defaultConfirm THEN $Yes ELSE $No, handle: handle] = $Yes]}; <> <> GetTheOne: PROCEDURE [ unknown: ROPE, spellingList: Spell.SpellingList _ NIL, generator: Spell.SpellingGenerator _ NIL, handle: Commander.Handle _ NIL, filter: Spell.Filter _ NIL, modes: Spell.Modes _ NIL ] RETURNS [correct: ROPE]; GetMatchingList: PROCEDURE [ unknown: ROPE, spellingList: Spell.SpellingList _ NIL, generator: Spell.SpellingGenerator _ NIL, handle: Commander.Handle _ NIL, filter: Spell.Filter _ NIL, modes: Spell.Modes _ NIL ] RETURNS [matches: LIST OF ROPE]; GetTheFile: PROC [ file: ROPE, defaultExt: ROPE _ NIL, handle: Commander.Handle _ NIL, modes: Spell.Modes _ NIL ] RETURNS [correct: ROPE]; <> GetMatchingFileList: PROC [ file: ROPE, defaultExt: ROPE _ NIL, handle: Commander.Handle, modes: Spell.Modes _ NIL ] RETURNS[matches: LIST OF ROPE]; <> <> Acquire: PROC [ resource: REF ANY, waitForIt: BOOL _ FALSE, owner: Rope.ROPE _ NIL, handle: Commander.Handle ] RETURNS[success: BOOL, ownedBy: Rope.ROPE]; <> <<>> Release: PROC [resource: REF ANY] RETURNS[success: BOOL]; <> <> CheckForFile: PROC [file: ROPE] RETURNS [found: BOOLEAN]; <> <<>> PutProperty: PROCEDURE [handle: Commander.Handle, key: REF ANY, val: REF ANY, thisEventOnly: BOOL _ FALSE] ; <> END. -- CommanderOps WaitUntilSaved