28 #ifndef _SALOME_PARALLEL_COMPONENT_I_HXX_
29 #define _SALOME_PARALLEL_COMPONENT_I_HXX_
37 #include <sys/types.h>
40 #include <SALOMEconfig.h>
42 #include "SALOME_PACOExtensionPaCO_Engines_Parallel_Component_server.hxx"
51 # if defined CONTAINER_EXPORTS || defined SalomeParallelContainer_EXPORTS
52 # define CONTAINER_EXPORT __declspec( dllexport )
54 # define CONTAINER_EXPORT __declspec( dllimport )
57 # define CONTAINER_EXPORT
61 public virtual Engines::Parallel_Component_serv,
62 public virtual PortableServer::RefCountServantBase
66 PortableServer::POA_ptr
poa,
67 PortableServer::ObjectId * contId,
68 const char *instanceName,
69 const char *interfaceName,
78 char* interfaceName();
83 Engines::Container_ptr GetContainerRef();
88 void Names(
const char * graphName ,
const char * nodeName ) ;
93 CORBA::Long CpuUsed_impl() ;
96 CORBA::Boolean isMultiFile,
97 CORBA::Boolean& isValidScript);
100 virtual Engines::Salome_file_ptr getInputFileToService(
const char* service_name,
101 const char* Salome_file_name);
102 virtual Engines::Salome_file_ptr getOutputFileToService(
const char* service_name,
103 const char* Salome_file_name);
105 virtual void checkInputFilesToService(
const char* service_name);
106 virtual Engines::Salome_file_ptr setInputFileToService(
const char* service_name,
107 const char* Salome_file_name);
109 virtual void checkOutputFilesToService(
const char* service_name);
110 virtual Engines::Salome_file_ptr setOutputFileToService(
const char* service_name,
111 const char* Salome_file_name);
113 void send_parallel_proxy_object(CORBA::Object_ptr proxy_ref);
121 PortableServer::ObjectId * getId();
125 static std::string GetDynLibraryName(
const char *componentName);
127 void beginService(
const char *serviceName);
128 void endService(
const char *serviceName);
129 void sendMessage(
const char *event_type,
const char *message);
132 bool Killer( pthread_t ThreadId ,
int signum );
137 void wait_parallel_object_proxy();
138 char * get_parallel_proxy_object();
140 virtual void configureSalome_file(std::string service_name,
141 std::string file_port_name,
142 Engines::Parallel_Salome_file_proxy_impl * file);
152 PortableServer::ObjectId *
_id;
195 pthread_t* _ThreadId ;
#define CONTAINER_EXPORT
Definition: SALOME_ParallelComponent_i.hxx:57
Definition: SALOME_ParallelComponent_i.hxx:63
bool _CanceledThread
Definition: SALOME_ParallelComponent_i.hxx:200
_t_IOR_Proxy_Salome_file_map::iterator _IOR_Proxy_Salome_file_map_it
Definition: SALOME_ParallelComponent_i.hxx:182
std::map< std::string, Engines::Parallel_Salome_file_proxy_impl * > _t_Proxy_Salome_file_map
Definition: SALOME_ParallelComponent_i.hxx:161
_t_Proxy_Service_file_map _Proxy_Output_Service_file_map
Definition: SALOME_ParallelComponent_i.hxx:175
std::map< std::string, Engines_Parallel_Component_i::_t_Salome_file_map * > _t_Service_file_map
Definition: SALOME_ParallelComponent_i.hxx:165
pthread_mutex_t * deploy_mutex
Definition: SALOME_ParallelComponent_i.hxx:188
static bool isMultiInstance()
long _StartUsed
Definition: SALOME_ParallelComponent_i.hxx:197
RegistryConnexion * _myConnexionToRegistry
Definition: SALOME_ParallelComponent_i.hxx:155
_t_IOR_Proxy_Service_file_map _IOR_Proxy_Output_Service_file_map
Definition: SALOME_ParallelComponent_i.hxx:180
virtual char * getObjectInfo(const char *entry)
Definition: SALOME_ParallelComponent_i.hxx:117
_t_Proxy_Service_file_map _Proxy_Input_Service_file_map
Definition: SALOME_ParallelComponent_i.hxx:174
pthread_t _ThreadId
Definition: SALOME_ParallelComponent_i.hxx:193
std::map< std::string, std::string > _t_IOR_Proxy_Salome_file_map
Definition: SALOME_ParallelComponent_i.hxx:162
PortableServer::ObjectId * _contId
Definition: SALOME_ParallelComponent_i.hxx:153
_t_Proxy_Service_file_map::iterator _Proxy_Service_file_map_it
Definition: SALOME_ParallelComponent_i.hxx:176
static bool _isMultiInstance
Definition: SALOME_ParallelComponent_i.hxx:145
std::map< std::string, Engines_Parallel_Component_i::_t_IOR_Proxy_Salome_file_map * > _t_IOR_Proxy_Service_file_map
Definition: SALOME_ParallelComponent_i.hxx:167
std::map< std::string, Parallel_Salome_file_i * > _t_Salome_file_map
Definition: SALOME_ParallelComponent_i.hxx:160
_t_Service_file_map::iterator _Service_file_map_it
Definition: SALOME_ParallelComponent_i.hxx:171
std::string _instanceName
Definition: SALOME_ParallelComponent_i.hxx:147
std::string _graphName
Definition: SALOME_ParallelComponent_i.hxx:185
_t_Proxy_Salome_file_map::iterator _Proxy_Salome_file_map_it
Definition: SALOME_ParallelComponent_i.hxx:177
Engines_Parallel_Component_i * _thisObj
Definition: SALOME_ParallelComponent_i.hxx:154
PortableServer::POA_var _poa
Definition: SALOME_ParallelComponent_i.hxx:151
_t_IOR_Proxy_Service_file_map::iterator _IOR_Proxy_Service_file_map_it
Definition: SALOME_ParallelComponent_i.hxx:181
bool _destroyed
Definition: SALOME_ParallelComponent_i.hxx:201
std::map< std::string, CORBA::Any > _fieldsDict
Definition: SALOME_ParallelComponent_i.hxx:157
_t_Service_file_map _Input_Service_file_map
Definition: SALOME_ParallelComponent_i.hxx:169
NOTIFICATION_Supplier * _notifSupplier
Definition: SALOME_ParallelComponent_i.hxx:156
std::map< std::string, Engines_Parallel_Component_i::_t_Proxy_Salome_file_map * > _t_Proxy_Service_file_map
Definition: SALOME_ParallelComponent_i.hxx:166
std::string _interfaceName
Definition: SALOME_ParallelComponent_i.hxx:148
_t_Salome_file_map::iterator _Salome_file_map_it
Definition: SALOME_ParallelComponent_i.hxx:172
_t_IOR_Proxy_Service_file_map _IOR_Proxy_Input_Service_file_map
Definition: SALOME_ParallelComponent_i.hxx:179
char * _proxy
Definition: SALOME_ParallelComponent_i.hxx:189
CORBA::ORB_var _orb
Definition: SALOME_ParallelComponent_i.hxx:150
std::string _serviceName
Definition: SALOME_ParallelComponent_i.hxx:184
PortableServer::ObjectId * _id
Definition: SALOME_ParallelComponent_i.hxx:152
bool _Executed
Definition: SALOME_ParallelComponent_i.hxx:199
_t_Service_file_map _Output_Service_file_map
Definition: SALOME_ParallelComponent_i.hxx:170
long _ThreadCpuUsed
Definition: SALOME_ParallelComponent_i.hxx:198
virtual bool hasObjectInfo()
Definition: SALOME_ParallelComponent_i.hxx:116
std::string _nodeName
Definition: SALOME_ParallelComponent_i.hxx:186
C++ implementation of Engines::Container interface for parallel container implemented with PaCO++.
Definition: SALOME_ParallelContainer_i.hxx:60
Definition: NOTIFICATION_Supplier.hxx:37
Definition: RegistryConnexion.hxx:45
sequence< KeyValuePair > FieldsDict
Definition: SALOME_Component.idl:65
sequence< octet > TMPFile
A byte stream which is used for binary data transfer between different components.
Definition: SALOME_Component.idl:50
poa
Definition: SALOME_ContainerPy.py:377
orb
Definition: salome.py:122