#include <SALOME_ParallelComponent_i.hxx>
Public Member Functions | |
Engines_Parallel_Component_i (CORBA::ORB_ptr orb, char *ior, int rank, PortableServer::POA_ptr poa, PortableServer::ObjectId *contId, const char *instanceName, const char *interfaceName, bool notif=false, bool regist=true) | |
Standard Constructor for generic Component, used in derived class Connection to Registry and Notification. More... | |
virtual | ~Engines_Parallel_Component_i () |
Destructor: call Container for decrement of instances count. More... | |
char * | instanceName () |
CORBA method: return name of the instance, unique in this Container. More... | |
char * | interfaceName () |
CORBA method: return name of the component class. More... | |
void | ping () |
CORBA method: Test if instance is alive and responds. More... | |
void | destroy () |
CORBA method: Deactivate this instance. More... | |
Engines::Container_ptr | GetContainerRef () |
CORBA method: return CORBA reference of the Container. More... | |
void | setProperties (const Engines::FieldsDict &dico) |
CORBA method: Gives a sequence of (key=string,value=any) to the component. More... | |
Engines::FieldsDict * | getProperties () |
CORBA method: returns a previously stored map (key=string,value=any) as a sequence. More... | |
void | Names (const char *graphName, const char *nodeName) |
CORBA method: used by Supervision to give names to this instance. More... | |
bool | Kill_impl () |
CORBA method: used in Supervision. More... | |
bool | Stop_impl () |
CORBA method: used in Supervision. More... | |
bool | Suspend_impl () |
CORBA method: used in Supervision. More... | |
bool | Resume_impl () |
CORBA method: used in Supervision. More... | |
CORBA::Long | CpuUsed_impl () |
CORBA method: More... | |
virtual Engines::TMPFile * | DumpPython (CORBA::Boolean isPublished, CORBA::Boolean isMultiFile, CORBA::Boolean &isValidScript) |
C++ method: DumpPython default implementation. More... | |
virtual Engines::Salome_file_ptr | getInputFileToService (const char *service_name, const char *Salome_file_name) |
virtual Engines::Salome_file_ptr | getOutputFileToService (const char *service_name, const char *Salome_file_name) |
virtual void | checkInputFilesToService (const char *service_name) |
virtual Engines::Salome_file_ptr | setInputFileToService (const char *service_name, const char *Salome_file_name) |
virtual void | checkOutputFilesToService (const char *service_name) |
virtual Engines::Salome_file_ptr | setOutputFileToService (const char *service_name, const char *Salome_file_name) |
void | send_parallel_proxy_object (CORBA::Object_ptr proxy_ref) |
C++ method: Used by the Parallel Component to deploy a Parallel Salome_file. More... | |
virtual bool | hasObjectInfo () |
virtual char * | getObjectInfo (const char *entry) |
PortableServer::ObjectId * | getId () |
C++ method: return CORBA instance id, the id is set in derived class constructor, when instance is activated. More... | |
Engines_Parallel_Container_i * | GetContainerPtr () |
C++ method: return Container Servant. More... | |
void | beginService (const char *serviceName) |
C++ method: used by derived classes for supervision. More... | |
void | endService (const char *serviceName) |
C++ method: used by derived classes for supervision. More... | |
void | sendMessage (const char *event_type, const char *message) |
C++ method: Send message to event channel. More... | |
char * | graphName () |
C++ method: – CHECK IF USED –. More... | |
char * | nodeName () |
C++ method: – CHECK IF USED –. More... | |
bool | Killer (pthread_t ThreadId, int signum) |
C++ method: used in Supervision (see kill_impl) More... | |
void | SetCurCpu () |
C++ method: More... | |
long | CpuUsed () |
C++ method: More... | |
void | CancelThread () |
C++ method: More... | |
void | wait_parallel_object_proxy () |
C++ method: Used by the Parallel Component to deploy a Parallel Salome_file. More... | |
char * | get_parallel_proxy_object () |
C++ method: Used by the Parallel Component to deploy a Parallel Salome_file. More... | |
virtual void | configureSalome_file (std::string service_name, std::string file_port_name, Engines::Parallel_Salome_file_proxy_impl *file) |
C++ method: used to configure the Salome_file into the runtime. More... | |
Static Public Member Functions | |
static bool | isMultiInstance () |
static std::string | GetDynLibraryName (const char *componentName) |
C++ method: return standard library name built on component name. More... | |
Protected Types | |
typedef std::map< std::string, Parallel_Salome_file_i * > | _t_Salome_file_map |
typedef std::map< std::string, Engines::Parallel_Salome_file_proxy_impl * > | _t_Proxy_Salome_file_map |
typedef std::map< std::string, std::string > | _t_IOR_Proxy_Salome_file_map |
typedef std::map< std::string, Engines_Parallel_Component_i::_t_Salome_file_map * > | _t_Service_file_map |
typedef std::map< std::string, Engines_Parallel_Component_i::_t_Proxy_Salome_file_map * > | _t_Proxy_Service_file_map |
typedef std::map< std::string, Engines_Parallel_Component_i::_t_IOR_Proxy_Salome_file_map * > | _t_IOR_Proxy_Service_file_map |
Static Protected Attributes | |
static bool | _isMultiInstance = false |
Private Attributes | |
pthread_t | _ThreadId |
long | _StartUsed |
long | _ThreadCpuUsed |
bool | _Executed |
bool | _CanceledThread |
bool | _destroyed |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Engines_Parallel_Component_i::Engines_Parallel_Component_i | ( | CORBA::ORB_ptr | orb, |
char * | ior, | ||
int | rank, | ||
PortableServer::POA_ptr | poa, | ||
PortableServer::ObjectId * | contId, | ||
const char * | instanceName, | ||
const char * | interfaceName, | ||
bool | notif = false , |
||
bool | regist = true |
||
) |
Standard Constructor for generic Component, used in derived class Connection to Registry and Notification.
orb | Object Request broker given by Container \parap poa Portable Object Adapter from Container (normally root_poa) |
contId | container CORBA id inside the server |
instanceName | unique instance name for this object (see Container_i) |
interfaceName | component class name |
notif | use of notification |
References _contId, _instanceName, _myConnexionToRegistry, _notifSupplier, _orb, _poa, _proxy, deploy_mutex, instanceName(), MESSAGE, salome::orb, and SALOME_ContainerPy::poa.
|
virtual |
Destructor: call Container for decrement of instances count.
When instances count falls to 0, the container tries to remove the component library (dlclose)
References _id, _interfaceName, _myConnexionToRegistry, _notifSupplier, _proxy, Engines_Parallel_Container_i::decInstanceCnt(), deploy_mutex, and MESSAGE.
void Engines_Parallel_Component_i::beginService | ( | const char * | serviceName | ) |
C++ method: used by derived classes for supervision.
References _Executed, _fieldsDict, _instanceName, _serviceName, _StartUsed, _ThreadCpuUsed, _ThreadId, CpuUsed_impl(), and MESSAGE.
void Engines_Parallel_Component_i::CancelThread | ( | ) |
|
virtual |
References _Proxy_Input_Service_file_map, _Proxy_Service_file_map_it, and configureSalome_file().
|
virtual |
References _Proxy_Output_Service_file_map, _Proxy_Service_file_map_it, and configureSalome_file().
|
virtual |
C++ method: used to configure the Salome_file into the runtime.
service_name | name of the service that use this Salome_file |
file_port_name | name of the Salome_file |
file | Parallel Salome_file C++ object |
Referenced by checkInputFilesToService(), and checkOutputFilesToService().
long Engines_Parallel_Component_i::CpuUsed | ( | ) |
C++ method:
References _Executed, _StartUsed, _ThreadId, and prepare_test::usage.
Referenced by CpuUsed_impl(), and SetCurCpu().
CORBA::Long Engines_Parallel_Component_i::CpuUsed_impl | ( | ) |
CORBA method:
References _Executed, _Sleeping, _ThreadCpuUsed, _ThreadId, CpuUsed(), Killer(), and theEngines_Component.
Referenced by beginService(), SALOME_ComponentPy.SALOME_ComponentPy_Gen_i::beginService(), endService(), and SALOME_ComponentPy.SALOME_ComponentPy_Gen_i::endService().
void Engines_Parallel_Component_i::destroy | ( | ) |
CORBA method: Deactivate this instance.
CORBA object is deactivated (do not respond any more to CORBA calls), the connection to Regsitry is removed (Registry informed of deactivation), internal server reference counter on the derived servant class is decremented, to allow destruction of the class (delete) by POA, when there are no more references. – TO BE USED BY CONTAINER ONLY (Container housekeeping) –
References _destroyed, and MESSAGE.
|
virtual |
C++ method: DumpPython default implementation.
void Engines_Parallel_Component_i::endService | ( | const char * | serviceName | ) |
C++ method: used by derived classes for supervision.
References _CanceledThread, _instanceName, _StartUsed, _ThreadCpuUsed, _ThreadId, CpuUsed_impl(), and MESSAGE.
char * Engines_Parallel_Component_i::get_parallel_proxy_object | ( | ) |
C++ method: Used by the Parallel Component to deploy a Parallel Salome_file.
References _proxy.
Referenced by setInputFileToService(), setOutputFileToService(), and wait_parallel_object_proxy().
Engines_Parallel_Container_i * Engines_Parallel_Component_i::GetContainerPtr | ( | ) |
Engines::Container_ptr Engines_Parallel_Component_i::GetContainerRef | ( | ) |
|
static |
C++ method: return standard library name built on component name.
References TestKernelHelpers::ret.
PortableServer::ObjectId * Engines_Parallel_Component_i::getId | ( | ) |
C++ method: return CORBA instance id, the id is set in derived class constructor, when instance is activated.
References _id.
|
virtual |
|
virtual |
|
virtual |
Engines::FieldsDict * Engines_Parallel_Component_i::getProperties | ( | ) |
CORBA method: returns a previously stored map (key=string,value=any) as a sequence.
(see setProperties)
References _fieldsDict.
char * Engines_Parallel_Component_i::graphName | ( | ) |
C++ method: – CHECK IF USED –.
References _graphName.
Referenced by Names(), sendMessage(), and SALOME_ComponentPy.SALOME_ComponentPy_Gen_i::sendMessage().
|
virtual |
char * Engines_Parallel_Component_i::instanceName | ( | ) |
CORBA method: return name of the instance, unique in this Container.
References _instanceName.
Referenced by Engines_Parallel_Component_i().
char * Engines_Parallel_Component_i::interfaceName | ( | ) |
CORBA method: return name of the component class.
References _interfaceName.
|
static |
bool Engines_Parallel_Component_i::Kill_impl | ( | ) |
bool Engines_Parallel_Component_i::Killer | ( | pthread_t | ThreadId, |
int | signum | ||
) |
C++ method: used in Supervision (see kill_impl)
References MESSAGE.
Referenced by CpuUsed_impl(), Kill_impl(), Stop_impl(), and Suspend_impl().
void Engines_Parallel_Component_i::Names | ( | const char * | graphName, |
const char * | nodeName | ||
) |
CORBA method: used by Supervision to give names to this instance.
References _graphName, _nodeName, graphName(), MESSAGE, and nodeName().
char * Engines_Parallel_Component_i::nodeName | ( | ) |
C++ method: – CHECK IF USED –.
References _nodeName.
Referenced by SALOME_PyNode.PyScriptNode_i::assignNewCompiledCode(), SALOME_PyNode.PyScriptNode_i::assignVarInContext(), SALOME_PyNode.PyScriptNode_i::callMethodOnVarInContext(), SALOME_PyNode.PyNode_i::execute(), SALOME_PyNode.PyScriptNode_i::execute(), SALOME_PyNode.PyNode_i::executeAnotherPieceOfCode(), SALOME_PyNode.PyScriptNode_i::executeAnotherPieceOfCode(), SALOME_PyNode.PyScriptNode_i::executeFirst(), SALOME_PyNode.PyScriptNode_i::executeSecond(), SALOME_PyNode.PyScriptNode_i::executeSimple(), SALOME_PyNode.PyNode_i::getName(), SALOME_PyNode.PyScriptNode_i::getName(), SALOME_PyNode.PyScriptNode_i::getValueOfVarInContext(), Names(), sendMessage(), and SALOME_ComponentPy.SALOME_ComponentPy_Gen_i::sendMessage().
void Engines_Parallel_Component_i::ping | ( | ) |
CORBA method: Test if instance is alive and responds.
References MESSAGE.
bool Engines_Parallel_Component_i::Resume_impl | ( | ) |
CORBA method: used in Supervision.
References _id, _instanceName, _interfaceName, _Sleeping, _ThreadId, Kernel_Utils::GetHostname(), and MESSAGE.
void Engines_Parallel_Component_i::send_parallel_proxy_object | ( | CORBA::Object_ptr | proxy_ref | ) |
void Engines_Parallel_Component_i::sendMessage | ( | const char * | event_type, |
const char * | message | ||
) |
C++ method: Send message to event channel.
References _notifSupplier, graphName(), nodeName(), and NOTIFICATION_Supplier::Send().
void Engines_Parallel_Component_i::SetCurCpu | ( | ) |
|
virtual |
|
virtual |
void Engines_Parallel_Component_i::setProperties | ( | const Engines::FieldsDict & | dico | ) |
CORBA method: Gives a sequence of (key=string,value=any) to the component.
Base class component stores the sequence in a map. The map is cleared before. This map is for use by derived classes.
dico | sequence of (key=string,value=any) |
References _fieldsDict.
bool Engines_Parallel_Component_i::Stop_impl | ( | ) |
CORBA method: used in Supervision.
References _id, _instanceName, _interfaceName, _ThreadId, Kernel_Utils::GetHostname(), Killer(), and MESSAGE.
bool Engines_Parallel_Component_i::Suspend_impl | ( | ) |
CORBA method: used in Supervision.
References _id, _instanceName, _interfaceName, _Sleeping, _ThreadId, Kernel_Utils::GetHostname(), Killer(), and MESSAGE.
void Engines_Parallel_Component_i::wait_parallel_object_proxy | ( | ) |
C++ method: Used by the Parallel Component to deploy a Parallel Salome_file.
References get_parallel_proxy_object().
Referenced by setInputFileToService(), and setOutputFileToService().
|
private |
Referenced by CancelThread(), and endService().
|
protected |
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by setInputFileToService().
|
protected |
Referenced by SALOME_ComponentPy.SALOME_ComponentPy_Gen_i::_get_instanceName(), beginService(), SALOME_ComponentPy.SALOME_ComponentPy_Gen_i::beginService(), endService(), SALOME_ComponentPy.SALOME_ComponentPy_Gen_i::endService(), Engines_Parallel_Component_i(), instanceName(), Resume_impl(), Stop_impl(), and Suspend_impl().
|
protected |
|
protected |
Referenced by setInputFileToService().
|
protected |
Referenced by setOutputFileToService().
|
protected |
|
protected |
|
staticprotected |
|
protected |
Referenced by Engines_Parallel_Component_i(), and ~Engines_Parallel_Component_i().
|
protected |
|
protected |
|
protected |
Referenced by SALOME_Container.SALOME_Container_i::__init__(), SALOME_ContainerPy.SALOME_ContainerPy_Gen_i::__init__(), SALOME_ContainerPy.SALOME_ContainerPy_i::__init__(), SALOME_ComponentPy.SALOME_ComponentPy_Gen_i::__init__(), SALOME_NamingServicePy.SALOME_NamingServicePy_i::__init__(), SALOME_ContainerPy.SALOME_ContainerPy_Gen_i::create_component_instance(), SALOME_Container.SALOME_Container_i::create_component_instance(), SALOME_Container.SALOME_Container_i::create_pynode(), SALOME_Container.SALOME_Container_i::create_pyscriptnode(), Engines_Parallel_Component_i(), Engines_ParallelDSC_i::get_proxy(), SALOME_Embedded_NamingService_ClientPy.SALOME_Embedded_NamingService_ClientPy::Register(), SALOME_Embedded_NamingService_ClientPy.SALOME_Embedded_NamingService_ClientPy::Resolve(), send_parallel_proxy_object(), setInputFileToService(), setOutputFileToService(), and SALOME_ContainerPy.SALOME_ContainerPy_Gen_i::Shutdown().
|
protected |
Referenced by setOutputFileToService().
|
protected |
Referenced by SALOME_Container.SALOME_Container_i::__init__(), SALOME_ContainerPy.SALOME_ContainerPy_Gen_i::__init__(), SALOME_ComponentPy.SALOME_ComponentPy_Gen_i::__init__(), SALOME_ContainerPy.SALOME_ContainerPy_Gen_i::create_component_instance(), SALOME_Container.SALOME_Container_i::create_component_instance(), SALOME_Container.SALOME_Container_i::create_pynode(), SALOME_Container.SALOME_Container_i::create_pyscriptnode(), SALOME_ComponentPy.SALOME_ComponentPy_Gen_i::destroy(), Engines_Parallel_Component_i(), GetContainerPtr(), and GetContainerRef().
|
protected |
|
protected |
Referenced by checkInputFilesToService(), getInputFileToService(), and setInputFileToService().
|
protected |
Referenced by checkOutputFilesToService(), getOutputFileToService(), and setOutputFileToService().
|
protected |
Referenced by getInputFileToService(), and getOutputFileToService().
|
protected |
Referenced by checkInputFilesToService(), checkOutputFilesToService(), getInputFileToService(), and getOutputFileToService().
|
protected |
Referenced by setInputFileToService(), and setOutputFileToService().
|
protected |
Referenced by setInputFileToService(), and setOutputFileToService().
|
protected |
|
private |
|
protected |
|
private |
|
private |
Referenced by beginService(), SALOME_ComponentPy.SALOME_ComponentPy_Gen_i::beginService(), CpuUsed(), CpuUsed_impl(), SALOME_ComponentPy.SALOME_ComponentPy_Gen_i::CpuUsed_impl(), endService(), SALOME_ComponentPy.SALOME_ComponentPy_Gen_i::endService(), Kill_impl(), SALOME_ComponentPy.SALOME_ComponentPy_Gen_i::Kill_impl(), Resume_impl(), SALOME_ComponentPy.SALOME_ComponentPy_Gen_i::Resume_impl(), Stop_impl(), SALOME_ComponentPy.SALOME_ComponentPy_Gen_i::Stop_impl(), Suspend_impl(), and SALOME_ComponentPy.SALOME_ComponentPy_Gen_i::Suspend_impl().
|
protected |