source: PSPA/Interface_Web/trunk/pspaWT/sources/controler/include/abstractSoftware.h @ 493

Last change on this file since 493 was 493, checked in by lemeur, 10 years ago

refection generale des secteurs et applications de softwares (suite)

File size: 1.9 KB
Line 
1#ifndef ABSTRACTSOFTWARE_SEEN
2#define ABSTRACTSOFTWARE_SEEN
3
4#include "globalParameters.h"
5#include "sectorParameters.h"
6#include "particleBeam.h"
7#include "nomDeLogiciel.h"
8#include "nomdElements.h"
9#include "trivaluedBool.h"
10
11#include <iostream>
12#include <string>
13
14using namespace std;
15
16class dataManager;
17class sectionToExecute;
18class computingBlock;
19class abstractSoftware
20{
21
22 protected :
23 
24  dataManager* dataManager_;
25  string inputFileName_;
26  nomDeLogiciel* nameOfSoftware_;
27
28  /**
29     Accepted elements list for this software
30  */
31  //  std::vector <nomdElements::typedElement> acceptedElements_;
32
33  /**
34     Ignore software list for this element
35  */
36  //  std::vector <nomdElements::typedElement> ignoredElements_;
37 
38  abstractSoftware();
39
40  bool launchJob(string commandLine, string& resul);
41
42  //  void registerElement(nomdElements::typedElement nomdel,trivaluedBool b);
43
44  /* sectionToExecute* getSectionToExecute() { */
45  /*      return sectionToExecute_; */
46  /* } */
47
48  computingBlock* getComputingBlock() {
49       return compBlock_;;
50  }
51
52  public :
53
54  //  abstractSoftware(string, sectionToExecute*, dataManager* );
55  abstractSoftware(string, computingBlock*, dataManager* );
56
57  ~abstractSoftware() {
58    delete nameOfSoftware_;
59}
60
61  inline const nomDeLogiciel* getNomDeLogiciel() const {
62    return nameOfSoftware_;
63  }
64
65  //   trivaluedBool doAcceptElement(nomdElements::typedElement typdel);
66
67  virtual bool createInputFile(particleBeam* beamBefore, string workingDir) = 0;
68  virtual bool execute(string workingDir) = 0;
69  virtual bool buildBeamAfterElements(string workingDir) = 0;
70
71  /** Color of the background of this sofware
72      Should be a valid Css name as FFEEDD
73  */
74  virtual string getColor() = 0;
75 
76  /** Name of this software
77   */
78  inline string getName() const {
79    return nameOfSoftware_->getString();
80  }
81  private :
82  //  sectionToExecute* sectionToExecute_;
83  computingBlock* compBlock_;
84};
85#endif
Note: See TracBrowser for help on using the repository browser.