source: PSPA/Interface_Web/trunk/pspaWT/sources/controler/include/expandedMachine.h @ 495

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

maj de History

File size: 1.7 KB
Line 
1#ifndef EXPANDEDMACHINE_SEEN
2#define EXPANDEDMACHINE_SEEN
3
4#include <iostream>
5#include <vector>
6
7#include "abstractElement.h"
8#include "sector.h"
9#include "computingBlock.h"
10#include "UAP/UAPNode.hpp"
11
12using namespace std;
13
14class expandedMachine
15{
16
17
18
19  expandedMachine() {;}
20
21
22 public :
23
24
25 expandedMachine(dataManager* dtmg) : machineName_("dummy"), dataManager_(dtmg) {;}
26
27  ~expandedMachine() {
28    for ( unsigned k=0; k < computingBlocks_.size(); k++ ) delete computingBlocks_.at(k);
29  }
30
31  void setSoftware(std::string logiciel, computingBlock* cpblk);
32
33
34  void  fromSectors( const vector<sector*>& sect );
35  //  computingBlock* openBlock(dataManager* dmg);
36
37
38
39   bool openNewLastBlock();
40
41
42  inline vector<abstractElement*>& getElements() {return elements_;}
43
44
45 inline vector<computingBlock*>& getComputingBlocks() {return computingBlocks_;}
46
47
48
49  abstractElement* getElementFromLabel(string lab);
50  int getElementRankFromLabel(string lab);
51  int getElementRankFromPointer(abstractElement* ptr);
52
53 void FileAMLOutput(UAPNode* root);
54 bool FileAMLInput( UAPNode* entree);
55
56 abstractSoftware* getSoftwarePointer(std::string logiciel, computingBlock* cpblk);
57
58 void setFirstElementOfBlock(computingBlock* bclk, int index);
59 void setLastElementOfBlock(computingBlock* bclk, int index);
60
61 abstractElement* getElementPointer( unsigned rang);
62 
63 bool openNewBlockAfter(computingBlock* cpbl);
64
65
66 bool areDataCoherent();
67
68 bool eraseComputingBlock(computingBlock* );
69
70 inline unsigned numberOfElements() { return elements_.size(); }
71 private:
72
73 void clearComputingBlock(int a);
74
75  dataManager* dataManager_;
76  string machineName_;
77  vector<abstractElement*> elements_;
78  vector<computingBlock*> computingBlocks_;
79};
80
81#endif
Note: See TracBrowser for help on using the repository browser.