-// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
#include "SALOME_Comm_i.hxx"
#ifndef WIN32
#ifndef __APPLE__
+#ifdef HAVE_SOCKET
#include <rpc/xdr.h>
#endif
#endif
+#endif
#include "omniORB4/poa.h"
#include "omnithread.h"
-#include "Utils_SINGLETON.hxx"
-#include "Utils_ORB_INIT.hxx"
+#include "OpUtil.hxx"
+#include "Basics_MpiUtils.hxx"
#include "utilities.h"
#include "SenderFactory.hxx"
#ifndef WIN32
CORBA::ORB_var &getGlobalORB(){
- ORB_INIT &init = *SINGLETON_<ORB_INIT>::Instance();
- CORBA::ORB_var &orb = init(0,0);
+ CORBA::ORB_var orb = KERNEL::GetRefToORB();
return orb;
}
#endif
/*! Return the C++ data associated to the array to transmit.
- Used when sender and receiver are collocalized.
+ Used when sender and receiver are colocalized.
*/
const void *SALOME_Sender_i::getData(long &size) const{
size=_lgrTabToSend;
return SenderFactory::buildSender(type,this);
}
-/*! Method to establish if the CORBA object refered by pCorba is collocalised.\n
+/*! Method to establish if the CORBA object referred by pCorba is colocalized.\n
If it is, the pointer to the servant that incarnates the CORBA object is returned.
*/
SALOME_SenderDouble_i *SALOME_SenderDouble_i::find(SALOME::SenderDouble_ptr pCorba){
return SenderFactory::buildSender(type,this);
}
-/*! Method to establish if the CORBA object refered by pCorba is collocalised.\n
+/*! Method to establish if the CORBA object referred by pCorba is colocalized.\n
If it is, the pointer to the servant that incarnates the CORBA object is returned.
*/
SALOME_SenderInt_i *SALOME_SenderInt_i::find(SALOME::SenderInt_ptr pCorba){
return dynamic_cast<SALOME_SenderInt_i *>(ret);
}
-SALOME_CorbaDoubleNCSender_i::SALOME_CorbaDoubleNCSender_i(const double *tabToSend,long lgrTabToSend,bool ownTabToSend):SALOME_SenderDouble_i(tabToSend,lgrTabToSend,ownTabToSend),SALOME_Sender_i(tabToSend,lgrTabToSend,sizeof(double),ownTabToSend){
+SALOME_CorbaDoubleNCSender_i::SALOME_CorbaDoubleNCSender_i(const double *tabToSend,long lgrTabToSend,bool ownTabToSend):SALOME_Sender_i(tabToSend,lgrTabToSend,sizeof(double),ownTabToSend),SALOME_SenderDouble_i(tabToSend,lgrTabToSend,ownTabToSend){
}
SALOME_CorbaDoubleNCSender_i::~SALOME_CorbaDoubleNCSender_i(){
return c1._retn();
}
-SALOME_CorbaDoubleCSender_i::SALOME_CorbaDoubleCSender_i(const double *tabToSend,long lgrTabToSend,bool ownTabToSend):SALOME_SenderDouble_i(tabToSend,lgrTabToSend,ownTabToSend),SALOME_Sender_i(tabToSend,lgrTabToSend,sizeof(double),ownTabToSend){
+SALOME_CorbaDoubleCSender_i::SALOME_CorbaDoubleCSender_i(const double *tabToSend,long lgrTabToSend,bool ownTabToSend):SALOME_Sender_i(tabToSend,lgrTabToSend,sizeof(double),ownTabToSend),SALOME_SenderDouble_i(tabToSend,lgrTabToSend,ownTabToSend){
}
SALOME_CorbaDoubleCSender_i::~SALOME_CorbaDoubleCSender_i(){
SALOME::vectorOfDouble* SALOME_CorbaDoubleCSender_i::sendPart(CORBA::ULong offset, CORBA::ULong length){
SALOME::vectorOfDouble_var c1 = new SALOME::vectorOfDouble;
c1->length(length);
- for (long i=0; i<length; i++)
+ for (unsigned long i=0; i<length; i++)
c1[i] = ((double *)_tabToSend)[i+offset];
return c1._retn();
}
////////////////////////
-SALOME_CorbaLongNCSender_i::SALOME_CorbaLongNCSender_i(const int *tabToSend,long lgrTabToSend,bool ownTabToSend):SALOME_SenderInt_i(tabToSend,lgrTabToSend,ownTabToSend),SALOME_Sender_i(tabToSend,lgrTabToSend,sizeof(int),ownTabToSend){
+SALOME_CorbaLongNCSender_i::SALOME_CorbaLongNCSender_i(const int *tabToSend,long lgrTabToSend,bool ownTabToSend):SALOME_Sender_i(tabToSend,lgrTabToSend,sizeof(int),ownTabToSend),SALOME_SenderInt_i(tabToSend,lgrTabToSend,ownTabToSend){
}
SALOME_CorbaLongNCSender_i::~SALOME_CorbaLongNCSender_i(){
return c1._retn();
}
-SALOME_CorbaLongCSender_i::SALOME_CorbaLongCSender_i(const int *tabToSend,long lgrTabToSend,bool ownTabToSend):SALOME_SenderInt_i(tabToSend,lgrTabToSend,ownTabToSend),SALOME_Sender_i(tabToSend,lgrTabToSend,sizeof(int),ownTabToSend){
+SALOME_CorbaLongCSender_i::SALOME_CorbaLongCSender_i(const int *tabToSend,long lgrTabToSend,bool ownTabToSend):SALOME_Sender_i(tabToSend,lgrTabToSend,sizeof(int),ownTabToSend),SALOME_SenderInt_i(tabToSend,lgrTabToSend,ownTabToSend){
}
SALOME_CorbaLongCSender_i::~SALOME_CorbaLongCSender_i(){
SALOME::vectorOfLong* SALOME_CorbaLongCSender_i::sendPart(CORBA::ULong offset, CORBA::ULong length){
SALOME::vectorOfLong_var c1 = new SALOME::vectorOfLong;
c1->length(length);
- for (long i=0; i<length; i++)
+ for (unsigned long i=0; i<length; i++)
c1[i] = ((long *)_tabToSend)[i+offset];
return c1._retn();
}
p->tag2 =_tag2;
_tag2Inst=_tag2;
std::string service("toto_");
- sprintf(stag,"%d_",_tag1);
+ sprintf(stag,"%ld_",_tag1);
service += stag;
sprintf(stag,"%d_",p->tag2);
service += stag;
p->service = CORBA::string_dup(service.c_str());
MPI_Open_port(MPI_INFO_NULL, _portName);
- MPI_Errhandler_set(MPI_COMM_WORLD,MPI_ERRORS_RETURN);
+ MPI_ERROR_HANDLER(MPI_ERRORS_RETURN);
while ( i != TIMEOUT && MPI_Publish_name((char*)service.c_str(),MPI_INFO_NULL,_portName) != MPI_SUCCESS) {
i++;
- }
- MPI_Errhandler_set(MPI_COMM_WORLD,MPI_ERRORS_ARE_FATAL);
+ }
+ MPI_ERROR_HANDLER(MPI_ERRORS_ARE_FATAL);
if ( i == TIMEOUT ) {
MPI_Close_port(_portName);
MPI_Finalize();
}
SALOME_MPISenderDouble_i::SALOME_MPISenderDouble_i(const double *tabToSend,long lgrTabToSend,bool ownTabToSend)
- :SALOME_SenderDouble_i(tabToSend,lgrTabToSend,ownTabToSend),SALOME_MPISender_i(tabToSend,lgrTabToSend,sizeof(double),ownTabToSend)
- ,SALOME_Sender_i(tabToSend,lgrTabToSend,sizeof(double),ownTabToSend)
+ :SALOME_Sender_i(tabToSend,lgrTabToSend,sizeof(double),ownTabToSend)
+ ,SALOME_SenderDouble_i(tabToSend,lgrTabToSend,ownTabToSend),SALOME_MPISender_i(tabToSend,lgrTabToSend,sizeof(double),ownTabToSend)
{
}
SALOME_MPISenderInt_i::SALOME_MPISenderInt_i(const int *tabToSend,long lgrTabToSend,bool ownTabToSend)
- :SALOME_SenderInt_i(tabToSend,lgrTabToSend,ownTabToSend),SALOME_MPISender_i(tabToSend,lgrTabToSend,sizeof(int),ownTabToSend)
- ,SALOME_Sender_i(tabToSend,lgrTabToSend,sizeof(int),ownTabToSend)
+ :SALOME_Sender_i(tabToSend,lgrTabToSend,sizeof(int),ownTabToSend)
+ ,SALOME_SenderInt_i(tabToSend,lgrTabToSend,ownTabToSend),SALOME_MPISender_i(tabToSend,lgrTabToSend,sizeof(int),ownTabToSend)
{
}
return args;
}
-void SALOME_SocketSender_i::initCom() throw(SALOME::SALOME_Exception)
+void SALOME_SocketSender_i::initCom()
{
struct sockaddr_in serv_addr;
socklen_t n;
SCRUTE(_port);
}
-void SALOME_SocketSender_i::acceptCom() throw(SALOME::SALOME_Exception)
+void SALOME_SocketSender_i::acceptCom()
{
socklen_t sin_size;
struct sockaddr_in client_addr;