C++ implementation of Engines::Component interface. More...
#include <SALOME_Component_i.hxx>
Public Member Functions | |
Engines_Component_i () | |
Default constructor, not for use. More... | |
Engines_Component_i (CORBA::ORB_ptr orb, 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. More... | |
Engines_Component_i (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, Engines::Container_ptr container, const char *instanceName, const char *interfaceName, bool notif=false, bool regist=true) | |
Standard Constructor for standalone Component, used in derived class. More... | |
virtual | ~Engines_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... | |
CORBA::Long | getStudyId () |
CORBA method: Get study Id. 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... | |
virtual void | SetOption (const char *, const char *) |
CORBA method: This method is to set an option specific to a certain EngineComponent. More... | |
virtual char * | GetOption (const char *) |
CORBA method: This method is to get value of an option specific to a certain EngineComponent. 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::Object_ptr theStudy, 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) |
virtual bool | hasObjectInfo () |
virtual char * | getObjectInfo (CORBA::Long studyId, const char *entry) |
virtual char * | getVersion () |
Get version of the component. More... | |
PortableServer::ObjectId * | getId () |
C++ method: return CORBA instance id, the id is set in derived class constructor, when instance is activated. More... | |
Engines_Container_i * | GetContainerPtr () |
C++ method: return Container Servant. More... | |
std::string | getContainerName () |
C++ method: return the name of the container associated with this component This name does not contains the "/Containers" string and all "/" are replaced by "_". More... | |
void | setContainerName () |
C++ method: set the name of the container associated with this component (attribute containerName) This name does not contains the "/Containers" string and all "/" are replaced by "</em>". More... | |
virtual bool | setStudyId (CORBA::Long studyId) |
C++ method: set study Id. 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... | |
virtual void | configureSalome_file (std::string service_name, std::string file_port_name, Salome_file_i *file) |
C++ method: used to configure the Salome_file into the runtime. More... | |
Static Public Member Functions | |
static bool | isMultiStudy () |
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, Salome_file_i * > | _t_Salome_file_map |
typedef std::map< std::string, Engines_Component_i::_t_Salome_file_map * > | _t_Service_file_map |
Protected Attributes | |
int | _studyId |
std::string | _instanceName |
std::string | _interfaceName |
std::string | _containerName |
CORBA::ORB_var | _orb |
PortableServer::POA_var | _poa |
PortableServer::ObjectId * | _id |
PortableServer::ObjectId * | _contId |
Engines::Container_var | _container |
Engines_Component_i * | _thisObj |
RegistryConnexion * | _myConnexionToRegistry |
NOTIFICATION_Supplier * | _notifSupplier |
std::map< std::string, CORBA::Any > | _fieldsDict |
_t_Service_file_map | _Input_Service_file_map |
_t_Service_file_map | _Output_Service_file_map |
_t_Service_file_map::iterator | _Service_file_map_it |
_t_Salome_file_map::iterator | _Salome_file_map_it |
std::string | _serviceName |
std::string | _graphName |
std::string | _nodeName |
Static Protected Attributes | |
static bool | _isMultiStudy = true |
static bool | _isMultiInstance = false |
Private Attributes | |
pthread_t | _ThreadId |
long | _StartUsed |
long | _ThreadCpuUsed |
bool | _Executed |
bool | _CanceledThread |
C++ implementation of Engines::Component interface.
|
protected |
|
protected |
Engines_Component_i::Engines_Component_i | ( | ) |
Default constructor, not for use.
References MESSAGE.
Engines_Component_i::Engines_Component_i | ( | CORBA::ORB_ptr | orb, |
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 |
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 |
regist | (true or false) use of registry (default true) |
References _container, _contId, _instanceName, _myConnexionToRegistry, _notifSupplier, _orb, _poa, MESSAGE, and setContainerName().
Engines_Component_i::Engines_Component_i | ( | CORBA::ORB_ptr | orb, |
PortableServer::POA_ptr | poa, | ||
Engines::Container_ptr | container, | ||
const char * | instanceName, | ||
const char * | interfaceName, | ||
bool | notif = false , |
||
bool | regist = true |
||
) |
Standard Constructor for standalone Component, used in derived class.
Connection to Registry and Notification
orb | Object Request broker given by Container |
poa | Portable Object Adapter from Container (normally root_poa) |
container | container CORBA reference |
instanceName | unique instance name for this object (see Container_i) |
interfaceName | component class name |
notif | use of notification |
regist | (true or false) use of registry (default true) |
References _container, _instanceName, _myConnexionToRegistry, _notifSupplier, _orb, _poa, MESSAGE, and setContainerName().
|
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, Engines_Container_i::decInstanceCnt(), MESSAGE, and SCRUTE.
void Engines_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.
Referenced by Superv_Component_i::beginService().
void Engines_Component_i::CancelThread | ( | ) |
|
virtual |
|
virtual |
|
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 | Salome_file C++ object |
Referenced by checkInputFilesToService(), and checkOutputFilesToService().
long Engines_Component_i::CpuUsed | ( | ) |
C++ method:
References _Executed, _StartUsed, and _ThreadId.
Referenced by CpuUsed_impl(), and SetCurCpu().
CORBA::Long Engines_Component_i::CpuUsed_impl | ( | ) |
CORBA method:
References _Executed, _Sleeping, _ThreadCpuUsed, _ThreadId, CpuUsed(), and Killer().
Referenced by beginService(), and endService().
void Engines_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) –
|
virtual |
C++ method: DumpPython default implementation.
void Engines_Component_i::endService | ( | const char * | serviceName | ) |
C++ method: used by derived classes for supervision.
References _CanceledThread, _instanceName, _StartUsed, _ThreadCpuUsed, _ThreadId, CpuUsed_impl(), and MESSAGE.
std::string Engines_Component_i::getContainerName | ( | ) |
C++ method: return the name of the container associated with this component This name does not contains the "/Containers" string and all "/" are replaced by "_".
References _containerName.
Referenced by create_calcium_port(), CalciumInterface::ecp_cd(), CalciumInterface::ecp_ecriture(), CalciumInterface::ecp_effi(), CalciumInterface::ecp_efft(), CalciumInterface::ecp_fin(), CalciumInterface::ecp_fini(), CalciumInterface::ecp_fint(), and CalciumInterface::ecp_lecture().
Engines_Container_i * Engines_Component_i::GetContainerPtr | ( | ) |
C++ method: return Container Servant.
References _container, and _poa.
Engines::Container_ptr Engines_Component_i::GetContainerRef | ( | ) |
CORBA method: return CORBA reference of the Container.
References _container.
Referenced by setInputFileToService(), and setOutputFileToService().
|
static |
C++ method: return standard library name built on component name.
Referenced by Engines_Container_i::decInstanceCnt(), and Engines_Parallel_Container_i::decInstanceCnt().
PortableServer::ObjectId * Engines_Component_i::getId | ( | ) |
C++ method: return CORBA instance id, the id is set in derived class constructor, when instance is activated.
References _id.
Referenced by SalomeTestComponentEngine_factory(), and TestMPIComponentEngine_factory().
|
virtual |
CORBA method: This method is to get value of an option specific to a certain EngineComponent.
Engines::FieldsDict * Engines_Component_i::getProperties | ( | ) |
CORBA method: returns a previously stored map (key=string,value=any) as a sequence.
(see setProperties)
References _fieldsDict.
CORBA::Long Engines_Component_i::getStudyId | ( | ) |
CORBA method: Get study Id.
References _studyId.
Referenced by Engines_Container_i::find_or_create_instance(), and Engines_Parallel_Container_i::find_or_create_instance().
|
virtual |
Get version of the component.
This method is supposed to be implemented in all derived classes; default implementation returns empty string that means that no version information about the component is available.
char * Engines_Component_i::graphName | ( | ) |
|
virtual |
char * Engines_Component_i::instanceName | ( | ) |
CORBA method: return name of the instance, unique in this Container.
References _instanceName.
Referenced by create_calcium_port(), CalciumInterface::ecp_cd(), CalciumInterface::ecp_ecriture(), CalciumInterface::ecp_effi(), CalciumInterface::ecp_efft(), CalciumInterface::ecp_fin(), CalciumInterface::ecp_fini(), CalciumInterface::ecp_fint(), and CalciumInterface::ecp_lecture().
char * Engines_Component_i::interfaceName | ( | ) |
CORBA method: return name of the component class.
References _interfaceName.
|
static |
|
static |
bool Engines_Component_i::Kill_impl | ( | ) |
bool Engines_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().
CORBA method: used by Supervision to give names to this instance.
References _graphName, _nodeName, graphName(), and nodeName().
char * Engines_Component_i::nodeName | ( | ) |
void Engines_Component_i::ping | ( | ) |
CORBA method: Test if instance is alive and responds.
References MESSAGE.
bool Engines_Component_i::Resume_impl | ( | ) |
CORBA method: used in Supervision.
References _id, _instanceName, _interfaceName, _Sleeping, _ThreadId, Kernel_Utils::GetHostname(), and MESSAGE.
C++ method: Send message to event channel.
References _graphName, _nodeName, _notifSupplier, and NOTIFICATION_Supplier::Send().
void Engines_Component_i::setContainerName | ( | ) |
C++ method: set the name of the container associated with this component (attribute containerName) This name does not contains the "/Containers" string and all "/" are replaced by "</em>".
References _container, and _containerName.
Referenced by Engines_Component_i().
void Engines_Component_i::SetCurCpu | ( | ) |
CORBA method: This method is to set an option specific to a certain EngineComponent.
void Engines_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.
|
virtual |
C++ method: set study Id.
studyId | 0 if instance is not associated to a study, >0 otherwise (== study id) |
References _studyId, and ASSERT.
Referenced by Engines_Parallel_Container_i::createCPPInstance(), Engines_Container_i::createInstance(), and Engines_MPIContainer_i::createMPIInstance().
bool Engines_Component_i::Stop_impl | ( | ) |
CORBA method: used in Supervision.
References _id, _instanceName, _interfaceName, _ThreadId, Kernel_Utils::GetHostname(), Killer(), and MESSAGE.
bool Engines_Component_i::Suspend_impl | ( | ) |
CORBA method: used in Supervision.
References _id, _instanceName, _interfaceName, _Sleeping, _ThreadId, Kernel_Utils::GetHostname(), Killer(), and MESSAGE.
|
private |
Referenced by CancelThread(), and endService().
|
protected |
Referenced by Engines_Component_i(), GetContainerPtr(), GetContainerRef(), and setContainerName().
|
protected |
Referenced by getContainerName(), and setContainerName().
|
protected |
Referenced by Engines_Component_i().
|
private |
Referenced by beginService(), CpuUsed(), and CpuUsed_impl().
|
protected |
Referenced by beginService(), getProperties(), Engines_TestComponent_i::Setenv(), and setProperties().
|
protected |
Referenced by graphName(), Names(), and sendMessage().
|
protected |
|
protected |
Referenced by checkInputFilesToService(), getInputFileToService(), and setInputFileToService().
|
protected |
Referenced by beginService(), endService(), Engines_Component_i(), instanceName(), Resume_impl(), Stop_impl(), and Suspend_impl().
|
protected |
Referenced by interfaceName(), Resume_impl(), Stop_impl(), Suspend_impl(), and ~Engines_Component_i().
|
staticprotected |
|
staticprotected |
|
protected |
Referenced by Engines_Component_i(), and ~Engines_Component_i().
|
protected |
Referenced by Names(), nodeName(), and sendMessage().
|
protected |
Referenced by Engines_Component_i(), sendMessage(), and ~Engines_Component_i().
|
protected |
Referenced by Engines_Component_i().
|
protected |
Referenced by checkOutputFilesToService(), getOutputFileToService(), and setOutputFileToService().
|
protected |
|
protected |
Referenced by getInputFileToService(), getOutputFileToService(), setInputFileToService(), and setOutputFileToService().
|
protected |
|
protected |
Referenced by beginService().
|
private |
Referenced by beginService(), CpuUsed(), and endService().
|
protected |
Referenced by getStudyId(), and setStudyId().
|
protected |
|
private |
Referenced by beginService(), CpuUsed_impl(), endService(), and SetCurCpu().
|
private |
Referenced by beginService(), CpuUsed(), CpuUsed_impl(), endService(), Kill_impl(), Resume_impl(), Stop_impl(), and Suspend_impl().