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

Private GIT Repository
06c645966ac51697d8960e9d21ab32a11a9a13a3
[blast.git] / SpecialBlock.h
1 #ifndef __SPECIALBLOCK_H__\r
2 #define __SPECIALBLOCK_H__\r
3 \r
4 #include <iostream>\r
5 \r
6 #include <QtCore>\r
7 \r
8 #include "FunctionalBlock.h"\r
9 class FunctionalBlock; \r
10 \r
11 using namespace std;\r
12 using namespace Qt;\r
13 \r
14 \r
15 \r
16 class SpecialBlock : public FunctionalBlock {\r
17 public:\r
18 \r
19   enum SpecialType { ClockConvert = 0, ClkRstGen = 1 };\r
20   \r
21   SpecialBlock(SpecialType _type, GroupBlock* _parent, ReferenceBlock* _reference, bool createIfaces = true) throw(Exception);\r
22   ~SpecialBlock();\r
23   // getters\r
24   \r
25   // setters\r
26   \r
27   // testers\r
28 \r
29   // others\r
30  \r
31   // patterns\r
32   void checkInputPatternCompatibility() throw(Exception);\r
33   void computeOutputPattern(int nbExec = -1) throw(Exception);\r
34 \r
35 private:\r
36   SpecialType type;\r
37   \r
38   void checkInputPatternCompatibilityClockConvert() throw(Exception);\r
39   void computeOutputPatternClockConvert(int nbExec = -1) throw(Exception);\r
40   void checkInputPatternCompatibilityClkRstGen() throw(Exception);\r
41   void computeOutputPatternClkRstGen(int nbExec = -1) throw(Exception);\r
42 \r
43 };\r
44 \r
45 \r
46 \r
47 #endif // __SPEICALBLOCK_H__\r