Version: 8.3.0
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Engines::Container Interface Reference

Interface of the Container. This interface defines the process of loading and registration of new components in SALOME application. More...

Inheritance diagram for Engines::Container:
Inheritance graph

Public Member Functions

boolean load_component_Library (in string componentName, out string reason)
 Loads a new component class (dynamic library). More...
 
Engines::EngineComponent create_component_instance (in string componentName, in long studyId)
 Create a new servant instance of a component. More...
 
string create_python_service_instance (in string serviceName, out string reason)
 Create a new Python servant instance of a generic service. More...
 
Engines::EngineComponent create_component_instance_env (in string componentName, in long studyId, in FieldsDict env, out string reason)
 Create a new servant instance of a component with environment variables specified. More...
 
EngineComponent find_component_instance (in string registeredName, in long studyId)
 Find a servant instance of a component. More...
 
EngineComponent load_impl (in string nameToRegister, in string componentName)
 Find a servant instance of a component, or create a new one. More...
 
void remove_impl (in EngineComponent component_i)
 Remove the component servant, and deletes all related objects. More...
 
void finalize_removal ()
 Unload component libraries from the container. More...
 
void ping ()
 Determines whether the server has been loaded or not. More...
 
void Shutdown ()
 Shutdown the Container process. More...
 
string getHostName ()
 Returns the hostname of the container. More...
 
long getPID ()
 Returns the PID of the container. More...
 
boolean Kill_impl ()
 Kill the container. More...
 
fileRef createFileRef (in string origFileName)
 Create a fileRef. More...
 
Salome_file createSalome_file (in string origFileName)
 Create a Salome_file. More...
 
fileTransfer getFileTransfer ()
 Create a fileTransfer. More...
 
void copyFile (in Container contai, in string remoteFile, in string localFile)
 Copy a file from a remote host (container) to a local file. More...
 
PyNode createPyNode (in string nodeName, in string code) raises (SALOME::SALOME_Exception)
 Create a PyNode in the container. More...
 
PyNode getDefaultPyNode (in string nodeName)
 Retrieves the last created PyNode instance with createPyNode. More...
 
PyScriptNode createPyScriptNode (in string nodeName, in string code) raises (SALOME::SALOME_Exception)
 Create a PyScriptNode in the container. More...
 
PyScriptNode getDefaultPyScriptNode (in string nodeName)
 Retrieves the last created PyScriptNode instance with createPyScriptNode. More...
 

Data Fields

readonly attribute string name
 Name of the container. More...
 
readonly attribute string workingdir
 working directory of the container More...
 
attribute string logfilename
 name of the container log file (this has been set by the launcher) More...
 

Detailed Description

Interface of the Container. This interface defines the process of loading and registration of new components in SALOME application.

Member Function Documentation

boolean Engines::Container::load_component_Library ( in string  componentName,
out string  reason 
)

Loads a new component class (dynamic library).

Parameters
componentNamelike COMPONENT, (Python or C++ implementation) try to make a Python import of COMPONENT, then a lib open of libCOMPONENTEngine.so
reasonin case of error (return false) a string explaining the error
Returns
true if load successfull or already done, false otherwise
Engines::EngineComponent Engines::Container::create_component_instance ( in string  componentName,
in long  studyId 
)

Create a new servant instance of a component.

Component library must be loaded.

Parameters
componentNameName of the component which will be registered in Registry and Name Service, (instance number suffix added to the registered name)
studyId0 if instance is not associated to a study, >0 otherwise (== study id)
Returns
a loaded component
string Engines::Container::create_python_service_instance ( in string  serviceName,
out string  reason 
)

Create a new Python servant instance of a generic service.

This simply loads the service in the current container by importing the corresponding Python module. Warning: no internal registration is done, so it is up to the caller to manage the various instanciation.

Parameters
serviceNameName of the service
                  >0 otherwise (== study id)
