<<>> <> <> <> <> <> <<>> DIRECTORY Commander USING [ CommandProcHandle, EnumerateAction, Handle ], Prop USING [ PropList ], Rope USING [ ROPE ]; CommanderRegistry: CEDAR DEFINITIONS ~ { OPEN Prop, Rope; LookupProc: TYPE ~ PROC [key: ROPE] RETURNS [Commander.CommandProcHandle]; EnumerateProc: TYPE ~ PROC [matchProc: Commander.EnumerateAction] RETURNS [key: ROPE, procData: Commander.CommandProcHandle]; EnumPatternProc: TYPE ~ PROC [pattern: ROPE, matchProc: Commander.EnumerateAction] RETURNS [key: ROPE, procData: Commander.CommandProcHandle]; LookupProp: TYPE ~ PROC [cmd: Commander.Handle, key: REF] RETURNS [value: REF]; ChangeProc: TYPE = PROC [ oldLk: PropList --OF REF LookupProc--, oldEn: PropList --OF REF EnumerateProc--, oldEnP: PropList --OF REF EnumPatternProc--, oldLkPrp: PropList --OF REF LookupProp--] RETURNS [ newLk: PropList --OF REF LookupProc--, newEn: PropList --OF REF EnumerateProc--, newEnP: PropList --OF REF EnumPatternProc--, newLkPrp: PropList --OF REF LookupProp--]; ChangeRegistry: PROC [change: ChangeProc]; EnumeratePattern: EnumPatternProc; GetProp: LookupProp; }.