(* ---------------------------------------------------------------------- *)
(* Common Object Service
*)
(* ---------------------------------------------------------------------- *)
(* ICosEventChannelAdmin - Interface Module for the Common Object Service
"Event Channel Administration 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 ICosEventChannelAdmin
IMPORTS ICosEventComm END;
TYPE TString = OPTIONAL ilu.CString;
TYPE TObjectSBH = OPTIONAL ilu.CString;
TYPE TAny = TString;
(* ---------------------------------------------------------------------- *)
(* Exception Definitions *)
(* ---------------------------------------------------------------------- *)
EXCEPTION AlreadyConnected "Already Connected";
EXCEPTION TypeError "Type Error";
(* ---------------------------------------------------------------------- *)
(* Proxy Channel Event Services *)
(* ---------------------------------------------------------------------- *)
TYPE CProxyPushConsumer = OBJECT
SUPERTYPES ICosEventComm.CPushConsumer END
METHODS
ConnectPushSupplier(pSupplier : ICosEventComm.CPushSupplier)
RAISES AlreadyConnected END
END;
TYPE CProxyPullSupplier = OBJECT
SUPERTYPES ICosEventComm.CPullSupplier END
METHODS
ConnectPullConsumer(pConsumer : ICosEventComm.CPullConsumer)
RAISES AlreadyConnected END
END;
TYPE CProxyPullConsumer = OBJECT
SUPERTYPES ICosEventComm.CPullConsumer END
METHODS
ConnectPullSupplier(pSupplier : ICosEventComm.CPullSupplier)
RAISES AlreadyConnected, TypeError END
END;
TYPE CProxyPushSupplier = OBJECT
SUPERTYPES ICosEventComm.CPushSupplier END
METHODS
ConnectPushConsumer(pConsumer : ICosEventComm.CPushConsumer)
RAISES AlreadyConnected, TypeError END
END;
(* ---------------------------------------------------------------------- *)
(* Event Channel Admin Objects *)
(* ---------------------------------------------------------------------- *)
TYPE CConsumerAdmin = OBJECT
METHODS
ObtainPushSupplier() : CProxyPushSupplier,
ObtainPullSupplier() : CProxyPullSupplier
END;
TYPE CSupplierAdmin = OBJECT
METHODS
ObtainPushConsumer() : CProxyPushConsumer,
ObtainPullConsumer() : CProxyPullConsumer
END;
TYPE CEventChannel = OBJECT
METHODS
ForConsumers() : CConsumerAdmin,
ForSuppliers() : CSupplierAdmin,
Destroy()
END;