diff --git a/modules/base/src/CMakeLists.txt b/modules/base/src/CMakeLists.txt index e0ac7c7cf188f6bc25c2444770ea5aa82301678d..5dbc9b808944558b318d3ce352d772934411aeb9 100644 --- a/modules/base/src/CMakeLists.txt +++ b/modules/base/src/CMakeLists.txt @@ -7,6 +7,7 @@ profile.cc units.cc string_ref.cc platform.cc +message.cc ) set(OST_BASE_HEADERS diff --git a/modules/base/src/message.cc b/modules/base/src/message.cc index bb25de374d4a5ac9c0b45bff66833c9937494716..7a53deb15384cf3648bf203a7815076d01d485ce 100644 --- a/modules/base/src/message.cc +++ b/modules/base/src/message.cc @@ -1,2 +1,17 @@ #include "message.hh" +namespace ost { + +Message::Message(const String& mesg,const String& prefix): + _prefix(prefix), _mesg(mesg) {} + +Message::~Message() throw() {} + +const char* Message::what() const throw() { + String msg = _prefix + ": " +_mesg; + return msg.c_str(); +} + +Error::Error(const String& m): Message(m,"Error") {} + +} \ No newline at end of file diff --git a/modules/base/src/message.hh b/modules/base/src/message.hh index 77bd64080e6e85e097a18a51a9dfa4c8ed8b80e0..d1b8a148c0e61077e93ddcdb4332536d04336ea2 100644 --- a/modules/base/src/message.hh +++ b/modules/base/src/message.hh @@ -31,22 +31,18 @@ namespace ost { -struct DLLEXPORT Message: public std::exception { - Message(const String& mesg,const String& prefix=""): - _prefix(prefix), _mesg(mesg) {} - virtual ~Message() throw() {} +struct DLLEXPORT_OST_BASE Message: public std::exception { + Message(const String& mesg,const String& prefix=""); + virtual ~Message() throw(); // exception interface - virtual const char* what() const throw() { - String msg = _prefix + ": " +_mesg; - return msg.c_str(); - } + virtual const char* what() const throw(); String _prefix; String _mesg; }; -struct DLLEXPORT Error: public Message { - Error(const String& m): Message(m,"Error") {} +struct DLLEXPORT_OST_BASE Error: public Message { + Error(const String& m); }; } // namespace