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

Private GIT Repository
nearly finished GroupBlock VHDL gen
[blast.git] / ReferenceInterface.h
1 #ifndef __REFERENCEINTERFACE_H__
2 #define __REFERENCEINTERFACE_H__
3
4 #include <iostream>
5
6 #include <QtCore>
7 #include <QtGui>
8
9 #include "AbstractInterface.h"
10
11 #include "Exception.h"
12
13 using namespace std;
14 using namespace Qt;
15
16
17 class ReferenceInterface : public AbstractInterface {
18
19 public :  
20
21   ReferenceInterface(AbstractBlock *_owner) throw(Exception);
22   ReferenceInterface(AbstractBlock* _owner, const QString& _name, int _direction, int _purpose, const QString& _type, const QString& _width, int _endianess = LittleEndian, int _multiplicity=1) throw (Exception);
23
24   // getters
25   inline int getMultiplicity() { return multiplicity; }  
26   // setters
27   void setMultiplicity(int _multiplicity);
28
29   // testers
30   bool isReferenceInterface();
31
32   // others
33
34   static int translatePurpose(const QString& txt);  
35   static int translateMultiplicity(const QString& txt);
36
37   inline AbstractInterface *clone(){ return NULL; }
38
39
40 private:  
41   int multiplicity; // -1 means infinite multiplicity, and X>1, the max. number of instances
42
43
44 };
45
46 #endif // __REFERENCEINTERFACE_H__