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

Private GIT Repository
nearly finished GroupBlock VHDL gen
[blast.git] / BlockParameterWishbone.h
1 #ifndef __BLOCKPARAMETERWISHBONE_H__\r
2 #define __BLOCKPARAMETERWISHBONE_H__\r
3 \r
4 #include <iostream>\r
5 #include <fstream>\r
6 \r
7 #include <QtCore>\r
8 \r
9 #include "BlockParameter.h"\r
10 class BlockParameter;\r
11 \r
12 using namespace std;\r
13 using namespace Qt;\r
14 \r
15 class BlockParameterWishbone : public BlockParameter {\r
16 \r
17 public :  \r
18 \r
19   BlockParameterWishbone();\r
20   BlockParameterWishbone(AbstractBlock* _owner, const QString& _name , const QString& _type, const QString& _width, const QString& _value, int _wbAccess = BlockParameter::Read, QString _wbValue = QString(), int _wbDuration = BlockParameter::Permanent);\r
21 \r
22   // getters\r
23   QVariant getValue();\r
24   inline QString getContext() { return "wb";}\r
25   inline QString getWidth() { return width; }\r
26   inline int getWBAccess() { return wbAccess; }\r
27   inline QString getWBValue() { return wbValue; }\r
28   inline int getWBDuration() { return wbDuration; }\r
29 \r
30   // setters\r
31   void setValue(const QString& _value);\r
32   inline void resetToDefaultValue() { userValue = defaultValue; }\r
33   inline void setWBAccess(int _wbAccess) { wbAccess = _wbAccess; }\r
34   inline void setWBValue(QString _wbValue) { wbValue = _wbValue; }\r
35   inline void setWBDuration(int _wbDuration) { wbDuration = _wbDuration; }\r
36 \r
37   // testers\r
38   bool isValueSet();\r
39   bool isDefaultValue();\r
40   bool isWishboneParameter();\r
41 \r
42   // others\r
43   BlockParameter* clone();\r
44   QString toVHDL(int context, int flags);\r
45 \r
46 private:\r
47 \r
48   QString width;\r
49   QVariant userValue;\r
50   int wbAccess;\r
51   QString wbValue;\r
52   int wbDuration;\r
53 \r
54 \r
55 };\r
56 \r
57 #endif // __BLOCKPARAMETERWISHBONE_H__\r
58 \r