X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/8d3e09e430e829b9d847847334cbfe37790baca3..c25a6c891bde475aa51b4c4f5d42ecd7540910bb:/Exception.h?ds=sidebyside diff --git a/Exception.h b/Exception.h index c65ed5a..608bc55 100644 --- a/Exception.h +++ b/Exception.h @@ -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 @@ -43,10 +44,14 @@ supp. infos : saved in UTF-8 [éè] #define BLOCK_NULL 1001 #define BLOCK_INVALID_TYPE 1002 + // exceptions for interfaces manipulations #define IFACE_NULL 2001 #define IFACE_INVALID_TYPE 2002 #define IFACE_MULTIPLICITY_REACHED 2003 +#define IFACE_BLOCK_NOCLKRST 2004 +#define IFACE_GROUP_NOCLKRST 2005 +#define IFACE_TOP_NOCLKRSTGEN 2006 // exceptions for block items manipulations #define BLOCKITEM_NULL 3001 @@ -58,6 +63,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 +95,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; };