A class to manage life cycle of SALOME components. More...
#include <SALOME_LifeCycleCORBA.hxx>
Public Member Functions | |
SALOME_LifeCycleCORBA (SALOME_NamingService *ns=0) | |
Constructor. More... | |
virtual | ~SALOME_LifeCycleCORBA () |
Destructor. More... | |
Engines::EngineComponent_ptr | FindComponent (const Engines::ContainerParameters ¶ms, const char *componentName, int studyId=0) |
Find an already existing and registered component instance. More... | |
Engines::EngineComponent_ptr | LoadComponent (const Engines::ContainerParameters ¶ms, const char *componentName, int studyId=0) |
Load a component instance on a container defined by its parameters. More... | |
Engines::EngineComponent_ptr | FindOrLoad_Component (const Engines::ContainerParameters ¶ms, const char *componentName, int studyId=0) |
Find an already existing and registered component instance or load a new component instance on a container defined by its parameters. More... | |
Engines::EngineComponent_ptr | FindOrLoad_Component (const char *containerName, const char *componentName) |
Find an already existing and registered component instance or load a new component instance on a container defined by name. More... | |
Engines::EngineComponent_ptr | Load_ParallelComponent (const Engines::ContainerParameters ¶ms, const char *componentName, int studyId) |
Load a parallel component instance. More... | |
bool | isKnownComponentClass (const char *componentName) |
Check if the component class is known in module catalog. More... | |
int | NbProc (const Engines::ContainerParameters ¶ms) |
Engines::ContainerManager_ptr | getContainerManager () |
Get the container manager. More... | |
Engines::ResourcesManager_ptr | getResourcesManager () |
Get the resources manager. More... | |
SALOME_NamingService * | namingService () |
get the naming service used by the life cycle More... | |
CORBA::ORB_ptr | orb () |
get the orb used by the life cycle More... | |
void | copyFile (const char *hostSrc, const char *fileSrc, const char *hostDest, const char *fileDest) |
copy a file from a source host to a destination host More... | |
void | shutdownServers () |
shutdown all the SALOME servers except SALOME_Session_Server and omniNames More... | |
Static Public Member Functions | |
static void | preSet (Engines::ResourceParameters &outparams) |
Initialisation of a given Engines::ResourceParameters with default values. More... | |
static void | preSet (Engines::ContainerParameters &outparams) |
Initialisation of a given Engines::ContainerParameters with default values. More... | |
static void | killOmniNames () |
shutdown omniNames More... | |
Protected Member Functions | |
Engines::EngineComponent_ptr | _FindComponent (const Engines::ContainerParameters ¶ms, const char *componentName, int studyId, const Engines::ResourceList &listOfResources) |
Establish if a component called "componentName" in a container called "containerName" exists among the list of resources in "listOfMachines". More... | |
Engines::EngineComponent_ptr | _LoadComponent (const Engines::ContainerParameters ¶ms, const char *componentName, int studyId) |
Load a component instance. More... | |
Protected Attributes | |
SALOME_NamingService * | _NS |
SALOME_NamingService * | _NSnew |
Engines::ContainerManager_var | _ContManager |
Engines::ResourcesManager_var | _ResManager |
SALOME_LifeCycleCORBA::SALOME_LifeCycleCORBA | ( | SALOME_NamingService * | ns = 0 | ) |
|
virtual |
Destructor.
References _NSnew.
|
protected |
Establish if a component called "componentName" in a container called "containerName" exists among the list of resources in "listOfMachines".
Find an already existing and registered component instance.
This method uses Naming Service to find the component.
params | machine parameters like type or name... |
componentName | the name of component class |
studyId | default = 0 : multistudy instance |
listOfMachines | list of machine address |
References _NS, _ResManager, Engines::ContainerParameters::container_name, NbProc(), and SALOME_NamingService::ResolveComponent().
Referenced by FindComponent(), and FindOrLoad_Component().
|
protected |
Load a component instance.
params | machine parameters like type or name... |
componentName | the name of component class |
studyId | default = 0 : multistudy instance |
References _ContManager, Engines::ContainerParameters::container_name, MESSAGE, Engines::ContainerParameters::mode, and NbProc().
Referenced by FindOrLoad_Component(), and LoadComponent().
void SALOME_LifeCycleCORBA::copyFile | ( | const char * | hostSrc, |
const char * | fileSrc, | ||
const char * | hostDest, | ||
const char * | fileDest | ||
) |
copy a file from a source host to a destination host
hostSrc | the source host |
fileSrc | the file to copy from the source host to the destination host |
hostDest | the destination host |
fileDest | the destination file |
References getContainerManager(), SALOME_FileTransferCORBA::getLocalFile(), Engines::ResourceParameters::hostname, Engines::ContainerParameters::mode, preSet(), and Engines::ContainerParameters::resource_params.
Engines::EngineComponent_ptr SALOME_LifeCycleCORBA::FindComponent | ( | const Engines::ContainerParameters & | params, |
const char * | componentName, | ||
int | studyId = 0 |
||
) |
Find an already existing and registered component instance.
params | container parameters like type or name... |
componentName | the name of component class |
studyId | default = 0 : multistudy instance |
References _FindComponent(), _ResManager, Engines::ResourceParameters::can_run_containers, Engines::ResourceParameters::componentList, isKnownComponentClass(), and Engines::ContainerParameters::resource_params.
Engines::EngineComponent_ptr SALOME_LifeCycleCORBA::FindOrLoad_Component | ( | const Engines::ContainerParameters & | params, |
const char * | componentName, | ||
int | studyId = 0 |
||
) |
Find an already existing and registered component instance or load a new component instance on a container defined by its parameters.
params | container parameters like type or name... |
componentName | the name of component class |
studyId | default = 0 : multistudy instance |
References _FindComponent(), _LoadComponent(), _ResManager, Engines::ResourceParameters::can_run_containers, Engines::ResourceParameters::componentList, isKnownComponentClass(), Engines::ResourceParameters::resList, and Engines::ContainerParameters::resource_params.
Referenced by FindOrLoad_Component(), SALOMEDS_DriverFactory_i::GetDriverByType(), main(), TEST_getLifeCycleCORBA(), KernelHelpersUnitTests::TEST_getLifeCycleCORBA(), LifeCycleCORBATest::testFindOrLoad_Component_LaunchContainer(), LifeCycleCORBATest::testFindOrLoad_Component_LaunchContainerHostname(), LifeCycleCORBATest::testFindOrLoad_Component_ParamsContainerName(), LifeCycleCORBATest::testFindOrLoad_Component_ParamsEmpty(), LifeCycleCORBATest::testFindOrLoad_Component_ParamsLocalContainer(), LifeCycleCORBATest::testFindOrLoad_Component_ParamsRemoteComputer(), LifeCycleCORBATest::testFindOrLoad_Component_ParamsRemoteComputer2(), LifeCycleCORBATest::testFindOrLoad_Component_PythonInCppContainer(), LifeCycleCORBATest::testFindOrLoad_Component_PythonSameInstance(), LifeCycleCORBATest::testFindOrLoad_Component_RemoteComputer(), LifeCycleCORBATest::testFindOrLoad_Component_SameContainer(), LifeCycleCORBATest::testFindOrLoad_Component_SameInstance(), LifeCycleCORBATest::testFindOrLoad_Component_UnknownInCatalog(), LifeCycleCORBATest::testFindOrLoad_Component_UnknownMachine(), and SALOMEDSTest::testStudyBuilder().
Engines::EngineComponent_ptr SALOME_LifeCycleCORBA::FindOrLoad_Component | ( | const char * | containerName, |
const char * | componentName | ||
) |
Find an already existing and registered component instance or load a new component instance on a container defined by name.
containerName | the name of container, under one of the forms
|
componentName | the name of component class |
References Engines::ContainerParameters::container_name, FindOrLoad_Component(), Engines::ResourceParameters::hostname, isKnownComponentClass(), Engines::ContainerParameters::isMPI, MESSAGE, preSet(), Engines::ContainerParameters::resource_params, and SCRUTE.
Engines::ContainerManager_ptr SALOME_LifeCycleCORBA::getContainerManager | ( | ) |
Get the container manager.
References _ContManager.
Referenced by copyFile(), and SALOME_FileTransferCORBA::getLocalFile().
Engines::ResourcesManager_ptr SALOME_LifeCycleCORBA::getResourcesManager | ( | ) |
Get the resources manager.
References _ResManager.
Referenced by SALOME_FileTransferCORBA::getLocalFile().
Check if the component class is known in module catalog.
componentName | the name of component class |
References _NS, ASSERT, INFOS, MESSAGE, and SALOME_NamingService::Resolve().
Referenced by FindComponent(), FindOrLoad_Component(), and LoadComponent().
|
static |
shutdown omniNames
References MESSAGE.
Engines::EngineComponent_ptr SALOME_LifeCycleCORBA::Load_ParallelComponent | ( | const Engines::ContainerParameters & | params, |
const char * | componentName, | ||
int | studyId | ||
) |
Load a parallel component instance.
params | machine parameters like type or name... |
componentName | the name of component class |
studyId | default = 0 : multistudy instance |
References _ContManager, Engines::ResourceParameters::componentList, INFOS, MESSAGE, Engines::ContainerParameters::mode, and Engines::ContainerParameters::resource_params.
Engines::EngineComponent_ptr SALOME_LifeCycleCORBA::LoadComponent | ( | const Engines::ContainerParameters & | params, |
const char * | componentName, | ||
int | studyId = 0 |
||
) |
Load a component instance on a container defined by its parameters.
params | container parameters like type or name... |
componentName | the name of component class |
studyId | default = 0 : multistudy instance |
References _LoadComponent(), _ResManager, Engines::ResourceParameters::can_run_containers, Engines::ResourceParameters::componentList, isKnownComponentClass(), Engines::ResourceParameters::resList, and Engines::ContainerParameters::resource_params.
SALOME_NamingService * SALOME_LifeCycleCORBA::namingService | ( | ) |
int SALOME_LifeCycleCORBA::NbProc | ( | const Engines::ContainerParameters & | params | ) |
References Engines::ContainerParameters::isMPI, and Engines::ContainerParameters::nb_proc.
Referenced by _FindComponent(), and _LoadComponent().
CORBA::ORB_ptr SALOME_LifeCycleCORBA::orb | ( | ) |
get the orb used by the life cycle
References _NS, and SALOME_NamingService::orb().
Referenced by SALOME_LifeCycleCORBA(), and shutdownServers().
|
static |
Initialisation of a given Engines::ResourceParameters with default values.
References Engines::ResourceParameters::can_launch_batch_jobs, Engines::ResourceParameters::can_run_containers, Engines::ResourceParameters::cpu_clock, Engines::ResourceParameters::hostname, Engines::ResourceParameters::mem_mb, Engines::ResourceParameters::name, Engines::ResourceParameters::nb_node, Engines::ResourceParameters::nb_proc, Engines::ResourceParameters::nb_proc_per_node, Engines::ResourceParameters::OS, and Engines::ResourceParameters::policy.
Referenced by copyFile(), FindOrLoad_Component(), SALOME_FileTransferCORBA::getLocalFile(), LifeCycleCORBATest::GetRemoteHost(), preSet(), NamingServiceTest::testBuildContainerNameForNSParams(), NamingServiceTest::testContainerNameParams(), LifeCycleCORBATest::testFindOrLoad_Component_ParamsContainerName(), LifeCycleCORBATest::testFindOrLoad_Component_ParamsEmpty(), LifeCycleCORBATest::testFindOrLoad_Component_ParamsLocalContainer(), LifeCycleCORBATest::testFindOrLoad_Component_ParamsRemoteComputer(), and LifeCycleCORBATest::testFindOrLoad_Component_ParamsRemoteComputer2().
|
static |
Initialisation of a given Engines::ContainerParameters with default values.
References Engines::ContainerParameters::container_name, Engines::ContainerParameters::isMPI, Engines::ContainerParameters::mode, Engines::ContainerParameters::nb_proc, Engines::ContainerParameters::parallelLib, preSet(), Engines::ContainerParameters::resource_params, and Engines::ContainerParameters::workingdir.
void SALOME_LifeCycleCORBA::shutdownServers | ( | ) |
shutdown all the SALOME servers except SALOME_Session_Server and omniNames
References _NS, Kernel_Utils::GetHostname(), SALOMESDS::DataServerManager::NAME_IN_NS, orb(), and SALOME_NamingService::Resolve().
|
protected |
Referenced by _LoadComponent(), getContainerManager(), Load_ParallelComponent(), and SALOME_LifeCycleCORBA().
|
protected |
Referenced by _FindComponent(), isKnownComponentClass(), namingService(), orb(), SALOME_LifeCycleCORBA(), and shutdownServers().
|
protected |
Referenced by SALOME_LifeCycleCORBA(), and ~SALOME_LifeCycleCORBA().
|
protected |
Referenced by _FindComponent(), FindComponent(), FindOrLoad_Component(), getResourcesManager(), LoadComponent(), and SALOME_LifeCycleCORBA().