25 #ifndef _SALOME_PARALLEL_CONTAINER_I_HXX_
26 #define _SALOME_PARALLEL_CONTAINER_I_HXX_
28 #include <SALOMEconfig.h>
30 #include "SALOME_PACOExtensionPaCO_Engines_PACO_Container_server.hxx"
39 #include <sys/types.h>
40 #include <omnithread.h>
47 # if defined CONTAINER_EXPORTS || defined SalomeParallelContainer_EXPORTS
48 # define CONTAINER_EXPORT __declspec( dllexport )
50 # define CONTAINER_EXPORT __declspec( dllimport )
53 # define CONTAINER_EXPORT
57 virtual public Engines::PACO_Container_serv,
59 virtual public PortableServer::RefCountServantBase
65 PortableServer::POA_ptr poa,
66 std::string containerName ,
67 bool isServantAloneInProcess =
true);
73 virtual bool load_component_Library(
const char* componentName, CORBA::String_out reason);
75 virtual Engines::EngineComponent_ptr
76 create_component_instance(
const char* componentName,
79 virtual Engines::EngineComponent_ptr
80 create_component_instance_env(
const char* componentName,
83 CORBA::String_out reason);
86 create_python_service_instance(
const char* CompName,
87 CORBA::String_out reason);
89 Engines::EngineComponent_ptr
90 find_component_instance(
const char* registeredName,
93 Engines::EngineComponent_ptr
94 load_impl(
const char* nameToRegister,
95 const char* componentName);
98 create_paco_component_node_instance(
const char* componentName,
99 const char* proxy_containerName,
100 CORBA::Long studyId);
102 void updateInstanceNumber();
104 void remove_impl(Engines::EngineComponent_ptr component_i);
105 void finalize_removal();
111 void logfilename(
const char* name);
113 virtual void Shutdown();
115 CORBA::Long getPID();
121 Engines::EngineComponent_ptr
122 find_or_create_instance(std::string genericRegisterName);
124 Engines::EngineComponent_ptr
125 createCPPInstance(std::string genericRegisterName,
129 Engines::EngineComponent_ptr
130 createPythonInstance(std::string genericRegisterName,
134 static void decInstanceCnt(std::string genericRegisterName);
137 void set_id(PortableServer::ObjectId *
id) { _id = id;}
139 Engines::fileRef_ptr createFileRef(
const char* origFileName);
140 Engines::fileTransfer_ptr getFileTransfer();
142 virtual Engines::Salome_file_ptr createSalome_file(
const char* origFileName);
143 void copyFile(Engines::Container_ptr container,
const char* remoteFile,
const char* localFile);
144 Engines::PyNode_ptr createPyNode(
const char* nodeName,
const char* code);
145 Engines::PyNode_ptr getDefaultPyNode(
const char *nodeName);
146 Engines::PyScriptNode_ptr createPyScriptNode(
const char* nodeName,
const char* code);
147 Engines::PyScriptNode_ptr getDefaultPyScriptNode(
const char *nodeName);
157 PortableServer::ObjectId *
_id;
174 typedef PortableServer::ObjectId * (*FACTORY_FUNCTION) (CORBA::ORB_ptr,
char *, int,
175 PortableServer::POA_ptr,
176 PortableServer::ObjectId *,