Salome HOME
Wrong case correction: start translation, select compsolid, activate value control...
[modules/shaper.git] / src / Events / Events_Error.cpp
index 712478c894c2e049a16b264b14723304805a6652..1dc1012f2d17144594fecd9723a2e6f32ffb5638 100644 (file)
@@ -1,3 +1,5 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
 /*
  * Events_Error.cpp
  *
@@ -8,7 +10,9 @@
 #include <Events_Error.h>
 #include <Events_Loop.h>
 
-Events_Error::Events_Error(char* theDescription, const void* theSender)
+#define THROW_EMPTY_AIS_EXCEPTION
+
+Events_Error::Events_Error(const std::string& theDescription, const void* theSender)
     : Events_Message(Events_Error::errorID(), theSender)
 {
   myDescription = theDescription;
@@ -24,19 +28,22 @@ Events_ID Events_Error::errorID()
   return aLoop->eventByName("ApplicationError");
 }
 
-char* Events_Error::description() const
+const char* Events_Error::description() const
 {
-  return myDescription;
+  return myDescription.c_str();
 }
 
-void Events_Error::send(char* theDescription, const void* theSender)
+void Events_Error::send(const std::string& theDescription, const void* theSender)
 {
   std::shared_ptr<Events_Message> aNewOne = 
     std::shared_ptr<Events_Message>(new Events_Error(theDescription, theSender));
   Events_Loop::loop()->send(aNewOne);
 }
 
-void Events_Error::send(std::string theDescription, const void* theSender)
+void Events_Error::throwException(const std::string& theDescription)
 {
-  Events_Error::send((char*) theDescription.c_str(), theSender);
+#ifdef THROW_EMPTY_AIS_EXCEPTION
+  Events_Error::send(
+      std::string("An exception: ") + theDescription);
+#endif
 }