1 #include "SALOME_Exception.idl"
5 enum TypeOfDataTransmitted { _DOUBLE_,_INT_ };
7 enum TypeOfCommunication { CORBA_ , MPI_ , SOCKET_ };
9 typedef sequence<double> vectorOfDouble;
11 typedef sequence<long> vectorOfLong;
13 interface MultiCommClass {
14 void setProtocol(in TypeOfCommunication typ);
17 interface ServantLifeCycle {
22 TypeOfDataTransmitted getTypeOfDataTransmitted();
23 Sender buildOtherWithProtocol(in TypeOfCommunication type);
27 //No compulsory copy between double and CORBA::Double
28 interface CorbaDoubleNCSender : Sender {
29 unsigned long getSize();
30 vectorOfDouble sendPart(in unsigned long n1,in unsigned long n2);
31 vectorOfDouble send();
34 //Compulsory copy between double and CORBA::Double
35 interface CorbaDoubleCSender : Sender {
36 unsigned long getSize();
37 //unsigned long getSize2();
38 vectorOfDouble sendPart(in unsigned long n1,in unsigned long n2);
41 //No compulsory copy between int and CORBA::Long
42 interface CorbaLongNCSender : Sender {
43 unsigned long getSize();
44 vectorOfLong sendPart(in unsigned long n1,in unsigned long n2);
48 //Compulsory copy between int and CORBA::Long
49 interface CorbaLongCSender : Sender {
50 unsigned long getSize();
51 vectorOfLong sendPart(in unsigned long n1,in unsigned long n2);
54 interface MPISender : Sender {
55 typedef struct Parameter {
63 void close(in param p);
66 interface SocketSender : Sender {
67 typedef struct Parameter {
71 string internet_address;
74 void initCom() raises(SALOME_Exception);
75 void acceptCom() raises(SALOME_Exception);
77 void endOfCom() raises(SALOME_Exception);