<> <> <> << Widom, June 18, 1984 8:55:28 am PDT>> DIRECTORY DB, Icons USING [IconFlavor], IO USING[STREAM], Rope USING [ROPE]; DBIcons: CEDAR DEFINITIONS = BEGIN EstablishIconDB: PROC [file: Rope.ROPE]; Close: PROC[]; <> IconDB: READONLY Rope.ROPE; readOnly: READONLY BOOLEAN; RegisterIcon: PROC [iconName: Rope.ROPE, fileName: Rope.ROPE, index: CARDINAL]; IsRegistered: PROC[iconName: Rope.ROPE _ NIL, fileName: Rope.ROPE _ NIL, index: CARDINAL _ LAST[CARDINAL]] RETURNS[name: Rope.ROPE, file: Rope.ROPE, i: CARDINAL]; GetIcon: PROC [iconName: Rope.ROPE, default: Icons.IconFlavor _ unInit] RETURNS [Icons.IconFlavor]; GetIconForEntity: PROC [eName, domain: Rope.ROPE, segment: DB.Segment] RETURNS [Icons.IconFlavor]; <> GetIconNameForEntity: PROC [eName, domain: Rope.ROPE, segment: DB.Segment] RETURNS [name: Rope.ROPE]; <> SetIcon: PROC[e: DB.Entity, iconFile: Rope.ROPE, fileIndex: CARDINAL]; <> InvalidateCache: PROC [iconName: Rope.ROPE _ NIL]; WriteCatalogue: PROC[ file: Rope.ROPE ]; ReadCatalogue: PROC[ file: Rope.ROPE, errlog: IO.STREAM _ NIL ]; Failed: ERROR [why: Failure, reason: Rope.ROPE]; Failure: TYPE = {badSegment, noSuchIcon, fileNotFound, invalidIndex}; END.