X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FTools%2Fpadder%2Fmeshjob%2Fimpl%2FMeshJobManager_i.cxx;h=9f951022550af9bbb8ccde20c22220fdde98d656;hp=accf0ccb704294f8f330447acef990e3ca8cff8e;hb=85f0b9ca1604fd6f50e91388d3ce04769c5b03e4;hpb=5482b99d07dd144fd5be299e722f39a81de3b5be diff --git a/src/Tools/padder/meshjob/impl/MeshJobManager_i.cxx b/src/Tools/padder/meshjob/impl/MeshJobManager_i.cxx index accf0ccb7..9f9510225 100644 --- a/src/Tools/padder/meshjob/impl/MeshJobManager_i.cxx +++ b/src/Tools/padder/meshjob/impl/MeshJobManager_i.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2011-2015 EDF R&D +// Copyright (C) 2011-2016 EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -129,6 +129,7 @@ MeshJobManager_i::~MeshJobManager_i() { #include // to get _mkdir #else #include // to get basename +#include // to get basename - as per posix #include // to get mkdir #include // to get mkdir options #endif @@ -166,8 +167,9 @@ static std::string REMOTE_WORKDIR("/tmp/spadder.remote.workdir."+USER); * * */ -const char * MeshJobManager_i::_writeDataFile(std::vector listConcreteMesh, - std::vector listSteelBarMesh) { +const char * MeshJobManager_i::_writeDataFile(std::vector listConcreteMesh, + std::vector listSteelBarMesh, + const MESHJOB::MeshJobParameterList & meshJobParameterList) { #ifdef WIN32 _mkdir(LOCAL_INPUTDIR.c_str()); #else @@ -211,15 +213,23 @@ const char * MeshJobManager_i::_writeDataFile(std::vectorc_str(); } /*! - * This function creates a shell script that runs padder whith the + * This function creates a shell script that runs padder with the * specified data file, and returns the path of the created script * file. The config id is used to retrieve the path to the binary file * and other required files. @@ -242,7 +252,7 @@ const char* MeshJobManager_i::_writeScriptFile(const char * dataFileName, const _splitpath( dataFileName, NULL, NULL, fname, NULL ); const char* bname = &fname[0]; #else - const char* bname = basename(dataFileName); + const char* bname = basename(const_cast(dataFileName)); #endif @@ -280,17 +290,18 @@ bool MeshJobManager_i::configure(const char *configId, long MeshJobManager_i::JOBID_UNDEFINED = -1; /*! Initialize a smesh computation job and return the job identifier */ -CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobParameterList & meshJobParameterList, +CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobFileList & meshJobFileList, + const MESHJOB::MeshJobParameterList & meshJobParameterList, const char * configId) { beginService("MeshJobManager_i::initialize"); // // We first analyse the CORBA sequence to store data in C++ vectors // - std::vector listConcreteMesh; - std::vector listSteelBarMesh; - for(CORBA::ULong i=0; i listConcreteMesh; + std::vector listSteelBarMesh; + for(CORBA::ULong i=0; i_writeDataFile(listConcreteMesh, listSteelBarMesh); + const char * dataFilename = this->_writeDataFile(listConcreteMesh, listSteelBarMesh, meshJobParameterList); LOG("dataFilename = " << dataFilename); const char * scriptFilename = this->_writeScriptFile(dataFilename, configId); LOG("scriptFilename = " << scriptFilename); @@ -360,7 +371,7 @@ CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobParameterList & m // Specification of the working spaces: // // - local_directory: can be used to specify where to find the input - // files on the local resource. It's optionnal if you specify the + // files on the local resource. It's optional if you specify the // absolute path name of input files. // // - result_directory: must be used to specify where to download the @@ -407,7 +418,7 @@ CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobParameterList & m } } - // Then, we have to specify the existance of an output filename. The + // Then, we have to specify the existence of an output filename. The // path is supposed to be a path on the remote resource, i.e. where // the job is executed. jobParameters->out_files.length(1); @@ -461,14 +472,14 @@ CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobParameterList & m // account not only the data that could be loaded by the batch // process but also the linked dynamic library. // - // A possible problem, for exemple in the case where you use the ssh + // A possible problem, for example in the case where you use the ssh // emulation of a batch system, is to get an error message as below // when libBatch try to run the ssh command: // // ## /usr/bin/ssh: error while loading shared libraries: libcrypto.so.0.9.8: failed // ## to map segment from shared object: Cannot allocate memory // - // In this exemple, the mem_mb was set to 1MB, value that is not + // In this example, the mem_mb was set to 1MB, value that is not // sufficient to load the dynamic libraries linked to the ssh // executable (libcrypto.so in the error message). //