1 #ifndef _RECEIVERS_HXX_
2 #define _RECEIVERS_HXX_
4 #include "SALOME_Comm_i.hxx"
5 #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>
14 class CorbaNCNoCopyReceiver : public Receiver
17 CorbaSender _mySender;
19 CorbaNCNoCopyReceiver(CorbaSender mySender);
20 ~CorbaNCNoCopyReceiver();
21 void *getValue(long &size);
23 void *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>
30 class CorbaNCWithCopyReceiver : public Receiver
33 CorbaSender _mySender;
35 CorbaNCWithCopyReceiver(CorbaSender mySender);
36 ~CorbaNCWithCopyReceiver();
37 void *getValue(long &size);
39 void *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>
46 class CorbaWCNoCopyReceiver : public Receiver
49 CorbaSender _mySender;
51 CorbaWCNoCopyReceiver(CorbaSender mySender);
52 ~CorbaWCNoCopyReceiver();
53 void *getValue(long &size);
55 void *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>
62 class CorbaWCWithCopyReceiver : public Receiver
65 CorbaSender _mySender;
67 CorbaWCWithCopyReceiver(CorbaSender mySender);
68 ~CorbaWCWithCopyReceiver();
69 void *getValue(long &size);
71 void *getDistValue(long &size);
76 Receiver for MPI transfert.
78 template<class T,MPI_Datatype T2>
79 class MPIReceiver : public Receiver
82 SALOME::MPISender_ptr _mySender;
84 MPIReceiver(SALOME::MPISender_ptr mySender);
86 void *getValue(long &size);
88 void *getDistValue(long &size);
97 Receiver for transfert with sockets.
99 template<class T,int (*myFunc)(XDR*,T*)>
100 class SocketReceiver : public Receiver
103 SALOME::SocketSender_ptr _mySender;
107 SocketReceiver(SALOME::SocketSender_ptr mySender);
109 void *getValue(long &size);
111 void *getDistValue(long &size);
113 void connectCom(const char *, int);
118 #include "Receivers.cxx"