]> AND Private Git Repository - blast.git/blob - FunctionalBlock.h
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
13602444071017cfaf07698ff89cb74cb1224cd0
[blast.git] / FunctionalBlock.h
1 #ifndef __FUNCTIONALBLOCK_H__\r
2 #define __FUNCTIONALBLOCK_H__\r
3 \r
4 #include <iostream>\r
5 \r
6 #include <QtCore>\r
7 \r
8 #include "AbstractBlock.h"\r
9 class AbstractBlock;\r
10 class ReferenceBlock;\r
11 class GroupBlock;\r
12 #include "Exception.h"\r
13 class Exception;\r
14 \r
15 \r
16 using namespace std;\r
17 using namespace Qt;\r
18 \r
19 /* NOTES :\r
20    - NEVER forget to call populate() after creating an instance of GraphBlock.\r
21  */\r
22 \r
23 class FunctionalBlock : public AbstractBlock {\r
24 public:\r
25 \r
26   FunctionalBlock(GroupBlock* _parent, ReferenceBlock* _reference) throw(Exception);\r
27 \r
28   // getters\r
29   inline ReferenceBlock* getReference() { return reference; }\r
30 \r
31   // setters\r
32 \r
33   // testers\r
34   bool isFunctionalBlock();\r
35 \r
36   // others\r
37 \r
38   void populate(); // create parameters and interface from reference block\r
39   void parametersValidation(QList<AbstractBlock *> *checkedBlocks, QList<AbstractBlock*>* blocksToConfigure);\r
40 \r
41   QString getReferenceXmlFile();\r
42   QString getReferenceHashMd5();\r
43 \r
44 private:  \r
45   ReferenceBlock* reference;\r
46 \r
47 };\r
48 \r
49 #endif // __FUNCTIONALBLOCK_H__\r