Version: 9.12.0
SALOME_Comm.idl
Go to the documentation of this file.
1 // Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 
23 #ifndef _SALOME_COMM_IDL_
24 #define _SALOME_COMM_IDL_
25 
26 #include "SALOME_GenericObj.idl"
27 #include "SALOME_Exception.idl"
28 
34 module SALOME {
35 
37 
39 
40  typedef sequence<double> vectorOfDouble;
41 
42  typedef sequence<long> vectorOfLong;
43 
44  typedef sequence<octet> vectorOfByte;
45 
46  interface MultiCommClass {
48  };
49 
50  interface ServantLifeCycle {
51  void release();
52  };
53 
54  interface Sender {
56  void release();
57  };
58 
59  interface SenderDouble : Sender {
61  };
62 
63  interface SenderInt : Sender {
65  };
66 
67  //No compulsory copy between double and CORBA::Double
69  unsigned long getSize();
70  vectorOfDouble sendPart(in unsigned long n1,in unsigned long n2);
72  };
73 
74  //Compulsory copy between double and CORBA::Double
76  unsigned long getSize();
77  //unsigned long getSize2();
78  vectorOfDouble sendPart(in unsigned long n1,in unsigned long n2);
79  };
80 
81  //No compulsory copy between int and CORBA::Long
83  unsigned long getSize();
84  vectorOfLong sendPart(in unsigned long n1,in unsigned long n2);
86  };
87 
88  //Compulsory copy between int and CORBA::Long
90  unsigned long getSize();
91  vectorOfLong sendPart(in unsigned long n1,in unsigned long n2);
92  };
93 
94  interface MPISender : Sender {
95  typedef struct Parameter {
96  unsigned long myproc;
97  unsigned long tag1;
98  unsigned long tag2;
99  string service;
100  } param;
102  void send();
103  void close(in param p);
104  };
105 
107  };
108 
110  };
111 
112  interface SocketSender : Sender {
113  typedef struct Parameter {
114  unsigned long lstart;
115  unsigned long lend;
116  unsigned long myport;
118  } param;
120  void initCom() raises(SALOME_Exception);
121  void acceptCom() raises(SALOME_Exception);
122  void closeCom();
123  void endOfCom() raises(SALOME_Exception);
124  void send();
125  };
126 
128  };
129 
131  };
132 
133  interface Matrix {
136  void release();
137  };
138 
139  interface SenderByte : GenericObj
140  {
141  unsigned long long getSize();
142  vectorOfByte sendPart(in unsigned long long n1,in unsigned long long n2);
143  };
144 
145  typedef sequence<SenderByte> SenderByteSeq;
146 };
147 
148 #endif
This file contains the objects defining the main exception used in SALOME application.
interface for common behavior of SALOME transient CORBA objects
The main exception in SALOME application.
Definition: SALOME_Exception.idl:71
Definition: SALOME_Comm.idl:75
vectorOfDouble sendPart(in unsigned long n1, in unsigned long n2)
Definition: SALOME_Comm.idl:68
vectorOfDouble sendPart(in unsigned long n1, in unsigned long n2)
Definition: SALOME_Comm.idl:89
unsigned long getSize()
vectorOfLong sendPart(in unsigned long n1, in unsigned long n2)
Definition: SALOME_Comm.idl:82
vectorOfLong sendPart(in unsigned long n1, in unsigned long n2)
unsigned long getSize()
interface for common behavior of SALOME transient CORBA objects
Definition: SALOME_GenericObj.idl:40
Definition: SALOME_Comm.idl:106
Definition: SALOME_Comm.idl:109
Definition: SALOME_Comm.idl:94
void close(in param p)
Definition: SALOME_Comm.idl:133
long getSizeOfColumn()
SenderDouble getData()
Definition: SALOME_Comm.idl:46
void setProtocol(in TypeOfCommunication typ)
Definition: SALOME_Comm.idl:140
vectorOfByte sendPart(in unsigned long long n1, in unsigned long long n2)
unsigned long long getSize()
Definition: SALOME_Comm.idl:59
SenderDouble buildOtherWithProtocol(in TypeOfCommunication type)
Definition: SALOME_Comm.idl:63
SenderInt buildOtherWithProtocol(in TypeOfCommunication type)
Definition: SALOME_Comm.idl:54
TypeOfDataTransmitted getTypeOfDataTransmitted()
Definition: SALOME_Comm.idl:50
Definition: SALOME_Comm.idl:127
Definition: SALOME_Comm.idl:130
Definition: SALOME_Comm.idl:112
Module SALOME contains all base interfaces of SALOME Kernel.
Definition: HeatMarcel.hxx:25
sequence< long > vectorOfLong
Definition: SALOME_Comm.idl:42
TypeOfCommunication
Definition: SALOME_Comm.idl:38
@ SOCKET_
Definition: SALOME_Comm.idl:38
@ CORBA_
Definition: SALOME_Comm.idl:38
@ MPI_
Definition: SALOME_Comm.idl:38
sequence< octet > vectorOfByte
Definition: SALOME_Comm.idl:44
TypeOfDataTransmitted
Definition: SALOME_Comm.idl:36
@ _DOUBLE_
Definition: SALOME_Comm.idl:36
@ _INT_
Definition: SALOME_Comm.idl:36
sequence< SenderByte > SenderByteSeq
Definition: SALOME_Comm.idl:143
sequence< double > vectorOfDouble
Definition: SALOME_Comm.idl:40
string param
Definition: pythfilter.py:57
Definition: SALOME_Comm.idl:95
unsigned long tag1
Definition: SALOME_Comm.idl:97
unsigned long myproc
Definition: SALOME_Comm.idl:96
string service
Definition: SALOME_Comm.idl:99
unsigned long tag2
Definition: SALOME_Comm.idl:98
Definition: SALOME_Comm.idl:113
unsigned long lstart
Definition: SALOME_Comm.idl:114
unsigned long lend
Definition: SALOME_Comm.idl:115
unsigned long myport
Definition: SALOME_Comm.idl:116
string internet_address
Definition: SALOME_Comm.idl:117