-// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
#include "Batch_MpiImpl.hxx"
#include "Batch_BatchManager.hxx"
#include "Batch_EmulationException.hxx"
+#include "Batch_CommunicationProtocol.hxx"
#include <string>
class Job;
- class BATCH_EXPORT BatchManager_eClient : public BatchManager
+ class BATCH_EXPORT BatchManager_eClient : virtual public BatchManager
{
public:
// Constructeur et destructeur
BatchManager_eClient(const Batch::FactBatchManager * parent, const char* host="localhost",
- const char* protocol="ssh", const char* mpiImpl="mpich1");
+ const char * username="",
+ CommunicationProtocolType protocolType = SSH, const char* mpiImpl="mpich1");
virtual ~BatchManager_eClient();
- void importOutputFiles( const Job & job, const std::string directory ) throw(EmulationException);
+ virtual void importOutputFiles( const Job & job, const std::string directory );
+ bool importDumpStateFile( const Job & job, const std::string directory );
protected:
- std::string _protocol; // protocol to access _hostname
- std::string _username; // username to access _hostname
+ const CommunicationProtocol & _protocol; // protocol to access _hostname
+ const std::string _username; // username to access _hostname
MpiImpl *_mpiImpl; // Mpi implementation to launch executable in batch script
- std::string createAndOpenTemporaryFile(std::ofstream & outputStream) const;
- MpiImpl* FactoryMpiImpl(std::string mpiImpl) throw(EmulationException);
+ std::string generateTemporaryFileName(const std::string & prefix);
+ std::string createAndOpenTemporaryFile(const std::string & prefix, std::ofstream & outputStream);
+ MpiImpl* FactoryMpiImpl(std::string mpiImpl);
void exportInputFiles(const Job & job);
+ const std::string & getTmpDir();
private:
+ std::string tmpDirName; // Path to the directory for temporary files
};