00001 00008 /************************************************************************** 00009 00010 begin : Tue Dec 31 2002 00011 copyright : (C) 2002-2010 by Ewald Arnold 00012 email : mockpp at ewald-arnold dot de 00013 00014 This program is free software; you can redistribute it and/or modify 00015 it under the terms of the GNU Lesser General Public License as 00016 published by the Free Software Foundation; either version 2 of the License, 00017 or (at your option) any later version. 00018 00019 This program is distributed in the hope that it will be useful, 00020 but WITHOUT ANY WARRANTY; without even the implied warranty of 00021 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00022 GNU General Public License for more details. 00023 00024 You should have received a copy of the GNU Lesser General Public License 00025 along with this program; if not, write to the Free Software 00026 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00027 00028 **/ 00029 00030 #define MOCKPP_NEED_EXPORTS 00031 #include <mockpp/mockpp.h> // always first 00032 00033 #include <mockpp/compat/Exception.h> 00034 00035 00036 MOCKPP_NS_START 00037 00038 00039 MOCKPP_API_IMPL0 Exception::Exception(unsigned line, const char *file, const String &msg) 00040 : 00041 #ifdef MOCKPP_USE_STD_EXCEPTION 00042 MOCKPP_STD_NS::exception(), 00043 #endif 00044 message(msg), 00045 srcline(line), 00046 #ifdef MOCKPP_UNICODE 00047 srcfile(getUnicode(file)) 00048 #else 00049 srcfile(getLatin1(file)) 00050 #endif 00051 { 00052 } 00053 00054 00055 MOCKPP_API_IMPL0 Exception::~Exception () throw() 00056 { 00057 } 00058 00059 00060 #ifdef MOCKPP_USE_STD_EXCEPTION 00061 00062 MOCKPP_API_IMPL(const char *) Exception::what() const throw() 00063 { 00064 what_helper = getLatin1(getMessage()); 00065 return what_helper.c_str(); 00066 } 00067 00068 #endif 00069 00070 00071 MOCKPP_API_IMPL(String) Exception::getMessage() const 00072 { 00073 return message; 00074 } 00075 00076 00077 MOCKPP_API_IMPL(unsigned) Exception::getSrcLine() const 00078 { 00079 return srcline; 00080 } 00081 00082 00083 MOCKPP_API_IMPL(String) Exception::getSrcFile() const 00084 { 00085 return srcfile; 00086 } 00087 00088 00089 MOCKPP_NS_END 00090 00091