1 #ifndef _RECEIVERS_HXX_
2 #define _RECEIVERS_HXX_
7 #include "SALOME_Comm_i.hxx"
8 #include "Receiver.hxx"
11 Receiver used for transfert with CORBA when no copy is required remotely and locally.
13 template<class T,class TCorba,class TSeqCorba,class CorbaSender,class servForT,class ptrForT>
14 class CorbaNCNoCopyReceiver : public Receiver<T,servForT,ptrForT>
17 CorbaSender _mySender;
19 CorbaNCNoCopyReceiver(CorbaSender mySender);
20 ~CorbaNCNoCopyReceiver();
21 T *getValue(long &size);
23 T *getDistValue(long &size);
27 Receiver used for transfert with CORBA when copy is not required remotely but required locally.
29 template<class T,class TCorba,class TSeqCorba,class CorbaSender,class servForT,class ptrForT>
30 class CorbaNCWithCopyReceiver : public Receiver<T,servForT,ptrForT>
33 CorbaSender _mySender;
35 CorbaNCWithCopyReceiver(CorbaSender mySender);
36 ~CorbaNCWithCopyReceiver();
37 T *getValue(long &size);
39 T *getDistValue(long &size);
43 Receiver used for transfert with CORBA when copy is required remotely but not required locally.
45 template<class T,class TCorba,class TSeqCorba,class CorbaSender,class servForT,class ptrForT>
46 class CorbaWCNoCopyReceiver : public Receiver<T,servForT,ptrForT>
49 CorbaSender _mySender;
51 CorbaWCNoCopyReceiver(CorbaSender mySender);
52 ~CorbaWCNoCopyReceiver();
53 T *getValue(long &size);
55 T *getDistValue(long &size);
59 Receiver used for transfert with CORBA when copy is required both remotely and locally.
61 template<class T,class TCorba,class TSeqCorba,class CorbaSender,class servForT,class ptrForT>
62 class CorbaWCWithCopyReceiver : public Receiver<T,servForT,ptrForT>
65 CorbaSender _mySender;
67 CorbaWCWithCopyReceiver(CorbaSender mySender);
68 ~CorbaWCWithCopyReceiver();
69 T *getValue(long &size);
71 T *getDistValue(long &size);
76 Receiver for MPI transfert.
78 template<class T,MPI_Datatype T2,class CorbaSender,class servForT,class ptrForT>
79 class MPIReceiver : public Receiver<T,servForT,ptrForT>
82 CorbaSender _mySender;
84 MPIReceiver(CorbaSender mySender);
86 T *getValue(long &size);
88 T *getDistValue(long &size);
97 Receiver for transfert with sockets.
99 template<class T,int (*myFunc)(XDR*,T*),class CorbaSender,class servForT,class ptrForT>
100 class SocketReceiver : public Receiver<T,servForT,ptrForT>
103 CorbaSender _mySender;
107 SocketReceiver(CorbaSender mySender);
109 T *getValue(long &size);
111 T *getDistValue(long &size);
113 void connectCom(const char *, int);
118 #include "Receivers.cxx"