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

Private GIT Repository
added context to dispatcher op.
[blast.git] / Exception.cpp
index a051e7ac7f07f713bc5a63f58b11adf719705903..1329f0c81caa125f0662ffb93ee7c1b205ef2bc8 100644 (file)
@@ -1,14 +1,16 @@
 #include "Exception.h"
 
-Exception::Exception(int _id) {
+Exception::Exception(int _id, void *_source) {
   id = _id;
   message = getDefaultMessage();
+  source = _source;
 }
 
 
 Exception::Exception(const Exception& other) {
   id = other.id;
   message = other.message;
+  source = other.source;
 }
 
 QString Exception::getDefaultMessage() {
@@ -18,6 +20,7 @@ QString Exception::getDefaultMessage() {
   case CONFIGFILE_NOACCESS : ret = tr("Blast configuration file cannot be read"); break;
   case PROJECTFILE_CORRUPTED : ret = tr("Project file is corrupted"); break;
   case PROJECTFILE_NOACCESS : ret = tr("Project file cannot be read"); break;
+  case PROJECTPATH_NOACCESS : ret = tr("Project (sub)directory or file cannot be created or accessed"); break;
   case BLOCKPATH_NOACCESS : ret = tr("Directory containing references cannot be accessed (no rights/existence)"); break;
   case IMPLPATH_NOACCESS : ret = tr("Directory containing implementations cannot be accessed (no rights/existence)"); break;
   case BLOCKFILE_CORRUPTED : ret = tr("Block file is corrupted"); break;
@@ -27,9 +30,14 @@ QString Exception::getDefaultMessage() {
   case IMPLFILE_NOPATTERN : ret = tr("Implementation file does not contains pattern definitions"); break;
   case BLOCK_NULL : ret = tr("A parameter of type AbstractBlock* has been provided with NULL value."); break;
   case BLOCK_INVALID_TYPE : ret = tr("A parameter of type AbstractBlock* is used with an incorrect instance type."); break;
+  case VHDLFILE_NOACCESS : ret = tr("VHDL file cannot be read"); break;
+  case VHDLFILE_CORRUPTED : ret = tr("VHDL file is corrupted"); break;
   case IFACE_NULL : ret = tr("A parameter of type AbstractInterface* has been provided with NULL value."); break;
   case IFACE_INVALID_TYPE : ret = tr("A parameter of type AbstractInterface* is used with an incorrect instance type."); break;
   case IFACE_MULTIPLICITY_REACHED : ret = tr("Impossible to create another instance of a GraphInterface: the maximum multiplicity is reached."); break;
+  case IFACE_BLOCK_NOCLKRST : ret = tr("Cannot find a clk or rst for a block."); break;
+  case IFACE_GROUP_NOCLKRST : ret = tr("Cannot find a clk or rst for a group."); break;
+  case IFACE_TOP_NOCLKRSTGEN : ret = tr("Cannot find the clkrstgen block in top group."); break;
   case BLOCKITEM_NULL : ret = tr("A parameter of type AbstractBlockItem* has been provided with NULL value."); break;
   case BLOCKITEM_INVALID_TYPE : ret = tr("A parameter of type AbstractBlockItem* is used with an incorrect instance type."); break;
   case WIDTHS_NOT_EQUALS : ret = tr("Two interfaces are connected but don't have the same widths."); break;
@@ -49,6 +57,7 @@ QString Exception::getDefaultMessage() {
   case IP_AP_NOTCOMPAT : ret = tr("IP and AP not compatible"); break;
   case IP_END_NULLCOL : ret = tr("IP ends with anull column (normally not possible during compat. check)"); break;
   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;
+  case IFACE_NOT_CONNECTED : ret = tr("an interface with control is not coonected, leading to an impossible graph analysis"); break;
   }
 
   return ret;