From: ageay Date: Thu, 19 Aug 2004 08:54:38 +0000 (+0000) Subject: New interface for senders used by src/Communication. X-Git-Tag: BR_GEAY_20041105~12 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=3f09d6b252a507283e663aa95c6d1bf2c1560a42;p=modules%2Fkernel.git New interface for senders used by src/Communication. --- diff --git a/idl/SALOME_Comm.idl b/idl/SALOME_Comm.idl new file mode 100644 index 000000000..a01eca1a6 --- /dev/null +++ b/idl/SALOME_Comm.idl @@ -0,0 +1,81 @@ +#include "SALOME_Exception.idl" + +module SALOME { + + enum TypeOfDataTransmitted { _DOUBLE_,_INT_ }; + + enum TypeOfCommunication { CORBA_ , MPI_ , SOCKET_ }; + + typedef sequence vectorOfDouble; + + typedef sequence vectorOfLong; + + interface MultiCommClass { + void setProtocol(in TypeOfCommunication typ); + }; + + interface ServantLifeCycle { + void release(); + }; + + interface Sender { + TypeOfDataTransmitted getTypeOfDataTransmitted(); + Sender buildOtherWithProtocol(in TypeOfCommunication type); + void release(); + }; + + //No compulsory copy between double and CORBA::Double + interface CorbaDoubleNCSender : Sender { + unsigned long getSize(); + vectorOfDouble sendPart(in unsigned long n1,in unsigned long n2); + vectorOfDouble send(); + }; + + //Compulsory copy between double and CORBA::Double + interface CorbaDoubleCSender : Sender { + unsigned long getSize(); + //unsigned long getSize2(); + vectorOfDouble sendPart(in unsigned long n1,in unsigned long n2); + }; + + //No compulsory copy between int and CORBA::Long + interface CorbaLongNCSender : Sender { + unsigned long getSize(); + vectorOfLong sendPart(in unsigned long n1,in unsigned long n2); + vectorOfLong send(); + }; + + //Compulsory copy between int and CORBA::Long + interface CorbaLongCSender : Sender { + unsigned long getSize(); + vectorOfLong sendPart(in unsigned long n1,in unsigned long n2); + }; + + interface MPISender : Sender { + typedef struct Parameter { + unsigned long myproc; + unsigned long tag1; + unsigned long tag2; + string service; + } param; + param getParam(); + void send(); + void close(in param p); + }; + + interface SocketSender : Sender { + typedef struct Parameter { + unsigned long lstart; + unsigned long lend; + unsigned long myport; + string internet_address; + } param; + param getParam(); + void initCom() raises(SALOME_Exception); + void acceptCom() raises(SALOME_Exception); + void closeCom(); + void endOfCom() raises(SALOME_Exception); + void send(); + }; + +};