(* ---------------------------------------------------------------------- *) (* Common Object Service *) (* ---------------------------------------------------------------------- *) (* ICosEvent - Interface Module for the Common Object Service "Event Services" *) (* ---------------------------------------------------------------------- *) (* Symbol prefixing: I - Interface Module C - Class Interface T - Non-class Type E - Enumeration Type k - constant p - parameter to a method a - variable *) (* ---------------------------------------------------------------------- *) INTERFACE ICosEventComm; TYPE TString = OPTIONAL ilu.CString; TYPE TObjectSBH = OPTIONAL ilu.CString; TYPE TAny = TString; (* ---------------------------------------------------------------------- *) (* Exception Definitions *) (* ---------------------------------------------------------------------- *) EXCEPTION Disconnected "Disconnected"; (* ---------------------------------------------------------------------- *) (* Push Event Services *) (* ---------------------------------------------------------------------- *) TYPE CPushConsumer = OBJECT METHODS Push(pData : TAny) RAISES Disconnected END, Disconnect() END; TYPE CPushSupplier = OBJECT METHODS Disconnect() END; (* ---------------------------------------------------------------------- *) (* Pull Event Services *) (* ---------------------------------------------------------------------- *) TYPE CPullSupplier = OBJECT METHODS Pull() : TAny RAISES Disconnected END, TryPull(OUT pHasEvent : BOOLEAN) : TAny RAISES Disconnected END, Disconnect() END; TYPE CPullConsumer = OBJECT METHODS Disconnect() END;