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

Private GIT Repository
changed sources to stimulis
[blast.git] / Exception.cpp
1 #include "Exception.h"
2
3 Exception::Exception(int _id, void *_source) {
4   id = _id;
5   message = getDefaultMessage();
6   source = _source;
7 }
8
9
10 Exception::Exception(const Exception& other) {
11   id = other.id;
12   message = other.message;
13   source = other.source;
14 }
15
16 QString Exception::getDefaultMessage() {
17   QString ret="";
18   switch(id) {
19   case CONFIGFILE_CORRUPTED : ret = tr("Blast configuration file is corrupted"); break;
20   case CONFIGFILE_NOACCESS : ret = tr("Blast configuration file cannot be read"); break;
21   case PROJECTFILE_CORRUPTED : ret = tr("Project file is corrupted"); break;
22   case PROJECTFILE_NOACCESS : ret = tr("Project file cannot be read"); break;
23   case PROJECTPATH_NOACCESS : ret = tr("Project (sub)directory or file cannot be created or accessed"); break;
24   case BLOCKPATH_NOACCESS : ret = tr("Directory containing references cannot be accessed (no rights/existence)"); break;
25   case IMPLPATH_NOACCESS : ret = tr("Directory containing implementations cannot be accessed (no rights/existence)"); break;
26   case BLOCKFILE_CORRUPTED : ret = tr("Block file is corrupted"); break;
27   case BLOCKFILE_NOACCESS : ret = tr("Block file cannot be read"); break;
28   case IMPLFILE_CORRUPTED : ret = tr("Implementation file is corrupted"); break;
29   case IMPLFILE_NOACCESS : ret = tr("Implementation file cannot be read"); break;
30   case IMPLFILE_NOPATTERN : ret = tr("Implementation file does not contains pattern definitions"); break;
31   case BLOCK_NULL : ret = tr("A parameter of type AbstractBlock* has been provided with NULL value."); break;
32   case BLOCK_INVALID_TYPE : ret = tr("A parameter of type AbstractBlock* is used with an incorrect instance type."); break;
33   case VHDLFILE_NOACCESS : ret = tr("VHDL file cannot be read"); break;
34   case VHDLFILE_CORRUPTED : ret = tr("VHDL file is corrupted"); break;
35   case IFACE_NULL : ret = tr("A parameter of type AbstractInterface* has been provided with NULL value."); break;
36   case IFACE_INVALID_TYPE : ret = tr("A parameter of type AbstractInterface* is used with an incorrect instance type."); break;
37   case IFACE_MULTIPLICITY_REACHED : ret = tr("Impossible to create another instance of a GraphInterface: the maximum multiplicity is reached."); break;
38   case IFACE_BLOCK_NOCLKRST : ret = tr("Cannot find a clk or rst for a block."); break;
39   case IFACE_GROUP_NOCLKRST : ret = tr("Cannot find a clk or rst for a group."); break;
40   case IFACE_TOP_NOCLKRSTGEN : ret = tr("Cannot find the clkrstgen block in top group."); break;
41   case BLOCKITEM_NULL : ret = tr("A parameter of type AbstractBlockItem* has been provided with NULL value."); break;
42   case BLOCKITEM_INVALID_TYPE : ret = tr("A parameter of type AbstractBlockItem* is used with an incorrect instance type."); break;
43   case WIDTHS_NOT_EQUALS : ret = tr("Two interfaces are connected but don't have the same widths."); break;
44   case INVALID_VALUE : ret = tr("parameter value is not correct (e.g. not numeric, invalid other parameter name, ...)."); break;
45   case INVALID_FUNBLOCK_USE : ret = tr("a functional block is used for an unauthorized operation while analyzing the design"); break;
46   case INVALID_REFBLOCK_USE : ret = tr("a reference block is used for an unauthorized operation while analyzing the design"); break;
47   case INVALID_GROUPBLOCK_USE : ret = tr("a group block is used for an unauthorized operation while analyzing the design"); break;
48   case INVALID_DELTA_CP : ret = tr("delta and CP are not consistent"); break;
49   case EVAL_PARAM_UNKNOWN : ret = tr("a variable used in an expression is not defined as a block parameter"); break;
50   case EVAL_PARAM_NOVALUE : ret = tr("can't get the double value of a block parameter"); break;
51   case EVAL_INVALID_EXPR : ret = tr("invalid arithmetic expression (in a block parameter/pattern)"); break;    
52   case INVALID_IFACE_PATTERN : ret = tr("the pattern of an interface is invalid (not correct grammar)"); break;
53   case INVALID_IFACE_PC : ret = tr("the production counter of an interface is invalid (not correct grammar)"); break;    
54   case INVALID_IFACE_CP_LENGTH : ret = tr("the size of CP for an interface differs from others"); break;
55   case NO_IFACE_CP : ret = tr("an interface has no CP defined in reference block"); break;    
56   case INVALID_IFACE_PP_LENGTH : ret = tr("the size of PP for an interface differs from others"); break;
57   case NO_IFACE_PP : ret = tr("an interface has no PP defined in reference block"); break;    
58   case NO_IFACE_IP : ret = tr("an interface has no IP"); break;
59   case IP_AP_NOTCOMPAT : ret = tr("IP and AP not compatible"); break;
60   case IP_END_NULLCOL : ret = tr("IP ends with anull column (normally not possible during compat. check)"); break;
61   case AP_TOO_SHORT : ret = tr("AP has been badly computed, leading to a AP shorter than needed (NB: it is an abnormal case)"); break;
62   case IFACE_NOT_CONNECTED : ret = tr("an interface with control is not coonected, leading to an impossible graph analysis"); break;
63   }
64
65   return ret;
66 }