return False
#
-def getPort(preferedPort=None):
+def getPort(preferredPort=None):
logger.debug("GET PORT")
config_file, lock_file = _getConfigurationFilename()
config[appli_path] = []
# append port
- port = preferedPort
+ port = preferredPort
if not port or __isPortUsed(port, config):
port = __PORT_MIN_NUMBER
while __isPortUsed(port, config):
import unittest
import logging
-def port_reservation(obtained_ports, prefered=None, test=None, expected=None):
+def port_reservation(obtained_ports, preferred=None, test=None, expected=None):
from PortManager import getPort
- if prefered:
- port = getPort(prefered)
+ if preferred:
+ port = getPort(preferred)
else:
port = getPort()
print("obtained port = %s"%port)
# full path to the pidict file is requested
if hidden:
# new-style dot-prefixed pidict files
- # are in the system-dependant temporary diretory
+ # are in the system-dependant temporary directory
dir = getLogDir()
else:
# old-style non-dot-prefixed pidict files
# - These directories are analyzed beginning from the last one in the list,
# so the first directory listed in "<appname>Config" environment variable
# has higher priority: it means that if some configuration options
- # is found in the next analyzed cofiguration file - it will be replaced
+ # is found in the next analyzed configuration file - it will be replaced
# - The last configuration file which is parsed is user configuration file
# situated in the home directory (if it exists):
# * ~/.config/salome/.<appname>rc[.<version>]" for Linux (e.g. ~/.config/salome/.SalomeApprc.6.4.0)
Warnings
========
-The list of needed modules must be explicited with --modules option
+The list of needed modules must be invoked with --modules option
-It is not possible to use embbedded components, so we must use --standalone option
+It is not possible to use embedded components, so we must use --standalone option
After the python script(s) listed in the --terminal option, ",killall" should
be added : so the processes of Salome will be killed after the execution of
Examples
========
-Sans IHM sans execution de script python (for interactive testing and developping) :
+Sans IHM sans execution de script python (for interactive testing and developing) :
---------------------------------------------
runSalome --terminal --modules=KERNEL,MED,CALCULATOR,COMPONENT --containers=cpp,python --standalone=registry,study,moduleCatalog,cppContainer --killall --logger
bsub < runSalome.batch
See the "bsub" documentation for details (or "man bsub")
-
- <code>--interp=n</code> or <code>-i=n</code>
Number of additional Python interpreters to open, with session
-environment propely set-up.
+environment properly set-up.
*/
exception StudyNameError {};
//! Invalid study comment
exception StudyCommentError {};
-
+
/*!
Determines whether the server has already been loaded or not.
*/
/*! \brief Get a new %UseCaseBuilder.
*/
UseCaseBuilder GetUseCaseBuilder() raises(StudyInvalidReference);
-
+
/*! \brief Clear a study object
*/
void Clear() raises(StudyInvalidReference);
/*! \brief Initialization a study object
*/
void Init() raises(StudyInvalidReference);
-
+
/*! \brief Open a study by url
Reads and activates the structure of the study %Objects.
\param aStudyUrl The path to the study
*/
boolean Open (in URLPath aStudyUrl) raises (SALOME::SALOME_Exception);
-
+
/*! \brief Saving the study in a file (or files).
Saves a study.
\param theASCII If this parameter is True the study will be saved in ASCII format, otherwise in HDF format.
*/
boolean Save(in boolean theMultiFile, in boolean theASCII) raises(StudyInvalidReference);
-
+
/*! \brief Saving the study in a specified file (or files).
Saves the study in a specified file (or files).
- \param aUrl The path to the definite file in whcih the study will be saved
+ \param aUrl The path to the definite file in which the study will be saved
\param theMultiFile If this parameter is True the study will be saved in several files.
\param theASCII If this parameter is True the study will be saved in ASCII format, otherwise in HDF format.
*/
boolean SaveAs(in URLPath aUrl, // if the file already exists
in boolean theMultiFile, // overwrite (as option)
- in boolean theASCII)
- raises(StudyInvalidReference);
+ in boolean theASCII)
+ raises(StudyInvalidReference);
/*!
Returns True, if the given %SObject can be copied to the clipboard.
*/
/*
* - Name : HDFnObjects
- * - Description : returns the number of HDF objets in a HDF group
+ * - Description : returns the number of HDF objects in an HDF group
* - Parameters :
* - fid (IN) : HDF file ID
* - path (IN) : access path to the HDF group in the HDF file
* - Results :
* - if success : number of objects
- * - if failure : -1
- */
+ * - if failure : -1
+ */
hdf_err Num(hdf_idt id,const char *name, void *data);
hdf_err Num(hdf_idt id,const char *name, void *data)
{
int *count;
-
+
count = (int *) data;
(*count)++;
return 0;
}
-
#! /bin/bash
-# This test launches in parallel a greate number of instancies of a usual use case
+# This test launches in parallel a great number of instances of a usual use case
WORKDIR=`mktemp -d`
echo WORKDIR: $WORKDIR
cat > $WORKDIR/command.sh <<< 'echo "OK" > result.txt'
done
# list of error files not empty
ls -l $WORKDIR/*.err | awk '{if ($5 != "0") print $0}'
-exit $exit_code
\ No newline at end of file
+exit $exit_code
*
* After Default Constructor, one needs to initialize ORB.
* \sa init_orb(CORBA::ORB_ptr orb), SALOME_NamingService(CORBA::ORB_ptr orb)
- */
+ */
// ============================================================================
SALOME_NamingService::SALOME_NamingService()
}
// ============================================================================
-/*! \brief Standard Constructor, with ORB reference.
- *
+/*! \brief Standard Constructor, with ORB reference.
+ *
* Initializes the naming service root context
* \param orb CORBA::ORB_ptr arguments
- */
+ */
// ============================================================================
SALOME_NamingService::SALOME_NamingService(CORBA::ORB_ptr orb)
/*! \brief Standard destructor.
*
* The standard destructor does nothing special.
- */
+ */
// ============================================================================
SALOME_NamingService::~SALOME_NamingService()
// ============================================================================
/*! \brief initializes ORB reference and naming service root context.
- *
+ *
* Initializes ORB reference and naming service root context.
* For use after default constructor.
* If param orb is null, the orb is initialized
* \param orb CORBA::ORB_ptr arguments
- */
+ */
// ============================================================================
void SALOME_NamingService::init_orb(CORBA::ORB_ptr orb)
* as an absolute pathname. Else, pathname is taken as a relative
* path, to current context. Prefer absolute pathname, relative
* pathname are not safe, when SALOME_NamingService object is
- * shared or use in multithreaded context.
+ * shared or use in multithreaded context.
* If the path ends with '/', only a directory is created.
* \sa Change_Directory(const char* Path),
* Create_Directory(const char* Path)
* CORBA::Object_ptr Resolve(const char* Path)
- */
+ */
// ============================================================================
void SALOME_NamingService::Register(CORBA::Object_ptr ObjRef,
// A directory is treated (not only an object name)
// test if the directory where ObjRef should be recorded already exists
// If not, create the new context
-
+
try{
CORBA::Object_var obj = _current_context->resolve(context_name);
_current_context = CosNaming::NamingContext::_narrow(obj);
// ============================================================================
/*! \brief get the CORBA object reference associated to a name.
- *
+ *
* get the CORBA object reference associated to a complete name with a path.
- * If the NamingService is out, the exception ServiceUnreachable is thrown
+ * If the NamingService is out, the exception ServiceUnreachable is thrown
* \param Path pathname. If the pathname begins with a '/', pathname is taken
* as an absolute pathname. Else, pathname is taken as a relative
* path, to current context. Prefer absolute pathname, relative
* or nil reference in other cases.
* \sa Register(CORBA::Object_ptr ObjRef, const char* Path),
* Change_Directory(const char* Path)
- */
+ */
// ============================================================================
CORBA::Object_ptr SALOME_NamingService::Resolve(const char* Path)
*
* get the CORBA object reference associated to an incomplete name with a
* path. Look for the first occurrence of name*.
- * If the NamingService is out, the exception ServiceUnreachable is thrown
+ * If the NamingService is out, the exception ServiceUnreachable is thrown
* \param Path pathname under the form "/path/name" (Absolute reference !)
* search the fist reference like "/path(.dir)/name*(.kind)"
* \return the object reference if found, or nil reference.
isOk =true;
else
isOk = Change_Directory(basePath.c_str());
-
+
if (isOk)
{
std::vector<std::string> listElem = list_directory();
std::vector<std::string>::iterator its = listElem.begin();
-
+
while (its != listElem.end())
{
if ((*its).find(name) == 0)
{
return Resolve((*its).c_str());
}
-
+
its++;
}
}
* \param hostname name of the machine on which the component is searched.
* \param containerName name of the container in which the component is
instantiated.
- * \param componentName name of the component we are looking for an existing
+ * \param componentName name of the component we are looking for an existing
instance.
* \param nbproc in case of multi processor machine, container name is
* suffixed with _nbproc.
* \return the object reference
- */
+ */
// ============================================================================
CORBA::Object_ptr
* \param name the name to search.
* \return number of occurrences found.
* \sa Change_Directory(const char* Path)
- */
+ */
// ============================================================================
int SALOME_NamingService::Find(const char* name)
// ============================================================================
/*! \brief Creates a directory (context_name)
*
- * Creates a directory (context_name) relative to the current directory
+ * Creates a directory (context_name) relative to the current directory
* (current context) or relative to the root directory (root context), if
* the path given begins with a '/'.
* If the NamingService is out, the exception ServiceUnreachable is thrown.
* as an absolute pathname. Else, pathname is taken as a relative
* path, to current context. Prefer absolute pathname, relative
* pathname are not safe, when SALOME_NamingService object is
- * shared or use in multithreaded context.
+ * shared or use in multithreaded context.
* \return true if successful
* (creation not strictly guaranteed if true, because Register may
* catch some specific unlikely exception without throw anything
* --- to be corrected ---)
* \sa RegisterCORBA::Object_ptr ObjRef, const char* Path)
- */
+ */
// ============================================================================
bool SALOME_NamingService::Create_Directory(const char* Path) throw(ServiceUnreachable)
}
// --- path must end with '/'
-
+
if (path[path.length()-1] != '/') path += '/';
Register(CORBA::Object::_nil(), path.c_str());
* If the NamingService is out, the exception ServiceUnreachable is thrown.
* \param Path the new current directory
* \return true if the change succeeded
- */
+ */
// ============================================================================
bool SALOME_NamingService::Change_Directory(const char* Path) throw(ServiceUnreachable)
// --- need to resolve directory path
ASSERT(!CORBA::is_nil(current_context));
-
+
if (path[path.length()-1] != '/') path += '/';
// SCRUTE(path);
CosNaming::Name context_name;
context_name,
splitPath,
true);
-
+
// --- Context creation
-
+
try
{
CORBA::Object_var obj = current_context->resolve(context_name);
_current_context = current_context;
changeOK = true;
}
-
+
catch (CosNaming::NamingContext::NotFound& ex)
{
CosNaming::Name n = ex.rest_of_name;
-
+
if (ex.why == CosNaming::NamingContext::missing_node)
MESSAGE( "Change_Directory() : " << (char *) n[0].id
<< " (" << (char *) n[0].kind << ") not found");
<< " (" << (char *) n[0].kind
<< ") is not an object" );
}
-
+
catch (CosNaming::NamingContext::CannotProceed&)
{
INFOS("Change_Directory(): CosNaming::NamingContext::CannotProceed");
}
-
+
catch (CosNaming::NamingContext::InvalidName&)
{
INFOS("Change_Directory(): CosNaming::NamingContext::InvalidName");
}
-
+
catch (CORBA::SystemException&)
{
INFOS("Change_Directory():CORBA::SystemException : unable to contact"
* If the NamingService is out, the exception ServiceUnreachable is thrown.
* \return the path of the current_context
* \sa _current_directory
- */
+ */
// ============================================================================
char *SALOME_NamingService::Current_Directory() throw(ServiceUnreachable)
* List and print via trace all directories and objects in the current
* context. Trace must be activated: compile option _DEBUG_
* If the NamingService is out, the exception ServiceUnreachable is thrown
- */
+ */
// ============================================================================
void SALOME_NamingService::list() throw(ServiceUnreachable)
* If the NamingService is out, the exception ServiceUnreachable is thrown.
* \return list of strings with objects found.
* \sa vector<string> list_directory_recurs()
- */
+ */
// ============================================================================
std::vector<std::string> SALOME_NamingService::list_directory() throw(ServiceUnreachable)
* If the NamingService is out, the exception ServiceUnreachable is thrown.
* \return list of strings with directories found.
* \sa vector<string> list_directory()
- */
+ */
// ============================================================================
std::vector<std::string> SALOME_NamingService::list_subdirs() throw(ServiceUnreachable)
* If the NamingService is out, the exception ServiceUnreachable is thrown.
* \return list of strings with objects found.
* \sa vector<string> list_directory()
- */
+ */
// ============================================================================
std::vector<std::string> SALOME_NamingService::list_directory_recurs()
/*! \brief destroy an entry in naming service.
*
* Destroy an association Path - Object Reference.
- * If the NamingService is out, the exception ServiceUnreachable is thrown
+ * If the NamingService is out, the exception ServiceUnreachable is thrown
* \param Path object path
- */
+ */
// ============================================================================
void SALOME_NamingService::Destroy_Name(const char* Path)
CORBA::string_dup(splitPath[dimension_resultat].c_str());
context_name[0].kind = CORBA::string_dup("object");
//SCRUTE(context_name[0].id);
-
+
_current_context->unbind(context_name);
//MESSAGE("The object " << context_name[0].id << " has been deleted");
}
* Destroy an empty directory in Naming Service.
* If the NamingService is out, the exception ServiceUnreachable is thrown.
* \param Path directory path
- */
+ */
// ============================================================================
void SALOME_NamingService::Destroy_Directory(const char* Path) throw(ServiceUnreachable)
/*! \brief Destroy a directory with its contents.
*
* Destroy the objects associations in a directory, and the directory itself,
- * if there is no subdirectories.
+ * if there is no subdirectories.
* If the NamingService is out, the exception ServiceUnreachable is thrown.
* \param Path the directory path.
- */
+ */
// ============================================================================
void SALOME_NamingService::Destroy_FullDirectory(const char* Path) throw(ServiceUnreachable)
for (unsigned int ind = 0; ind < contList.size(); ind++)
Destroy_Name(contList[ind].c_str());
-
+
Destroy_Directory(Path);
}
}
/*! \brief initialize root context (root directory)
*
* the root context initialisation must be done when the SALOME_NamingService
- * instance is created and before any othe call. See constructors.
- */
+ * instance is created and before any other call. See constructors.
+ */
// ============================================================================
void SALOME_NamingService::_initialize_root_context()
* if false, final object (if any) is included in
* context_name.
* \return dimension of context_name
- */
+ */
// ============================================================================
int
if (onlyDir) // only directory part
{
dim = splitPath.size()-1; // omit final object
- if (endWithDelim) // unless the path ends with a delimiter
+ if (endWithDelim) // unless the path ends with a delimiter
dim++;
endWithDelim = true;
}
*
* \param name the name to search.
* \param occurence_number number of occurrence already found (incremented)
- */
+ */
// ============================================================================
void SALOME_NamingService::_Find(const char* name,
while (binding_iterator->next_one(binding))
{
CosNaming::Name bindingName = binding->binding_name;
-
+
if (binding->binding_type == CosNaming::ncontext)
{
// --- We work on a directory,
// the search should be done in this directory
-
+
Change_Directory(bindingName[0].id);
_Find(name, occurence_number);
-
+
// --- We'll go back to the initial context
-
+
_current_context = ref_context ;
}
-
+
else if (binding->binding_type == CosNaming::nobject)
{
// --- We work on an object...
-
+
if (!strcmp( bindingName[0].id, name))
{
//MESSAGE("One occurrence was found");
occurence_number++;
-
+
// --- We keep in memory the directory where
// one occurrence was found
-
+
found_context = _current_context ;
}
}
}
-
+
binding_iterator->destroy();
}
// --- We go to the last directory where an occurrence was found
// ============================================================================
/*! \brief find the current directory path.
- *
+ *
* Parse the naming service tree to find the current context and give the
* associated directory path (relative to root context).
- * \param splitPath
+ * \param splitPath
* \param lengthResult
* \param contextToFind
* \param notFound
- */
+ */
// ============================================================================
void
* \param relativeSubDir The directory relative to absCurDirectory in which
* the objects are found.
* \param absCurDirectory The current directory, absolute path
- */
+ */
// ============================================================================
void SALOME_NamingService::_list_directory_recurs(std::vector<std::string>& myList,
{
return _orb;
}
-
bool Engines_Parallel_Component_i::_isMultiInstance = false;
//=============================================================================
-/*!
+/*!
* Standard Constructor for generic Component, used in derived class
* Connection to Registry and Notification
* \param orb Object Request broker given by Container
//=============================================================================
Engines_Parallel_Component_i::Engines_Parallel_Component_i(CORBA::ORB_ptr orb, char * ior, int rank,
- PortableServer::POA_ptr poa,
- PortableServer::ObjectId * contId,
+ PortableServer::POA_ptr poa,
+ PortableServer::ObjectId * contId,
const char *instanceName,
const char *interfaceName,
bool notif,
bool regist) :
- InterfaceParallel_impl(orb,ior,rank),
+ InterfaceParallel_impl(orb,ior,rank),
Engines::EngineComponent_serv(orb,ior,rank),
Engines::EngineComponent_base_serv(orb,ior,rank),
Engines::Parallel_Component_serv(orb,ior,rank),
}
//=============================================================================
-/*!
+/*!
* Destructor: call Container for decrement of instances count.
* When instances count falls to 0, the container tries to remove the
* component library (dlclose)
}
//=============================================================================
-/*!
+/*!
* CORBA method: return name of the instance, unique in this Container
*/
//=============================================================================
}
//=============================================================================
-/*!
+/*!
* CORBA method: return name of the component class
*/
//=============================================================================
}
//=============================================================================
-/*!
+/*!
* CORBA method: Test if instance is alive and responds
*/
//=============================================================================
}
//=============================================================================
-/*!
+/*!
* 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
}
//=============================================================================
-/*!
+/*!
* CORBA method: return CORBA reference of the Container
*
*/
}
//=============================================================================
-/*!
- * CORBA method:
- * Gives a sequence of (key=string,value=any) to the component.
+/*!
+ * 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.
+ * This map is for use by derived classes.
* \param dico sequence of (key=string,value=any)
*/
//=============================================================================
}
//=============================================================================
-/*!
- * CORBA method:
+/*!
+ * CORBA method:
* returns a previously stored map (key=string,value=any) as a sequence.
* (see setProperties)
*/
}
//=============================================================================
-/*!
+/*!
* CORBA method: used by Supervision to give names to this instance
*/
//=============================================================================
{
_graphName = graphName;
_nodeName = nodeName;
- MESSAGE("Engines_Parallel_Component_i::Names( '" << _graphName << "' , '"
+ MESSAGE("Engines_Parallel_Component_i::Names( '" << _graphName << "' , '"
<< _nodeName << "' )");
}
//=============================================================================
-/*!
+/*!
* CORBA method: used in Supervision
*/
//=============================================================================
-bool Engines_Parallel_Component_i::Kill_impl()
+bool Engines_Parallel_Component_i::Kill_impl()
{
// MESSAGE("Engines_Parallel_Component_i::Kill_i() pthread_t "<< pthread_self()
// << " pid " << getpid() << " instanceName "
}
//=============================================================================
-/*!
+/*!
* CORBA method: used in Supervision
*/
//=============================================================================
<< " machineName " << Kernel_Utils::GetHostname().c_str()<< " _id " << hex << _id
<< dec << " _ThreadId " << _ThreadId );
#endif
-
+
bool RetVal = false ;
#ifndef WIN32
}
//=============================================================================
-/*!
+/*!
* CORBA method: used in Supervision
*/
//=============================================================================
{
return false ;
}
- else
+ else
{
#ifndef WIN32
RetVal = Killer( _ThreadId ,SIGINT ) ;
}
//=============================================================================
-/*!
+/*!
* CORBA method: used in Supervision
*/
//=============================================================================
if ( _ThreadId > 0 && pthread_self().p != _ThreadId->p )
#endif
{
- if ( _Sleeping )
+ if ( _Sleeping )
{
_Sleeping = false ;
RetVal = true ;
}
//=============================================================================
-/*!
- * CORBA method:
+/*!
+ * CORBA method:
*/
//=============================================================================
// << _serviceName << " " << cpu << std::endl ;
}
}
- else
+ else
{
cpu = _ThreadCpuUsed ;
// std::cout << pthread_self() << " Engines_Parallel_Component_i::CpuUsed_impl "
//=============================================================================
-/*!
+/*!
* C++ method: return Container Servant
*/
//=============================================================================
}
//=============================================================================
-/*!
+/*!
* C++ method: return CORBA instance id, the id is set in derived class
* constructor, when instance is activated.
*/
}
//=============================================================================
-/*!
+/*!
* C++ method: used by derived classes for supervision
*/
//=============================================================================
}
//=============================================================================
-/*!
+/*!
* C++ method: used by derived classes for supervision
*/
//=============================================================================
}
//=============================================================================
-/*!
+/*!
* C++ method: -- CHECK IF USED --
*/
//=============================================================================
}
//=============================================================================
-/*!
+/*!
* C++ method: -- CHECK IF USED --
*/
//=============================================================================
}
//=============================================================================
-/*!
+/*!
* C++ method: used in Supervision (see kill_impl)
*/
//=============================================================================
perror("Killer pthread_kill error") ;
return false ;
}
- else
+ else
{
#ifndef WIN32
MESSAGE(pthread_self() << "Killer : ThreadId " << ThreadId
}
//=============================================================================
-/*!
+/*!
* C++ method:
- */
+ */
//=============================================================================
void SetCpuUsed()
}
//=============================================================================
-/*!
+/*!
* C++ method:
*/
//=============================================================================
void Engines_Parallel_Component_i::SetCurCpu()
{
_ThreadCpuUsed = CpuUsed() ;
- // MESSAGE(pthread_self() <<
+ // MESSAGE(pthread_self() <<
// " Engines_Parallel_Component_i::SetCurCpu() _ThreadCpuUsed " << _ThreadCpuUsed) ;
}
//=============================================================================
-/*!
+/*!
* C++ method:
*/
//=============================================================================
else
{
// std::cout << pthread_self() << "Engines_Parallel_Component_i::CpuUsed _ThreadId "
- // << _ThreadId << " " << _serviceName<< " _StartUsed "
+ // << _ThreadId << " " << _serviceName<< " _StartUsed "
// << _StartUsed << std::endl ;
}
#else
}
//=============================================================================
-/*!
+/*!
* C++ method: Send message to event channel
*/
//=============================================================================
}
//=============================================================================
-/*!
+/*!
* C++ method: return standard library name built on component name
*/
//=============================================================================
#else
std::string ret=componentName;
ret+="Engine.dll";
-#endif
+#endif
return ret;
}
//=============================================================================
-/*!
+/*!
* C++ method: DumpPython default implementation
*/
//=============================================================================
strcpy(aBuffer, aScript);
CORBA::Octet* anOctetBuf = (CORBA::Octet*)aBuffer;
int aBufferSize = strlen(aBuffer)+1;
- Engines::TMPFile_var aStreamFile = new Engines::TMPFile(aBufferSize, aBufferSize, anOctetBuf, 1);
+ Engines::TMPFile_var aStreamFile = new Engines::TMPFile(aBufferSize, aBufferSize, anOctetBuf, 1);
isValidScript = true;
- return aStreamFile._retn();
+ return aStreamFile._retn();
}
-Engines::Salome_file_ptr
-Engines_Parallel_Component_i::setInputFileToService(const char* service_name,
- const char* Salome_file_name)
+Engines::Salome_file_ptr
+Engines_Parallel_Component_i::setInputFileToService(const char* service_name,
+ const char* Salome_file_name)
{
// Try to find the service, if it doesn't exist, we add it.
_Service_file_map_it = _Input_Service_file_map.find(service_name);
_t_Salome_file_map * _map = _Input_Service_file_map[service_name];
_t_Proxy_Salome_file_map * _proxy_map = _Proxy_Input_Service_file_map[service_name];
_t_IOR_Proxy_Salome_file_map * _IOR_proxy_map = _IOR_Proxy_Input_Service_file_map[service_name];
-
+
pthread_mutex_lock(deploy_mutex);
std::string proxy_ior;
if (getMyRank() == 0) {
proxy = new Engines::Parallel_Salome_file_proxy_impl(CORBA::ORB::_duplicate(_orb),
new paco_omni_fabrique());
- proxy->copyGlobalContext(this);
+ proxy->copyGlobalContext(this);
PaCO::PacoTopology_t serveur_topo;
serveur_topo.total = getTotalNode();
proxy->setTopology(serveur_topo);
- // We register the CORBA objet into the POA
+ // We register the CORBA object into the POA
CORBA::Object_ptr proxy_ref = proxy->_this();
// We send the reference to all the nodes...
- Engines::Parallel_Component_var component_proxy =
+ Engines::Parallel_Component_var component_proxy =
Engines::Parallel_Component::_narrow(InterfaceParallel_impl::_proxy);
component_proxy->send_parallel_proxy_object(proxy_ref);
// into the proxy.
for (int i = 0; i < getTotalNode(); i++) {
if (i == getMyRank()) {
- Parallel_Salome_file_i * servant =
- new Parallel_Salome_file_i(CORBA::ORB::_duplicate(_orb),
+ Parallel_Salome_file_i * servant =
+ new Parallel_Salome_file_i(CORBA::ORB::_duplicate(_orb),
proxy_ior.c_str(),
i);
- servant->copyGlobalContext(this);
-
- // We register the CORBA objet into the POA
+ servant->copyGlobalContext(this);
+
+ // We register the CORBA object into the POA
servant->POA_PaCO::InterfaceParallel::_this();
// Register the servant
return Engines::Salome_file::_narrow(proxy_ref);
}
-Engines::Salome_file_ptr
-Engines_Parallel_Component_i::setOutputFileToService(const char* service_name,
- const char* Salome_file_name)
+Engines::Salome_file_ptr
+Engines_Parallel_Component_i::setOutputFileToService(const char* service_name,
+ const char* Salome_file_name)
{
// Try to find the service, if it doesn't exist, we add it.
_Service_file_map_it = _Output_Service_file_map.find(service_name);
_t_Salome_file_map * _map = _Output_Service_file_map[service_name];
_t_Proxy_Salome_file_map * _proxy_map = _Proxy_Output_Service_file_map[service_name];
_t_IOR_Proxy_Salome_file_map * _IOR_proxy_map = _IOR_Proxy_Output_Service_file_map[service_name];
-
+
pthread_mutex_lock(deploy_mutex);
std::string proxy_ior;
if (getMyRank() == 0) {
proxy = new Engines::Parallel_Salome_file_proxy_impl(CORBA::ORB::_duplicate(_orb),
new paco_omni_fabrique());
- proxy->copyGlobalContext(this);
+ proxy->copyGlobalContext(this);
PaCO::PacoTopology_t serveur_topo;
serveur_topo.total = getTotalNode();
proxy->setTopology(serveur_topo);
- // We register the CORBA objet into the POA
+ // We register the CORBA object into the POA
CORBA::Object_ptr proxy_ref = proxy->_this();
// We send the reference to all the nodes...
- Engines::Parallel_Component_var component_proxy =
+ Engines::Parallel_Component_var component_proxy =
Engines::Parallel_Component::_narrow(InterfaceParallel_impl::_proxy);
component_proxy->send_parallel_proxy_object(proxy_ref);
// into the proxy.
for (int i = 0; i < getTotalNode(); i++) {
if (i == getMyRank()) {
- Parallel_Salome_file_i * servant =
- new Parallel_Salome_file_i(CORBA::ORB::_duplicate(_orb),
+ Parallel_Salome_file_i * servant =
+ new Parallel_Salome_file_i(CORBA::ORB::_duplicate(_orb),
proxy_ior.c_str(),
i);
- servant->copyGlobalContext(this);
-
- // We register the CORBA objet into the POA
+ servant->copyGlobalContext(this);
+
+ // We register the CORBA object into the POA
servant->POA_PaCO::InterfaceParallel::_this();
// Register the servant
return Engines::Salome_file::_narrow(proxy_ref);
}
-Engines::Salome_file_ptr
-Engines_Parallel_Component_i::getInputFileToService(const char* service_name,
- const char* Salome_file_name)
+Engines::Salome_file_ptr
+Engines_Parallel_Component_i::getInputFileToService(const char* service_name,
+ const char* Salome_file_name)
{
// Try to find the service, if it doesn't exist, we throw an exception.
_Proxy_Service_file_map_it = _Proxy_Input_Service_file_map.find(service_name);
return Sfile->_this();
}
-Engines::Salome_file_ptr
-Engines_Parallel_Component_i::getOutputFileToService(const char* service_name,
- const char* Salome_file_name)
+Engines::Salome_file_ptr
+Engines_Parallel_Component_i::getOutputFileToService(const char* service_name,
+ const char* Salome_file_name)
{
// Try to find the service, if it doesn't exist, we throw an exception.
_Proxy_Service_file_map_it = _Proxy_Output_Service_file_map.find(service_name);
}
-void
-Engines_Parallel_Component_i::checkInputFilesToService(const char* service_name)
+void
+Engines_Parallel_Component_i::checkInputFilesToService(const char* service_name)
{
// Try to find the service, if it doesn't exist, nothing to do.
_Proxy_Service_file_map_it = _Proxy_Input_Service_file_map.find(service_name);
}
}
-void
-Engines_Parallel_Component_i::checkOutputFilesToService(const char* service_name)
+void
+Engines_Parallel_Component_i::checkOutputFilesToService(const char* service_name)
{
// Try to find the service, if it doesn't exist, nothing to do.
_Proxy_Service_file_map_it = _Proxy_Output_Service_file_map.find(service_name);
}
//=============================================================================
-/*!
+/*!
* C++ method: Used by the Parallel Component to deploy a Parallel Salome_file
- */
+ */
//=============================================================================
-void
+void
Engines_Parallel_Component_i::send_parallel_proxy_object(CORBA::Object_ptr proxy_ref) {
_proxy = _orb->object_to_string(proxy_ref);
}
//=============================================================================
-/*!
+/*!
* C++ method: Used by the Parallel Component to deploy a Parallel Salome_file
- */
+ */
//=============================================================================
-void
+void
Engines_Parallel_Component_i::wait_parallel_object_proxy() {
char * proxy = NULL;
proxy = get_parallel_proxy_object();
}
//=============================================================================
-/*!
+/*!
* C++ method: Used by the Parallel Component to deploy a Parallel Salome_file
- */
+ */
//=============================================================================
-char *
+char *
Engines_Parallel_Component_i::get_parallel_proxy_object() {
return _proxy;
}
//=============================================================================
-/*!
+/*!
* C++ method: used to configure the Salome_file into the runtime.
* \param service_name name of the service that use this Salome_file
* \param file_port_name name of the Salome_file
void
Engines_Parallel_Component_i::configureSalome_file(std::string service_name,
std::string file_port_name,
- Engines::Parallel_Salome_file_proxy_impl * file)
+ Engines::Parallel_Salome_file_proxy_impl * file)
{
// By default this method does nothing
}
//Check method GetPixMap
CPPUNIT_ASSERT(_attr->GetPixMap() == pixmap);
- //Check empty PixMap assigning and retreival
+ //Check empty PixMap assigning and retrieval
_attr->SetPixMap("");
CPPUNIT_ASSERT(_attr->GetPixMap() == "");
//Check method GetObject
CPPUNIT_ASSERT(_attr->GetObject() == pyobj);
- //Check setting and retreival of empty object
+ //Check setting and retrieval of empty object
_attr->SetObject("", true);
CPPUNIT_ASSERT(_attr->GetObject() == "" && _attr->IsScript());
// Set "C" locale temporarily to avoid possible localization problems
Kernel_Utils::Localizer loc;
- // HDF File will be composed of differents part :
+ // HDF File will be composed of different part :
// * For each ComponentDataType, all data created by the component
// Information in data group hdf_group_datacomponent
// * Study Structure -> Exactly what is contained in Document
}
}
}
- else {
- aDriver = aFactory->GetDriverByIOR(IOREngine);
- }
- aMapTypeDriver[aCompType] = aDriver;
+ else {
+ aDriver = aFactory->GetDriverByIOR(IOREngine);
+ }
+ aMapTypeDriver[aCompType] = aDriver;
}
catch(...) {
_errorCode = "Can not restore information to resave it";
URL(aStudyUrl);
// To change for Save
- // Do not have to do a new file but just a Open??? Rewrite all information after erasing evrything??
+ // Do not have to do a new file but just a Open??? Rewrite all information after erasing everything??
hdf_file = new HDFfile((char*)aUrl.c_str());
hdf_file->CreateOnDisk();
std::string componentDataType = sco.ComponentDataType();
std::string IOREngine;
if (sco.ComponentIOR(IOREngine)) {
- // Engine should be already in the map as it was to added before
- SALOMEDSImpl_Driver* Engine = aMapTypeDriver[componentDataType];
+ // Engine should be already in the map as it was to added before
+ SALOMEDSImpl_Driver* Engine = aMapTypeDriver[componentDataType];
if (Engine != NULL) {
SALOMEDSImpl_TMPFile* aStream = NULL;
long length = 0;
isOk = false;
std::stringstream sfp2;
-
+
//Output the Python script generated by the component in the newly created file.
if ( isMultiFile )
sfp2 << GetDumpStudyComment( aCompType.c_str() ) << std::endl;
else
sfp2 << GetComponentHeader( aCompType.c_str() ) << std::endl;
sfp2 << aStream->Data();
-
+
if ( isMultiFile ) {
//Create a file that will contain the component specific script
std::fstream fp2;
aScriptName += theBaseName;
aScriptName += "_";
aScriptName += aCompType;
-
+
aFileName += aScriptName+ std::string(".py");
aSeqOfFileNames.push_back(aFileName);
-
+
fp2.open(aFileName.c_str(), std::ios::out);
-
+
#ifdef WIN32
isOpened = fp2.is_open();
#else
isOpened = fp2.rdbuf()->is_open();
#endif
-
+
if(!isOpened) {
_errorCode = std::string("Can't create a file ")+aFileName;
SALOMEDSImpl_Tool::RemoveTemporaryFiles(thePath, aSeqOfFileNames, false);
return false;
}
-
+
// replace '\t' symbols
fp2 << replace_tabs( sfp2.str() );
// replace '\t' symbols
fp << replace_tabs( sfp.str() );
-
+
fp.close();
return isOk;
pass the mofification reason
*/
//============================================================================
-bool SALOMEDSImpl_Study::modifySO_Notification (const SALOMEDSImpl_SObject& theSObject, int reason)
+bool SALOMEDSImpl_Study::modifySO_Notification (const SALOMEDSImpl_SObject& theSObject, int reason)
{
if(_notifier)
return _notifier->modifySO_Notification(theSObject, reason);
* Purpose : register a notifier
*/
//============================================================================
-void SALOMEDSImpl_Study::setNotifier(SALOMEDSImpl_AbstractCallback* notifier)
+void SALOMEDSImpl_Study::setNotifier(SALOMEDSImpl_AbstractCallback* notifier)
{
_notifier=notifier;
}
theGroup->CloseOnDisk();
}
-