reasonin case of error (return void string) a string explaining the error
Returns
the IOR of the loaded service.
Engines::EngineComponent Engines::Container::create_component_instance_env ( in string  componentName,
in long  studyId,
in FieldsDict  env,
out string  reason 
)

Create a new servant instance of a component with environment variables specified.

Component library must be loaded.

Parameters
componentNameName of the component which will be registered in Registry and Name Service, (instance number suffix added to the registered name)
studyId0 if instance is not associated to a study, >0 otherwise (== study id)
enva dict of env variables
reasonin case of error (return nil) a string explaining the error
Returns
a loaded component
EngineComponent Engines::Container::find_component_instance ( in string  registeredName,
in long  studyId 
)

Find a servant instance of a component.

Parameters
registeredNameName of the component in Registry or Name Service, without instance suffix number
studyId0 if instance is not associated to a study, >0 otherwise (== study id)
Returns
the first instance found with same studyId
EngineComponent Engines::Container::load_impl ( in string  nameToRegister,
in string  componentName 
)

Find a servant instance of a component, or create a new one.

Loads the component library if needed. Only applicable to multiStudy components.

Parameters
nameToRegisterName of the component which will be registered in Registry (or Name Service)
componentNameName of the constructed library of the component (not used any more, give empty string)
Returns
a loaded component
void Engines::Container::remove_impl ( in EngineComponent  component_i)

Remove the component servant, and deletes all related objects.

Parameters
component_iComponent to be removed
void Engines::Container::finalize_removal ( )

Unload component libraries from the container.

void Engines::Container::ping ( )

Determines whether the server has been loaded or not.

void Engines::Container::Shutdown ( )

Shutdown the Container process.

string Engines::Container::getHostName ( )

Returns the hostname of the container.

long Engines::Container::getPID ( )

Returns the PID of the container.

boolean Engines::Container::Kill_impl ( )

Kill the container.

Returns True if the container has been killed. Kept for Superv compilation but can't work, unless oneway... TO REMOVE !

fileRef Engines::Container::createFileRef ( in string  origFileName)

Create a fileRef.

returns a fileRef object if origFileName exists and is readable else returns null object. Only one fileRef is created for a given file name, so, several calls with the same file name returns the same object.

Salome_file Engines::Container::createSalome_file ( in string  origFileName)

Create a Salome_file.

returns a Salome_file object if origFileName exists and is readable else returns null object.

Parameters
origFileNamename of the file to be managed (can contain the path).
Returns
Salome_file CORBA reference.
fileTransfer Engines::Container::getFileTransfer ( )

Create a fileTransfer.

returns a fileTransfer object used to copy files from the container machine to the clients machines. Only one fileTransfer instance is created in a container.

void Engines::Container::copyFile ( in Container  contai,
in string  remoteFile,
in string  localFile 
)

Copy a file from a remote host (container) to a local file.

Parameters
contaithe remote container
remoteFilethe file on the remote host to copy
localFilethe local file to create by copy
PyNode Engines::Container::createPyNode ( in string  nodeName,
in string  code 
) raises (SALOME::SALOME_Exception)

Create a PyNode in the container.

Parameters
nodeNamethe name of the PyNode
codepython code as text to load in the node
PyNode Engines::Container::getDefaultPyNode ( in string  nodeName)

Retrieves the last created PyNode instance with createPyNode.

PyScriptNode Engines::Container::createPyScriptNode ( in string  nodeName,
in string  code 
) raises (SALOME::SALOME_Exception)

Create a PyScriptNode in the container.

Parameters
nodeNamethe name of the PyScriptNode
codepython code as text to load in the node
PyScriptNode Engines::Container::getDefaultPyScriptNode ( in string  nodeName)

Retrieves the last created PyScriptNode instance with createPyScriptNode.

Field Documentation

readonly attribute string Engines::Container::name

Name of the container.

readonly attribute string Engines::Container::workingdir

working directory of the container

attribute string Engines::Container::logfilename

name of the container log file (this has been set by the launcher)