Salome HOME
PR: merge from tag mergeto_trunk_16Jan05
[modules/kernel.git] / src / Batch / Batch_JobId.hxx
1 /*
2  * JobId.hxx : 
3  *
4  * Auteur : Ivan DUTKA-MALEN - EDF R&D
5  * Date   : Septembre 2003
6  * Projet : SALOME 2
7  *
8  */
9
10 #ifndef _JOBID_H_
11 #define _JOBID_H_
12
13
14 #include "Batch_JobInfo.hxx"
15 #include "Batch_BatchManager.hxx"
16
17 namespace Batch {
18
19   class BatchManager;
20
21   class JobId
22   {
23     friend class BatchManager;
24
25   public:
26     // Constructeur standard et destructeur
27     JobId();
28     virtual ~JobId();
29
30     // Constructeur avec le pointeur sur le BatchManager associe et avec une reference
31     JobId(Batch::BatchManager *, std::string ref);
32
33     // Operateur d'affectation entre objets
34     virtual JobId & operator =(const Batch::JobId &);
35
36     // Constructeur par recopie
37     JobId(const Batch::JobId &);
38
39     // Accesseur pour la reference interne
40     virtual std::string getReference() const;
41
42     // Methodes pour le controle du job
43     virtual void deleteJob() const; // retire un job du gestionnaire
44     virtual void holdJob() const; // suspend un job en file d'attente
45     virtual void releaseJob() const; // relache un job suspendu
46     virtual void alterJob(const Batch::Parametre & param, const Batch::Environnement & env) const; // modifie un job en file d'attente
47     virtual void alterJob(const Batch::Parametre & param) const; // modifie un job en file d'attente
48     virtual void alterJob(const Batch::Environnement & env) const; // modifie un job en file d'attente
49     virtual void setParametre(const Batch::Parametre & param) { return alterJob(param); } // modifie un job en file d'attente
50     virtual void setEnvironnement(const Batch::Environnement & env) { return alterJob(env); } // modifie un job en file d'attente
51     virtual Batch::JobInfo queryJob() const; // renvoie l'etat du job
52
53     // Methodes pour l'interfacage avec Python (SWIG)
54     // TODO : supprimer ces methodes et transferer leur definitions dans SWIG
55     std::string  __str__() const; // SWIG : affichage en Python
56     std::string  __repr__() const { return __str__(); }; // SWIG : affichage en Python
57
58   protected:
59     Batch::BatchManager * _p_batchmanager; // pointeur sur le BatchManager qui controle le job
60     std::string _reference; // reference du job au sein du BatchManager
61
62   private:
63
64   };
65
66 }
67
68 #endif