// Replicated Method used by the proxy to create
// a PACO Component
void create_paco_component_node_instance(in string registeredName,
+ in string proxy_containerName,
in long studyId) raises(SALOME::SALOME_Exception);
};
proxy_ior,
myid,
root_poa,
- node_name,
- containerName);
+ node_name);
// PaCO++ init
paco_fabrique_manager * pfm = paco_getFabriqueManager();
pfm->register_com("dummy", new paco_dummy_fabrique());
proxy_ior,
myid,
root_poa,
- node_name,
- containerName);
+ node_name);
// PaCO++ init
paco_fabrique_manager * pfm = paco_getFabriqueManager();
pfm->register_com("mpi", new paco_mpi_fabrique());
InterfaceManager_impl(orb, fab_thread, is_a_return_proxy)
{
_numInstance = 0;
- _containerName = containerName;
+ _hostname = Kernel_Utils::GetHostname();
+ _containerName = _NS->BuildContainerNameForNS(containerName.c_str(), _hostname.c_str());
_poa = PortableServer::POA::_duplicate(poa);
_fab_thread = fab_thread;
{
try
{
- node->create_paco_component_node_instance(componentName, studyId);
+ node->create_paco_component_node_instance(componentName, _containerName.c_str(), studyId);
MESSAGE("Call create_paco_component_node_instance done on node : " << i);
}
catch (SALOME::SALOME_Exception & ex)
#define _SALOME_PARALLEL_CONTAINER_PROXY_I_HXX_
#include "utilities.h"
+#include "Basics_Utils.hxx"
#include "SALOME_PACOExtensionPaCO_Engines_PACO_Container_server.hxx"
#include "SALOME_ParallelGlobalProcessVar_i.hxx"
#include "SALOME_NamingService.hxx"
const char *,
int);
int _numInstance;
+ std::string _hostname;
std::string _containerName;
PortableServer::POA_var _poa;
PortableServer::ObjectId * _id;
int rank,
PortableServer::POA_ptr poa,
std::string containerName,
- std::string proxy_containerName,
bool isServantAloneInProcess) :
InterfaceParallel_impl(orb,ior,rank),
Engines::PACO_Container_serv(orb,ior,rank),
_NS = new SALOME_NamingService();
_NS->init_orb(_orb);
_containerName = _NS->BuildContainerNameForNS(containerName.c_str(), _hostname.c_str());
- _proxy_containerName = proxy_containerName;
// Init Python container part
CORBA::String_var sior = _orb->object_to_string(container_node);
void
Engines_Parallel_Container_i::create_paco_component_node_instance(const char* componentName,
+ const char* proxy_containerName,
CORBA::Long studyId)
{
// Init de la méthode
char * proxy_ior;
Engines::Component_PaCO_var work_node;
std::string aCompName = componentName;
+ std::string _proxy_containerName = proxy_containerName;
+
#ifndef WIN32
string impl_name = string ("lib") + aCompName +string("Engine.so");
#else
int rank,
PortableServer::POA_ptr poa,
std::string containerName ,
- std::string proxy_containerName,
bool isServantAloneInProcess = true);
virtual ~Engines_Parallel_Container_i();
const char* componentName);
void
- create_paco_component_node_instance( const char* componentName,
- CORBA::Long studyId); // 0 for multiStudy
+ create_paco_component_node_instance(const char* componentName,
+ const char* proxy_containerName,
+ CORBA::Long studyId); // 0 for multiStudy
void remove_impl(Engines::Component_ptr component_i);
void finalize_removal();
std::string _hostname;
std::string _library_path;
std::string _containerName;
- std::string _proxy_containerName;
std::string _logfilename;
CORBA::ORB_var _orb;
PortableServer::POA_var _poa;