+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
/*
* Events_Error.h
*
#include <string>
-class EVENTS_EXPORT Events_Error: public Events_Message
+/**\class Events_Error
+ * \ingroup EventsLoop
+ * \brief An error message event.
+ *
+ * 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_Error : public Events_Message
{
- char* myDescription; ///< pointer to the description of the error
+ std::string myDescription; ///< the description of the error
public:
- virtual ~Events_Error();
+ /// default destructor
+ EVENTS_EXPORT virtual ~Events_Error();
+
+ /// Identifier of this event (one for all errors)
+ EVENTS_EXPORT static Events_ID errorID();
+ /// Specific error string
+ EVENTS_EXPORT const char* description() const;
+ /// Allows to send an error quickly: it creates and sends the error object automatically
+ EVENTS_EXPORT static void send(const std::string& theDescription, const void* theSender = 0);
- static Events_ID errorID();
- char* description() const;
- static void send(char* theDescription, const void* theSender = 0);
- static void send(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:
- Events_Error(char* theDescription, const void* theSender = 0);
+ /// Default constructor. Use "send" message for generation an error.
+ EVENTS_EXPORT Events_Error(const std::string& theDescription, const void* theSender = 0);
};
#endif /* EVENTS_ERROR_H_ */