<<>> <> <> <> <> DIRECTORY Xl USING [Connection, Details, Event, Match, MatchList, SetOfEvent, unspecifiedEvents, Window]; <> XlDispatch: CEDAR DEFINITIONS ~ BEGIN OPEN Xl; <> <> <<>> DispatchHandle: TYPE = REF DispatchHandleRec; <> DispatchHandleRec: TYPE; GetDispatchHandle: PROC [c: Connection] RETURNS [DispatchHandle]; <> Dispatch: PROC [handle: DispatchHandle, event: Event]; <> <<>> FindAndDispatch: PROC [event: Event]; <> <> <> <<>> WindowData: TYPE = REF WindowDataRec; <> WindowDataRec: TYPE; GetWindowData: PROC [c: Connection, w: Window] RETURNS [WindowData]; <> <> <> <<>> DispatchExplicite: PROC [wd: WindowData, event: Event]; <> <> <> <> AddMatch: PROC [c: Connection, w: Window, match: Match ¬ NIL, generate: SetOfEvent ¬ unspecifiedEvents, details: Details ¬ NIL]; <> <<(Removed on window deletion.)>> RemoveMatch: PROC [c: Connection, w: Window, match: Match ¬ NIL, details: Details ¬ NIL]; <> <<>> AddMatches: PROC [c: Connection, w: Window, matchList: MatchList ¬ NIL, generate: SetOfEvent ¬ unspecifiedEvents, details: Details ¬ NIL]; <> <<(Removed on window deletion.)>> AddMatchForUnregistered: PROC [c: Connection, match: Match ¬ NIL]; <> <> <> AddPriviledgedMatch: PRIVATE PROC [c: Connection, match: Match]; <> <<>> RemovePriviledgedMatch: PROC [c: Connection, match: Match]; <> <> <> InitConnection: PRIVATE PROC [c: Connection]; <> <<>> InitWindow: PRIVATE PROC [c: Connection, w: Window]; <> <<>> RemoveWindow: PRIVATE PROC [c: Connection, w: Window]; <> <<>> InternalAddMatch: PRIVATE PROC [c: Connection, w: Window, match: Match, generate: SetOfEvent ¬ unspecifiedEvents]; <> <> <<>> EnforcedSetOfEvent: PRIVATE PROC [c: Connection, w: Window, external: SetOfEvent ¬ unspecifiedEvents] RETURNS [SetOfEvent]; <> <> <> <> <<>> <<>> END.