Salome HOME
crash fix: mirror (line, axis of sketch), select with rectangle, delete
[modules/shaper.git] / src / Events / Events_Error.h
index e5e611ab24ff7fc80b1d62e9c24d5a66dfdce992..b344c6e36f9a3319939a1d351e4247158a9d9d27 100644 (file)
  * Is generated by any algorithm or GUI of the application to inform the user about
  * the problem. In GUI mode all such errors are collected in the message log window.
  */
-class EVENTS_EXPORT Events_Error : public Events_Message
+class Events_Error : public Events_Message
 {
   std::string myDescription;  ///< the description of the error
 
 public:
   /// default destructor   
-  virtual ~Events_Error();
+  EVENTS_EXPORT virtual ~Events_Error();
 
   /// Identifier of this event (one for all errors)
-  static Events_ID errorID();
+  EVENTS_EXPORT static Events_ID errorID();
   /// Specific error string
-  const char* description() const;
+  EVENTS_EXPORT const char* description() const;
   /// Allows to send an error quickly: it creates and sends the error object automatically
-  static void send(const std::string& theDescription, const void* theSender = 0);
+  EVENTS_EXPORT static void send(const std::string& theDescription, const void* theSender = 0);
+
+  /// Throws a C++ exception about using an empty AIS object
+  /// \theDescription an exception information
+  EVENTS_EXPORT static void throwException(const std::string& theDescription);
 
 protected:
   /// Default constructor. Use "send" message for generation an error.
-  Events_Error(const std::string& theDescription, const void* theSender = 0);
+  EVENTS_EXPORT Events_Error(const std::string& theDescription, const void* theSender = 0);
 };
 
 #endif /* EVENTS_ERROR_H_ */