#ifndef _SALOME_COMM_I_HXX_
#define _SALOME_COMM_I_HXX_
+#include <SALOME_Communication.hxx>
+
#ifdef HAVE_MPI2
#include "mpi.h"
#endif
Generic servant class for senders that factorizes all the common methods and attributes necessary to senders.
All servant classes for senders have to inheritate from it.
*/
-class SALOME_Sender_i : public virtual POA_SALOME::Sender,
- public PortableServer::RefCountServantBase {
+class COMMUNICATION_EXPORT SALOME_Sender_i : public virtual POA_SALOME::Sender
+{
protected:
/*! Pointer to the generic array to transmit*/
const void *_tabToSend;
virtual ~SALOME_Sender_i() {}
};
-class SALOME_SenderDouble_i : public virtual POA_SALOME::SenderDouble,
+class COMMUNICATION_EXPORT SALOME_SenderDouble_i : public virtual POA_SALOME::SenderDouble,
public virtual SALOME_Sender_i
{
public:
static SALOME_SenderDouble_i *find(SALOME::SenderDouble_ptr pCorba);
};
-class SALOME_SenderInt_i : public virtual POA_SALOME::SenderInt,
+class COMMUNICATION_EXPORT SALOME_SenderInt_i : public virtual POA_SALOME::SenderInt,
public virtual SALOME_Sender_i
{
public:
/*! Servant class for CORBA sender for double* when no copy of array _tabToSend is required, that is to say double and CORBA::Double are binary equal.
*/
-class SALOME_CorbaDoubleNCSender_i : public POA_SALOME::CorbaDoubleNCSender,
+class COMMUNICATION_EXPORT SALOME_CorbaDoubleNCSender_i : public POA_SALOME::CorbaDoubleNCSender,
public SALOME_SenderDouble_i
{
public:
/*! Servant class for CORBA sender for double* when copy of array _tabToSend is required, that is to say double and CORBA::Double are NOT binary equal.
*/
-class SALOME_CorbaDoubleCSender_i : public POA_SALOME::CorbaDoubleCSender,
+class COMMUNICATION_EXPORT SALOME_CorbaDoubleCSender_i : public POA_SALOME::CorbaDoubleCSender,
public SALOME_SenderDouble_i
{
public:
/*! Servant class for CORBA sender for int* when no copy of array _tabToSend is required, that is to say int and CORBA::Long are binary equal.
*/
-class SALOME_CorbaLongNCSender_i : public POA_SALOME::CorbaLongNCSender,
+class COMMUNICATION_EXPORT SALOME_CorbaLongNCSender_i : public POA_SALOME::CorbaLongNCSender,
public SALOME_SenderInt_i
{
public:
/*! Servant class for CORBA sender for int* when copy of array _tabToSend is required, that is to say int and CORBA::Long are NOT binary equal.
*/
-class SALOME_CorbaLongCSender_i : public POA_SALOME::CorbaLongCSender,
+class COMMUNICATION_EXPORT SALOME_CorbaLongCSender_i : public POA_SALOME::CorbaLongCSender,
public SALOME_SenderInt_i
{
public:
/*! Servant class of sender using MPI2.
*/
-class SALOME_MPISender_i : public virtual POA_SALOME::MPISender,
+class COMMUNICATION_EXPORT SALOME_MPISender_i : public virtual POA_SALOME::MPISender,
public virtual SALOME_Sender_i
{
private:
static void* myThread(void *args);
};
-class SALOME_MPISenderDouble_i : public POA_SALOME::MPISenderDouble,
+class COMMUNICATION_EXPORT SALOME_MPISenderDouble_i : public POA_SALOME::MPISenderDouble,
public SALOME_SenderDouble_i,
public SALOME_MPISender_i
{
SALOME_MPISenderDouble_i(const double *tabToSend,long lgrTabToSend,bool ownTabToSend=false);
};
-class SALOME_MPISenderInt_i : public POA_SALOME::MPISenderInt,
+class COMMUNICATION_EXPORT SALOME_MPISenderInt_i : public POA_SALOME::MPISenderInt,
public SALOME_SenderInt_i,
public SALOME_MPISender_i
{
/*! Servant class of sender using Sockets.
*/
-class SALOME_SocketSender_i : public virtual POA_SALOME::SocketSender,
+class COMMUNICATION_EXPORT SALOME_SocketSender_i : public virtual POA_SALOME::SocketSender,
public virtual SALOME_Sender_i
{
private:
std::string inetAddress();
};
-class SALOME_SocketSenderDouble_i : public POA_SALOME::SocketSenderDouble,
+class COMMUNICATION_EXPORT SALOME_SocketSenderDouble_i : public POA_SALOME::SocketSenderDouble,
public SALOME_SenderDouble_i,
public SALOME_SocketSender_i
{
SALOME_SocketSenderDouble_i(const double *tabToSend,long lgrTabToSend,bool ownTabToSend=false);
};
-class SALOME_SocketSenderInt_i : public POA_SALOME::SocketSenderInt,
+class COMMUNICATION_EXPORT SALOME_SocketSenderInt_i : public POA_SALOME::SocketSenderInt,
public SALOME_SenderInt_i,
public SALOME_SocketSender_i
{