From 220f728c01c152e0fba2ce62f6dbe2daf15bcb4d Mon Sep 17 00:00:00 2001 From: dutka Date: Thu, 13 Jan 2005 14:39:52 +0000 Subject: [PATCH] Fix namespace bug into Batch subsystem --- src/Batch/Batch_BatchManager.hxx | 24 +++++----- src/Batch/Batch_BatchManagerCatalog.hxx | 6 +-- src/Batch/Batch_FactBatchManager.hxx | 2 +- src/Batch/Batch_FactBatchManager_PBS.cxx | 2 +- src/Batch/Batch_FactBatchManager_PBS.hxx | 2 +- src/Batch/Batch_Job.hxx | 18 ++++---- src/Batch/Batch_JobId.hxx | 18 ++++---- src/Batch/Batch_JobInfo.hxx | 12 ++--- src/Batch_SWIG/libBatch_Swig.i | 1 - src/Batch_SWIG/libBatch_Swig_exception.i | 4 +- src/Batch_SWIG/libBatch_Swig_typemap.i | 56 ++++++++++++------------ 11 files changed, 72 insertions(+), 73 deletions(-) diff --git a/src/Batch/Batch_BatchManager.hxx b/src/Batch/Batch_BatchManager.hxx index c132a575a..60d80e376 100644 --- a/src/Batch/Batch_BatchManager.hxx +++ b/src/Batch/Batch_BatchManager.hxx @@ -29,28 +29,28 @@ namespace Batch { public: // Constructeur et destructeur //BatchManager(std::string host="localhost") throw(InvalidArgumentException); // connexion a la machine host - BatchManager(const FactBatchManager * parent, const char * host="localhost") throw(InvalidArgumentException); // connexion a la machine host + BatchManager(const Batch::FactBatchManager * parent, const char * host="localhost") throw(InvalidArgumentException); // connexion a la machine host virtual ~BatchManager(); virtual std::string __repr__() const; // Recupere le l'identifiant d'un job deja soumis au BatchManager //virtual const JobId getJobIdByReference(const std::string & ref); - virtual const JobId getJobIdByReference(const char * ref); + virtual const Batch::JobId getJobIdByReference(const char * ref); // Methodes pour le controle des jobs : virtuelles pures - virtual const JobId submitJob(const Job & job) = 0; // soumet un job au gestionnaire - virtual void deleteJob(const JobId & jobid) = 0; // retire un job du gestionnaire - virtual void holdJob(const JobId & jobid) = 0; // suspend un job en file d'attente - virtual void releaseJob(const JobId & jobid) = 0; // relache un job suspendu - virtual void alterJob(const JobId & jobid, const Parametre & param, const Environnement & env) = 0; // modifie un job en file d'attente - virtual void alterJob(const JobId & jobid, const Parametre & param) = 0; // modifie un job en file d'attente - virtual void alterJob(const JobId & jobid, const Environnement & env) = 0; // modifie un job en file d'attente - virtual JobInfo queryJob(const JobId & jobid) = 0; // renvoie l'etat du job + virtual const Batch::JobId submitJob(const Batch::Job & job) = 0; // soumet un job au gestionnaire + virtual void deleteJob(const Batch::JobId & jobid) = 0; // retire un job du gestionnaire + virtual void holdJob(const Batch::JobId & jobid) = 0; // suspend un job en file d'attente + virtual void releaseJob(const Batch::JobId & jobid) = 0; // relache un job suspendu + virtual void alterJob(const Batch::JobId & jobid, const Batch::Parametre & param, const Batch::Environnement & env) = 0; // modifie un job en file d'attente + virtual void alterJob(const Batch::JobId & jobid, const Batch::Parametre & param) = 0; // modifie un job en file d'attente + virtual void alterJob(const Batch::JobId & jobid, const Batch::Environnement & env) = 0; // modifie un job en file d'attente + virtual Batch::JobInfo queryJob(const Batch::JobId & jobid) = 0; // renvoie l'etat du job protected: std::string _hostname; // serveur ou tourne le BatchManager - std::map< const std::string, const JobId * > jobid_map; // table des jobs deja soumis - const FactBatchManager * _parent; + std::map< const std::string, const Batch::JobId * > jobid_map; // table des jobs deja soumis + const Batch::FactBatchManager * _parent; private: diff --git a/src/Batch/Batch_BatchManagerCatalog.hxx b/src/Batch/Batch_BatchManagerCatalog.hxx index 1857fa059..46daa59d5 100644 --- a/src/Batch/Batch_BatchManagerCatalog.hxx +++ b/src/Batch/Batch_BatchManagerCatalog.hxx @@ -26,9 +26,9 @@ namespace Batch { // Destructeur virtual ~BatchManagerCatalog(); - static FactBatchManager * getFactBatchManager(const char * type); - static void addFactBatchManager(const char * type, FactBatchManager * pFBM); - virtual FactBatchManager * operator() (const char * type) const; + static Batch::FactBatchManager * getFactBatchManager(const char * type); + static void addFactBatchManager(const char * type, Batch::FactBatchManager * pFBM); + virtual Batch::FactBatchManager * operator() (const char * type) const; virtual std::map * dict() const; virtual std::string __repr__() const; diff --git a/src/Batch/Batch_FactBatchManager.hxx b/src/Batch/Batch_FactBatchManager.hxx index 2a662d73c..389976e11 100644 --- a/src/Batch/Batch_FactBatchManager.hxx +++ b/src/Batch/Batch_FactBatchManager.hxx @@ -24,7 +24,7 @@ namespace Batch { FactBatchManager(const std::string & type); virtual ~FactBatchManager(); - virtual BatchManager * operator() (const char * hostname) const = 0; + virtual Batch::BatchManager * operator() (const char * hostname) const = 0; std::string getType() const; std::string __repr__() const; diff --git a/src/Batch/Batch_FactBatchManager_PBS.cxx b/src/Batch/Batch_FactBatchManager_PBS.cxx index d2ded29ca..81ba4901c 100644 --- a/src/Batch/Batch_FactBatchManager_PBS.cxx +++ b/src/Batch/Batch_FactBatchManager_PBS.cxx @@ -30,7 +30,7 @@ namespace Batch { } // Functor - BatchManager_PBS * FactBatchManager_PBS::operator() (const char * hostname) const + BatchManager * FactBatchManager_PBS::operator() (const char * hostname) const { MESSAGE("Building new BatchManager_PBS on host '" << hostname << "'"); return new BatchManager_PBS(this, hostname); diff --git a/src/Batch/Batch_FactBatchManager_PBS.hxx b/src/Batch/Batch_FactBatchManager_PBS.hxx index fdf053c1b..1ee9e50ad 100644 --- a/src/Batch/Batch_FactBatchManager_PBS.hxx +++ b/src/Batch/Batch_FactBatchManager_PBS.hxx @@ -23,7 +23,7 @@ namespace Batch { FactBatchManager_PBS(); virtual ~FactBatchManager_PBS(); - virtual BatchManager_PBS * operator() (const char * hostname) const; + virtual BatchManager * operator() (const char * hostname) const; protected: diff --git a/src/Batch/Batch_Job.hxx b/src/Batch/Batch_Job.hxx index 66fdf0494..7f2ab9abb 100644 --- a/src/Batch/Batch_Job.hxx +++ b/src/Batch/Batch_Job.hxx @@ -21,21 +21,21 @@ namespace Batch { public: // Constructeurs et destructeur Job(); - Job(Parametre param); - Job(Environnement env); - Job(Parametre param, Environnement env); + Job(Batch::Parametre param); + Job(Batch::Environnement env); + Job(Batch::Parametre param, Batch::Environnement env); virtual ~Job() {} // Operateur pour l'affichage sur un stream friend std::ostream & operator <<(std::ostream & os, const Job & job); // Accesseurs - Parametre getParametre() const; - void setParametre(const Parametre &); + Batch::Parametre getParametre() const; + void setParametre(const Batch::Parametre &); // Accesseurs - Environnement getEnvironnement() const; - void setEnvironnement(const Environnement &); + Batch::Environnement getEnvironnement() const; + void setEnvironnement(const Batch::Environnement &); // Methodes pour l'interfacage avec Python (SWIG) // TODO : supprimer ces methodes et transferer leur definitions dans SWIG @@ -43,8 +43,8 @@ namespace Batch { std::string __repr__() const { return __str__(); }; // SWIG : affichage en Python protected: - Parametre _param; // table des parametres batch du job - Environnement _env; // table des variables d'environnement + Batch::Parametre _param; // table des parametres batch du job + Batch::Environnement _env; // table des variables d'environnement private: diff --git a/src/Batch/Batch_JobId.hxx b/src/Batch/Batch_JobId.hxx index be14e7f9e..e8cfe50d1 100644 --- a/src/Batch/Batch_JobId.hxx +++ b/src/Batch/Batch_JobId.hxx @@ -28,13 +28,13 @@ namespace Batch { virtual ~JobId(); // Constructeur avec le pointeur sur le BatchManager associe et avec une reference - JobId(BatchManager *, std::string ref); + JobId(Batch::BatchManager *, std::string ref); // Operateur d'affectation entre objets - virtual JobId & operator =(const JobId &); + virtual JobId & operator =(const Batch::JobId &); // Constructeur par recopie - JobId(const JobId &); + JobId(const Batch::JobId &); // Accesseur pour la reference interne virtual std::string getReference() const; @@ -43,11 +43,11 @@ namespace Batch { virtual void deleteJob() const; // retire un job du gestionnaire virtual void holdJob() const; // suspend un job en file d'attente virtual void releaseJob() const; // relache un job suspendu - virtual void alterJob(const Parametre & param, const Environnement & env) const; // modifie un job en file d'attente - virtual void alterJob(const Parametre & param) const; // modifie un job en file d'attente - virtual void alterJob(const Environnement & env) const; // modifie un job en file d'attente - virtual void setParametre(const Parametre & param) { return alterJob(param); } // modifie un job en file d'attente - virtual void setEnvironnement(const Environnement & env) { return alterJob(env); } // modifie un job en file d'attente + virtual void alterJob(const Batch::Parametre & param, const Batch::Environnement & env) const; // modifie un job en file d'attente + virtual void alterJob(const Batch::Parametre & param) const; // modifie un job en file d'attente + virtual void alterJob(const Batch::Environnement & env) const; // modifie un job en file d'attente + virtual void setParametre(const Batch::Parametre & param) { return alterJob(param); } // modifie un job en file d'attente + virtual void setEnvironnement(const Batch::Environnement & env) { return alterJob(env); } // modifie un job en file d'attente virtual Batch::JobInfo queryJob() const; // renvoie l'etat du job // Methodes pour l'interfacage avec Python (SWIG) @@ -56,7 +56,7 @@ namespace Batch { std::string __repr__() const { return __str__(); }; // SWIG : affichage en Python protected: - BatchManager * _p_batchmanager; // pointeur sur le BatchManager qui controle le job + Batch::BatchManager * _p_batchmanager; // pointeur sur le BatchManager qui controle le job std::string _reference; // reference du job au sein du BatchManager private: diff --git a/src/Batch/Batch_JobInfo.hxx b/src/Batch/Batch_JobInfo.hxx index 7cdca6535..e9c251c94 100644 --- a/src/Batch/Batch_JobInfo.hxx +++ b/src/Batch/Batch_JobInfo.hxx @@ -26,14 +26,14 @@ namespace Batch { virtual ~JobInfo(); // Constructeur par recopie - JobInfo(const JobInfo & jinfo) : _param(jinfo._param), _env(jinfo._env) {}; + JobInfo(const Batch::JobInfo & jinfo) : _param(jinfo._param), _env(jinfo._env) {}; // Operateur pour l'affichage sur un stream - friend std::ostream & operator <<(std::ostream & os, const JobInfo & ji); + friend std::ostream & operator <<(std::ostream & os, const Batch::JobInfo & ji); // Accesseurs - virtual Parametre getParametre() const; - virtual Environnement getEnvironnement() const; + virtual Batch::Parametre getParametre() const; + virtual Batch::Environnement getEnvironnement() const; // Methodes pour l'interfacage avec Python (SWIG) // TODO : supprimer ces methodes et transferer leur definitions dans SWIG @@ -41,8 +41,8 @@ namespace Batch { std::string __repr__() const { return __str__(); }; // SWIG : affichage en Python protected: - Parametre _param; // parametres du job - Environnement _env; // variables d'environnement du job + Batch::Parametre _param; // parametres du job + Batch::Environnement _env; // variables d'environnement du job private: diff --git a/src/Batch_SWIG/libBatch_Swig.i b/src/Batch_SWIG/libBatch_Swig.i index 1f82f0dfa..92a802741 100644 --- a/src/Batch_SWIG/libBatch_Swig.i +++ b/src/Batch_SWIG/libBatch_Swig.i @@ -36,7 +36,6 @@ #include "Batch_BatchManager.hxx" #include "Batch_BatchManagerCatalog.hxx" #include "Batch_FactBatchManager.hxx" -using namespace Batch; %} /* Les classes exportees en Python */ diff --git a/src/Batch_SWIG/libBatch_Swig_exception.i b/src/Batch_SWIG/libBatch_Swig_exception.i index 880ae9085..06a9d0a52 100644 --- a/src/Batch_SWIG/libBatch_Swig_exception.i +++ b/src/Batch_SWIG/libBatch_Swig_exception.i @@ -11,8 +11,8 @@ try { $action } - catch (GenericException & ex) { - string msg = ex.type + " : " + ex.message; + catch (Batch::GenericException & ex) { + std::string msg = ex.type + " : " + ex.message; PyErr_SetString(PyExc_RuntimeWarning, msg.c_str()); return NULL; } diff --git a/src/Batch_SWIG/libBatch_Swig_typemap.i b/src/Batch_SWIG/libBatch_Swig_typemap.i index 9116e8798..4c701c709 100644 --- a/src/Batch_SWIG/libBatch_Swig_typemap.i +++ b/src/Batch_SWIG/libBatch_Swig_typemap.i @@ -22,13 +22,13 @@ # // construction d'un dictionnaire Python a partir d'un objet BatchManagerCatalog C++ -%typemap(out) map * +%typemap(out) std::map * { $result = PyDict_New(); // on itere sur toutes les clefs de la map - for(map::const_iterator it=(* $1).begin(); it!=(* $1).end(); it++) { - string key = (*it).first; + for(std::map::const_iterator it=(* $1).begin(); it!=(* $1).end(); it++) { + std::string key = (*it).first; PyObject * obj = SWIG_NewPointerObj((void *) (*it).second, SWIGTYPE_p_Batch__FactBatchManager, 0); PyDict_SetItem($result, PyString_FromString(key.c_str()), obj); } @@ -36,22 +36,22 @@ # // construction d'un dictionnaire Python a partir d'un objet Parametre C++ -%typemap(out) Parametre +%typemap(out) Batch::Parametre { $result = PyDict_New(); // on itere sur toutes les clefs de la map, et on passe par la classe PyVersatile // qui convertit un Versatile en PyObject et vice versa - for(Parametre::const_iterator it=$1.begin(); it!=$1.end(); it++) { - string key = (*it).first; - PyVersatile PyV = (*it).second; + for(Batch::Parametre::const_iterator it=$1.begin(); it!=$1.end(); it++) { + std::string key = (*it).first; + Batch::PyVersatile PyV = (*it).second; PyDict_SetItem($result, PyString_FromString(key.c_str()), PyV); } } # // construction d'un objet Parametre C++ a partir d'un dictionnaire Python -%typemap(in) Parametre & (Parametre PM) +%typemap(in) Batch::Parametre & (Batch::Parametre PM) { if (!PyDict_Check($input)) { PyErr_SetString(PyExc_ValueError,"Expected a dictionnary"); @@ -64,16 +64,16 @@ PyObject *key, *value; int pos = 0; while (PyDict_Next($input, &pos, &key, &value)) { - string mk = PyString_AsString(key); - PyVersatile PyV = value; + std::string mk = PyString_AsString(key); + Batch::PyVersatile PyV = value; PyV.setName(mk); PM[mk] = PyV; } $1 = &PM; // $1 est une reference donc on lui passe une adresse } - catch (GenericException & ex) { - string msg = ex.type + " : " + ex.message; + catch (Batch::GenericException & ex) { + std::string msg = ex.type + " : " + ex.message; PyErr_SetString(PyExc_RuntimeWarning, msg.c_str()); return NULL; } @@ -85,7 +85,7 @@ # // construction d'un objet Parametre C++ a partir d'un dictionnaire Python -%typemap(in) Parametre (Parametre PM) +%typemap(in) Batch::Parametre (Batch::Parametre PM) { if (!PyDict_Check($input)) { PyErr_SetString(PyExc_ValueError,"Expected a dictionnary"); @@ -98,16 +98,16 @@ PyObject *key, *value; int pos = 0; while (PyDict_Next($input, &pos, &key, &value)) { - string mk = PyString_AsString(key); - PyVersatile PyV = value; + std::string mk = PyString_AsString(key); + Batch::PyVersatile PyV = value; PyV.setName(mk); PM[mk] = PyV; } $1 = PM; } - catch (GenericException & ex) { - string msg = ex.type + " : " + ex.message; + catch (Batch::GenericException & ex) { + std::string msg = ex.type + " : " + ex.message; PyErr_SetString(PyExc_RuntimeWarning, msg.c_str()); return NULL; } @@ -119,14 +119,14 @@ # // construction d'un dictionnaire Python a partir d'un objet Environnement C++ -%typemap(out) Environnement +%typemap(out) Batch::Environnement { $result = PyDict_New(); // on itere sur toutes les clefs de la map - for(Environnement::const_iterator it=$1.begin(); it!=$1.end(); it++) { - string key = (*it).first; - string val = (*it).second; + for(Batch::Environnement::const_iterator it=$1.begin(); it!=$1.end(); it++) { + std::string key = (*it).first; + std::string val = (*it).second; PyDict_SetItem($result, PyString_FromString(key.c_str()), PyString_FromString(val.c_str())); @@ -135,7 +135,7 @@ # // construction d'un objet Environnement C++ a partir d'un dictionnaire Python -%typemap(in) Environnement & (Environnement E) +%typemap(in) Batch::Environnement & (Batch::Environnement E) { if (!PyDict_Check($input)) { PyErr_SetString(PyExc_ValueError,"Expected a dictionnary"); @@ -146,8 +146,8 @@ PyObject *key, *value; int pos = 0; while (PyDict_Next($input, &pos, &key, &value)) { - string mk = PyString_AsString(key); - string val = PyString_AsString(value); + std::string mk = PyString_AsString(key); + std::string val = PyString_AsString(value); E[mk] = val; } @@ -157,7 +157,7 @@ # // construction d'un objet Environnement C++ a partir d'un dictionnaire Python -%typemap(in) Environnement (Environnement E) +%typemap(in) Batch::Environnement (Batch::Environnement E) { if (!PyDict_Check($input)) { PyErr_SetString(PyExc_ValueError,"Expected a dictionnary"); @@ -168,8 +168,8 @@ PyObject *key, *value; int pos = 0; while (PyDict_Next($input, &pos, &key, &value)) { - string mk = PyString_AsString(key); - string val = PyString_AsString(value); + std::string mk = PyString_AsString(key); + std::string val = PyString_AsString(value); E[mk] = val; } @@ -179,7 +179,7 @@ # // construction d'une string Python a partir d'une string STL -%typemap(python,out) string +%typemap(python,out) std::string { $result = PyString_FromString($1.c_str()); } -- 2.39.2