#include <Events_Error.h>
#include <Events_Loop.h>
-Events_Error::Events_Error(char* theDescription, const void* theSender)
+Events_Error::Events_Error(const std::string& theDescription, const void* theSender)
: Events_Message(Events_Error::errorID(), theSender)
{
myDescription = theDescription;
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)
-{
- Events_Error::send((char*) theDescription.c_str(), theSender);
-}
*/
class EVENTS_EXPORT Events_Error : public Events_Message
{
- char* myDescription; ///< pointer to the description of the error
+ std::string myDescription; ///< the description of the error
public:
/// default destructor
/// Identifier of this event (one for all errors)
static Events_ID errorID();
/// Specific error string
- char* description() const;
+ const char* description() const;
/// Allows to send an error quickly: it creates and sends the error object automatically
- static void send(char* theDescription, const void* theSender = 0);
- /// Allows to send an error quickly: it creates and sends the error object automatically
- static void send(std::string theDescription, const void* theSender = 0);
+ static void send(const std::string& theDescription, const void* theSender = 0);
protected:
/// Default constructor. Use "send" message for generation an error.
- Events_Error(char* theDescription, const void* theSender = 0);
+ Events_Error(const std::string& theDescription, const void* theSender = 0);
};
#endif /* EVENTS_ERROR_H_ */