<> <> <> <> <> <> <> <> <> <<>> <> <<>> DIRECTORY Rope USING [ROPE], TiogaOps USING [CommandProc, Location, Ref, WhichNodes]; TiogaExtraOps: CEDAR DEFINITIONS = BEGIN ROPE: TYPE ~ Rope.ROPE; Ref: TYPE ~ TiogaOps.Ref; Location: TYPE ~ TiogaOps.Location; <> SetProp: PROC [name: ATOM, value: REF, which: TiogaOps.WhichNodes _ selection]; PutProp: PROC [n: Ref, name: ATOM, value: REF]; <> <<>> GetProp: PROC [n: Ref, name: ATOM] RETURNS [REF]; RemProp: PROC [n: Ref, name: ATOM]; MapPropsAction: TYPE = PROC [name: ATOM, value: REF] RETURNS [BOOL]; MapProps: PROC [n: Ref, action: MapPropsAction, formatFlag, commentFlag: BOOL _ TRUE] RETURNS [BOOL]; <> <> <> <> <> RegisterPropProc: PROC [name: ATOM, reader: ReadSpecsProc, writer: WriteSpecsProc, copier: CopyInfoProc]; <> <> ReadSpecsProc: TYPE = PROC [name: ATOM, specs: ROPE] RETURNS [value: REF]; WriteSpecsProc: TYPE = PROC [name: ATOM, value: REF] RETURNS [specs: ROPE]; CopyInfoProc: TYPE = PROC [name: ATOM, value: REF] RETURNS [new: REF]; NullRead: ReadSpecsProc; -- returns NIL always NullWrite: WriteSpecsProc; -- returns NIL always NullCopy: CopyInfoProc; -- returns NIL always <> PutTextKey: PROC [node: Ref, where: INT, key: REF]; <> GetTextKey: PROC [node: Ref, key: REF] RETURNS [loc: Location]; <> <> TextKeyNotFound: ERROR; -- raised by GetTextKey RemoveTextKey: PROC [node: Ref, key: REF]; MapTextKeys: PROC [node: Ref, proc: PROC [key: REF, where: INT] RETURNS [BOOL] ] RETURNS [BOOL]; <> <> <> GetFile: PROC [name: ROPE] RETURNS [root: Ref]; PutFile: PROC [name: ROPE, root: Ref]; FreeTree: PROC [root: Ref]; <> <> UnRegisterCommand: PROC [name: ATOM, proc: TiogaOps.CommandProc]; <> END.