<<>> <> <> <> <> <<>> <> <<>> DIRECTORY IO USING [STREAM], Rope USING [ROPE], Tioga USING [CharSet, Looks, noLooks, allLooks, PropList], TiogaAccess USING [Writer]; IOTioga: CEDAR DEFINITIONS ~ BEGIN STREAM: TYPE ~ IO.STREAM; ROPE: TYPE ~ Rope.ROPE; <> CharSet: TYPE ~ Tioga.CharSet; SetCharSet: PROC [self: STREAM, charSet: CharSet ¬ 0]; <> GetCharSet: PROC [self: STREAM] RETURNS [CharSet]; <> <<>> <> Looks: TYPE ~ Tioga.Looks; noLooks: Looks ~ Tioga.noLooks; allLooks: Looks ~ Tioga.allLooks; LooksFromRope: PROC [ROPE] RETURNS [Looks]; <> <<>> RopeFromLooks: PROC [Looks] RETURNS [ROPE]; <> ChangeLooks: PROC [self: STREAM, remove, add: Looks ¬ noLooks]; <> <> <<>> AddLooks: PROC [self: STREAM, looks: Looks] ~ INLINE { ChangeLooks[self: self, remove: noLooks, add: looks] }; <<>> RemoveLooks: PROC [self: STREAM, looks: Looks] ~ INLINE { ChangeLooks[self: self, remove: looks, add: noLooks] }; <<>> SetLooks: PROC [self: STREAM, looks: Looks] ~ INLINE { ChangeLooks[self: self, remove: allLooks, add: looks] }; <<>> ClearLooks: PROC [self: STREAM] ~ INLINE { ChangeLooks[self: self, remove: allLooks, add: noLooks] }; <<>> GetLooks: PROC [self: STREAM] RETURNS [Looks]; <> <<>> <> <> PropList: TYPE ~ Tioga.PropList; <<>> PropPut: PROC [propList: PropList, key: REF, val: REF] RETURNS [PropList]; <> <<>> PropGet: PROC [propList: PropList, key: REF] RETURNS [val: REF]; <> SetCharProps: PROC [self: STREAM, propList: PropList]; <> <> <<>> GetCharProps: PROC [self: STREAM] RETURNS [PropList]; <> <<>> <> SetNodeProp: PROC [self: STREAM, name: ATOM, value: REF]; <> <<>> GetNodeProp: PROC [self: STREAM, name: ATOM] RETURNS [value: REF]; <> <<>> MapPropsAction: TYPE ~ PROC [name: ATOM, value: REF] RETURNS [quit: BOOL ¬ FALSE]; <> MapNodeProps: PROC [self: STREAM, action: MapPropsAction] RETURNS [BOOL]; <> <<>> FormatFromRope: PROC [ROPE] RETURNS [ATOM]; <> <<>> SetFormat: PROC [self: STREAM, format: ATOM]; <> <> <<>> GetFormat: PROC [self: STREAM] RETURNS [ATOM]; <> <> <<>> CommentFromBool: PROC [BOOL] RETURNS [REF]; <> <<>> BoolFromComment: PROC [REF] RETURNS [BOOL]; <> <<>> SetComment: PROC [self: STREAM, comment: BOOL]; <> <> <<>> GetComment: PROC [self: STREAM] RETURNS [BOOL]; <> <> <<>> <> SetLevel: PROC [self: STREAM, level: CARDINAL]; <>>> <<>> GetLevel: PROC [self: STREAM] RETURNS [level: CARDINAL]; <> <<>> Break: PROC [self: STREAM]; <> <<>> <> CreateTiogaAccessStream: PROC RETURNS [STREAM]; <> <> <> <> <<>> WriterFromStream: PROC [self: STREAM] RETURNS [TiogaAccess.Writer]; <> <> Signal: SIGNAL [code: ATOM, msg: ROPE]; <<>> END.