X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FParallelContainer%2FSALOME_ParallelContainerProxy_i.cxx;h=23be1c6c040d65bd15f1f6bd06aa6a904bb74375;hb=d8edd4804d9e6513a17c497c1a30326d4ba0d677;hp=19e5ab33db483a69c72065e4c134b7e9a6b96e72;hpb=ebe3541632797c5fad97573b46655718ddd61444;p=modules%2Fkernel.git diff --git a/src/ParallelContainer/SALOME_ParallelContainerProxy_i.cxx b/src/ParallelContainer/SALOME_ParallelContainerProxy_i.cxx index 19e5ab33d..23be1c6c0 100644 --- a/src/ParallelContainer/SALOME_ParallelContainerProxy_i.cxx +++ b/src/ParallelContainer/SALOME_ParallelContainerProxy_i.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -69,7 +69,7 @@ Container_proxy_impl_final:: ~Container_proxy_impl_final() { if (_NS) delete _NS; - // _fab_thread not deleted beacause fab_thread is managed + // _fab_thread not deleted because fab_thread is managed // by paco_fabrique_manager } @@ -158,13 +158,17 @@ Container_proxy_impl_final::load_component_Library(const char* componentName, CO MESSAGE("Try to load C++ component"); #ifndef WIN32 +#ifdef __APPLE__ + std::string impl_name = string ("lib") + aCompName + string("Engine.dylib"); +#else std::string impl_name = string ("lib") + aCompName + string("Engine.so"); +#endif #else std::string impl_name = aCompName + string("Engine.dll"); #endif void* handle; #ifndef WIN32 - handle = dlopen( impl_name.c_str() , RTLD_LAZY ) ; + handle = dlopen( impl_name.c_str() , RTLD_LAZY | RTLD_GLOBAL ) ; #else handle = dlopen( impl_name.c_str() , 0 ) ; #endif @@ -212,7 +216,7 @@ Container_proxy_impl_final::load_component_Library(const char* componentName, CO PyObject *result = PyObject_CallMethod(pyCont, (char*)"import_component", (char*)"s",componentName); - std::string ret_p= PyString_AsString(result); + std::string ret_p= PyUnicode_AsUTF8(result); Py_XDECREF(result); Py_RELEASE_NEW_THREAD; @@ -313,7 +317,11 @@ Container_proxy_impl_final::create_component_instance_env(const char* componentN // On commence par créer le proxy #ifndef WIN32 +#ifdef __APPLE__ + std::string impl_name = string ("lib") + aCompName + string("Engine.dylib"); +#else std::string impl_name = string ("lib") + aCompName + string("Engine.so"); +#endif #else std::string impl_name = aCompName + string("Engine.dll"); #endif @@ -342,7 +350,7 @@ Container_proxy_impl_final::create_component_instance_env(const char* componentN string instanceName = aCompName + "_inst_" + aNumI ; string component_registerName = _containerName + "/" + instanceName; - // --- Instanciate required CORBA object + // --- Instantiate required CORBA object Container_proxy_impl_final::proxy_object * proxy = new Container_proxy_impl_final::proxy_object(); proxy->proxy_id = (component_proxy_factory) (_orb, @@ -378,7 +386,7 @@ Container_proxy_impl_final::create_component_instance_env(const char* componentN } catch (...) { - INFOS( "Exception catched in Proxy creation" ); + INFOS( "Exception caught in Proxy creation" ); return Engines::EngineComponent::_nil(); }