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

Private GIT Repository
1st commit of all files
[blast.git] / Exception.h
1 /*-==============================================================-
2
3 file : Exception.h
4
5 creation date : 08/04/2015
6
7 author : S. Domas (sdomas@iut-bm.univ-fcomte.fr)
8
9 description : 
10
11 supp. infos : saved in UTF-8 [éè]
12
13 -==============================================================-*/
14 #ifndef __EXCEPTION_H__
15 #define __EXCEPTION_H__
16
17 #include <iostream>
18 #include <fstream>
19
20 #include <QtCore>
21
22 // exceptions for file accesses
23 #define CONFIGFILE_NOACCESS 1
24 #define CONFIGFILE_CORRUPTED 2
25
26 #define PROJECTFILE_NOACCESS 3
27 #define PROJECTFILE_CORRUPTED 4
28
29 #define BLOCKPATH_NOACCESS 5
30 #define IMPLPATH_NOACCESS 6
31
32 #define BLOCKFILE_NOACCESS 7
33 #define BLOCKFILE_CORRUPTED 8
34
35 #define IMPLFILE_NOACCESS 9
36 #define IMPLFILE_CORRUPTED 10
37
38 #define VHDLFILE_NOACCESS 11
39
40 // exceptions for block manipulations
41 #define BLOCK_NULL 100
42 #define BLOCK_INVALID_TYPE 101
43
44 // exceptions for interfaces manipulations
45 #define IFACE_NULL 200
46 #define IFACE_INVALID_TYPE 201
47 #define IFACE_MULTIPLICITY_REACHED 202
48
49 // exceptions for block items manipulations
50 #define BLOCKITEM_NULL 300
51 #define BLOCKITEM_INVALID_TYPE 301
52
53 // exceptions for width interfaces validation
54 #define WIDTHS_NOT_EQUALS 400
55
56 // exceptions for VHDL generation
57 #define INVALID_VALUE 500
58
59 using namespace std;
60 using namespace Qt;
61
62 class Exception : public QObject {
63
64 public:
65
66   Exception(int _id);
67   Exception(const Exception& other);
68
69   inline int getType() { return id; }
70   inline void setMessage(QString _message) { message = _message; }
71   inline QString getMessage() { return message; }
72   QString getDefaultMessage();
73
74 private:  
75   int id;
76   QString message;
77
78 };
79
80 #endif //__EXCEPTION_H__