<> <> <> <> <> <> 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; defaultDatabase: Rope.ROPE; <> readOnly: READONLY BOOLEAN; Failed: ERROR [why: Failure, reason: Rope.ROPE]; Failure: TYPE = {badSegment, noSuchIcon, fileNotFound, invalidIndex}; RegisterIcon: PROC [iconName: Rope.ROPE, fileName: Rope.ROPE, index: CARDINAL]; <> Registration: PROC[iconName: Rope.ROPE] RETURNS[file: Rope.ROPE, index: CARDINAL]; <> Exists: PROC[iconName: Rope.ROPE] RETURNS[yes: BOOL]; <> GetIcon: PROC [iconName: Rope.ROPE, default: Icons.IconFlavor _ unInit] RETURNS [Icons.IconFlavor]; <> FlushCache: PROC [iconName: Rope.ROPE _ NIL]; <> WriteCatalogue: PROC[ file: Rope.ROPE ]; ReadCatalogue: PROC[ file: Rope.ROPE, errlog: IO.STREAM _ NIL ]; END.