00001 00008 /************************************************************************** 00009 00010 begin : Sat Sep 08 2007 00011 copyright : (C) 2007 by Ewald Arnold 00012 email : log4sendpp 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 00031 #define LOG4SENDPP_NEED_EXPORTS 00032 #include <log4sendpp/log4sendpp.h> // always first 00033 00034 #include <log4sendpp/exception.h> 00035 00036 00037 LOG4SENDPP_NS_START 00038 00039 00040 LOG4SENDPP_API_IMPL0 Exception::Exception(unsigned line, const char *file, const LOG4SENDPP_STD_NS::string &msg) 00041 : 00042 #ifdef LOG4SENDPP_USE_STD_EXCEPTION 00043 LOG4SENDPP_STD_NS::exception(), 00044 #endif 00045 message(msg), 00046 srcline(line), 00047 #ifdef LOG4SENDPP_UNICODE 00048 srcfile(getUnicode(file)) 00049 #else 00050 srcfile(file) 00051 #endif 00052 { 00053 } 00054 00055 00056 LOG4SENDPP_API_IMPL0 Exception::~Exception () throw() 00057 { 00058 } 00059 00060 00061 #ifdef LOG4SENDPP_USE_STD_EXCEPTION 00062 00063 LOG4SENDPP_API_IMPL(const char *) Exception::what() const throw() 00064 { 00065 what_helper = getMessage(); 00066 return what_helper.c_str(); 00067 } 00068 00069 #endif 00070 00071 00072 LOG4SENDPP_API_IMPL(LOG4SENDPP_STD_NS::string) Exception::getMessage() const 00073 { 00074 return message; 00075 } 00076 00077 00078 LOG4SENDPP_API_IMPL(unsigned) Exception::getSrcLine() const 00079 { 00080 return srcline; 00081 } 00082 00083 00084 LOG4SENDPP_API_IMPL(LOG4SENDPP_STD_NS::string) Exception::getSrcFile() const 00085 { 00086 return srcfile; 00087 } 00088 00089 00090 LOG4SENDPP_NS_END 00091