------------------------------------------------------------------ -- -- NAME: GKS_EVENT_QUEUE -- DISCREPANCY REPORTS: ------------------------------------------------------------------ -- file: gks_event_queue.ada with GKS_TYPES; with CGI; use GKS_TYPES; use CGI; package GKS_EVENT_QUEUE is -- This package provides the types and procedures for manipulating -- the GKS event queue. type EVENT_RECORD(CLASS: INPUT_CLASS := NONE) is record WS : WS_ID; SIMULTANEOUS_EVENTS : MORE_EVENTS; case CLASS is when NONE => null; when LOCATOR_INPUT => LOCATOR_DEVICE : LOCATOR_DEVICE_NUMBER; LOCATOR_POINT: NDC.POINT; when STROKE_INPUT => STROKE_DEVICE : STROKE_DEVICE_NUMBER; STROKE_POINTS: ACCESS_POINT_ARRAY_TYPE; when VALUATOR_INPUT => VALUATOR_DEVICE : VALUATOR_DEVICE_NUMBER; VALUE: VALUATOR_INPUT_VALUE; when CHOICE_INPUT => CHOICE_DEVICE : CHOICE_DEVICE_NUMBER; CSTATUS: CHOICE_STATUS; CHOICE: CHOICE_VALUE; when PICK_INPUT => PICK_DEVICE : PICK_DEVICE_NUMBER; PSTATUS: PICK_STATUS; SEGMENT: SEGMENT_NAME; PICK: PICK_ID; when STRING_INPUT => STRING_DEVICE : STRING_DEVICE_NUMBER; STRING_VALUE: ACCESS_STRING_TYPE; end case; end record; -- Represents an event in the queue. type EVENT_RECORD_ARRAY is array(POSITIVE range <>) of EVENT_RECORD; -- This is an array of events that may be used for inserting into -- the GKS event queue. procedure QUEUE_EVENTS (EVENTS: in EVENT_RECORD_ARRAY; OVERFLOW: out BOOLEAN); procedure AWAIT_EVENT (TIMEOUT: in DURATION; WS: out WS_ID; CLASS: out INPUT_CLASS; DEVICE: out EVENT_DEVICE_NUMBER; ERROR_INDICATOR: out ERROR_NUMBER); procedure FLUSH_DEVICE_EVENTS (WS: in WS_ID; CLASS: in INPUT_CLASS; DEVICE: in EVENT_OVERFLOW_DEVICE_NUMBER; ERROR_INDICATOR: out ERROR_NUMBER); procedure INQ_QUEUE_OVERFLOW (WS: out WS_ID; CLASS: out INPUT_QUEUE_CLASS; DEVICE: out EVENT_OVERFLOW_DEVICE_NUMBER; ERROR_INDICATOR: out ERROR_NUMBER); function INQ_SIMULTANEOUS_EVENT return MORE_EVENTS; procedure GET_LOCATOR (RETURN_POSITION: out NDC.POINT; ERROR_INDICATOR: out ERROR_NUMBER); procedure GET_STROKE (RETURN_STROKE: out ACCESS_POINT_ARRAY_TYPE; ERROR_INDICATOR: out ERROR_NUMBER); procedure GET_VALUATOR (RETURN_VALUE: out VALUATOR_INPUT_VALUE; ERROR_INDICATOR: out ERROR_NUMBER); procedure GET_CHOICE (STATUS: out CHOICE_STATUS; CHOICE_NUMBER: out CHOICE_VALUE; ERROR_INDICATOR: out ERROR_NUMBER); procedure GET_PICK (STATUS: out PICK_STATUS; SEGMENT: out SEGMENT_NAME; PICK: out PICK_ID; ERROR_INDICATOR: out ERROR_NUMBER); procedure GET_STRING (RETURN_STRING: out ACCESS_STRING_TYPE; ERROR_INDICATOR: out ERROR_NUMBER); end GKS_EVENT_QUEUE;