<> <> <> <> <> <> DIRECTORY Atom USING [ GetProp ], Rope USING [ ROPE ], ViewerClasses USING [ Viewer ], WalnutVoice; WalnutVoiceImpl: CEDAR PROGRAM IMPORTS Atom EXPORTS WalnutVoice = { CheckForWalnuthatch: PUBLIC PROC RETURNS[ra: REF ANY] = { proc: REF PROC RETURNS[ra: REF ANY] = NARROW[Atom.GetProp[$WalnutVoice, $CheckForWalnuthatch]]; RETURN[IF proc=NIL THEN NIL ELSE proc[]]; }; AddNuthatchHandleToViewer: PUBLIC PROC[v: ViewerClasses.Viewer] = { proc: REF PROC[v: ViewerClasses.Viewer] = NARROW[Atom.GetProp[$WalnutVoice, $AddNuthatchHandleToViewer]]; IF proc#NIL THEN proc[v]; }; MakeInterestEntry: PUBLIC PROC[voiceID, gvID: Rope.ROPE] = { proc: REF PROC[voiceID, gvID: Rope.ROPE] = NARROW[Atom.GetProp[$WalnutVoice, $MakeInterestEntry]]; IF proc#NIL THEN proc[voiceID, gvID]; }; VoiceMoveTo: PUBLIC PROC[msgSetName, msgName: Rope.ROPE] = { proc: REF PROC[msgSetName, msgName: Rope.ROPE] = NARROW[Atom.GetProp[$WalnutVoice, $VoiceMoveTo]]; IF proc#NIL THEN proc[msgSetName, msgName]; }; RemoveInterestEntry: PUBLIC PROC[voiceID, gvID: Rope.ROPE] = { proc: REF PROC[voiceID, gvID: Rope.ROPE] = NARROW[Atom.GetProp[$WalnutVoice, $RemoveInterestEntry]]; IF proc#NIL THEN proc[voiceID, gvID]; }; }. <> <> <> <<>>