00001 /* 00002 * Copyright (C) 2006-2011, SRI International (R) 00003 * 00004 * This program is free software: you can redistribute it and/or modify 00005 * it under the terms of the GNU Lesser General Public License as published by 00006 * the Free Software Foundation, either version 3 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public License 00015 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00016 */ 00017 00018 #include <OpenKarto/Exception.h> 00019 00020 namespace karto 00021 { 00022 00023 Exception::Exception(const char* pMessage) 00024 : m_Message(pMessage) 00025 , m_ErrorCode(0) 00026 { 00027 } 00028 00029 Exception::Exception(const String& rMessage, kt_int32s errorCode) 00030 : m_Message(rMessage) 00031 , m_ErrorCode(errorCode) 00032 { 00033 } 00034 00035 Exception::Exception(const Exception& rException) 00036 : m_Message(rException.m_Message) 00037 , m_ErrorCode(rException.m_ErrorCode) 00038 { 00039 } 00040 00041 Exception::~Exception() 00042 { 00043 } 00044 00045 Exception& Exception::operator=(const Exception& rException) 00046 { 00047 if (&rException != this) 00048 { 00049 m_Message = rException.m_Message; 00050 m_ErrorCode = rException.m_ErrorCode; 00051 } 00052 00053 return *this; 00054 } 00055 00056 const String& Exception::GetErrorMessage() const 00057 { 00058 return m_Message; 00059 } 00060 00061 kt_int32s Exception::GetErrorCode() 00062 { 00063 return m_ErrorCode; 00064 } 00065 00066 }