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

Private GIT Repository
add graph modif, progress on vhdl generation
[blast.git] / Exception.h
index c65ed5a0e3915b474acbda99a3365c9610d5774e..e45e7bb5a981418e3eec55fd9c5866d7d5817f6f 100644 (file)
@@ -34,6 +34,7 @@ supp. infos : saved in UTF-8 [éè]
 #define IMPLFILE_NOPATTERN 403
 
 #define VHDLFILE_NOACCESS 501
+#define VHDLFILE_CORRUPTED 502
 
 #define BLOCKPATH_NOACCESS 601
 
@@ -58,6 +59,31 @@ supp. infos : saved in UTF-8 [éè]
 // exceptions for VHDL generation
 #define INVALID_VALUE 5001
 
+// exception for patterns
+#define INVALID_REFBLOCK_USE 10001
+#define INVALID_GROUPBLOCK_USE 10002
+#define INVALID_DELTA_CP 10003 // delta and CP are not consistent (NB: used during admittance computation)
+
+#define EVAL_PARAM_UNKNOWN 10101 // a variable used in an expression is not defined as a block parameter
+#define EVAL_PARAM_NOVALUE 10102 // can't get the double value of a block parameter
+#define EVAL_INVALID_EXPR 10103 // invalid arithmetic expression (in a block parameter/pattern)
+
+#define INVALID_IFACE_PATTERN 10201 // the pattern of an interface is invalid (not correct grammar)
+#define INVALID_IFACE_PC 10202 // the production counter of an interface is invalid (not correct grammar)
+
+#define INVALID_IFACE_CP_LENGTH 10301 // the size of CP for an interface differs from others
+#define NO_IFACE_CP 10302 // an interface has no CP defined in reference block
+
+#define INVALID_IFACE_PP_LENGTH 10401 // the size of PP for an interface differs from others
+#define NO_IFACE_PP 10402 // an interface has no PP defined in reference block
+
+#define NO_IFACE_IP 10501 // an interface has no IP
+#define IP_AP_NOTCOMPAT 10502 // IP and AP not compatible
+#define IP_END_NULLCOL 10503 // IP ends with anull column (normally not possible during compat. check)
+#define AP_TOO_SHORT 10504 // AP has been badly computed, leading to a AP shorter than needed (NB: it is an abnormal case)
+
+#define IFACE_NOT_CONNECTED 10601 // an interface with control is not connected => impossible to analyz the graph
+
 using namespace std;
 using namespace Qt;
 
@@ -65,17 +91,19 @@ class Exception : public QObject {
 
 public:
 
-  Exception(int _id);
+  Exception(int _id, void* _source = NULL);
   Exception(const Exception& other);
 
   inline int getType() { return id; }
   inline void setMessage(QString _message) { message = _message; }
   inline QString getMessage() { return message; }
   QString getDefaultMessage();
+  inline void* getSource() { return source; }
 
 private:  
   int id;
   QString message;
+  void* source;
 
 };