![]() ![]() No ads. No Profit. No Master, But Truth. |
Not a Member? - Login or Create an Account |
![]() |
Tuesday the 6th of January 2009 @ 11:01am |
LibN2L-4 Library Code ReferenceClassesCompounds Files Members Method Index Full Reference cConfParsingError.cppGo to the documentation of this file.00001 /************************************************************************ 00002 Nova-2 Library (libN2L, or simply n2l) Game development C++ Library 00003 Copyright (C) 2003 Aaron Cameron 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Lesser General Public 00007 License as published by the Free Software Foundation; either 00008 version 2.1 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Lesser General Public License for more details. 00014 00015 You should have received a copy of the GNU Lesser General Public 00016 License along with this library; if not, write to the Free Software 00017 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 00019 A copy of the GNU Lesser General Public License has been provided with 00020 this library in the file 'COPYING'. 00021 00022 Contact information for the author of this library has been provided 00023 with this library in the file 'AUTHOR'. 00024 ************************************************************************/ 00025 00026 #include "cConfParsingError.h" 00027 00028 namespace n2l 00029 { 00030 /* ************************************************************ */ 00031 cConfParsingError::cConfParsingError( const tErrorType iErrorType, 00032 const tString & iMessage, 00033 const tString & iKey, 00034 const tString & iValue, 00035 const tUint iLineNumber ) : 00036 mErrorType(iErrorType), 00037 mMessage(iMessage), 00038 mKey(iKey), 00039 mValue(iValue), 00040 mLineNumber(iLineNumber) 00041 { 00042 } 00043 00044 /* ************************************************************ */ 00045 const tString & cConfParsingError::typeStr() const 00046 { 00047 static const tString IllegalStr = "Illegal Type?"; 00048 static const tString UnknownStr = "Unknown"; 00049 static const tString SyntaxStr = "Syntax"; 00050 static const tString ValidationFailed = "Validation Failed"; 00051 00052 switch (type()) 00053 { 00054 case ErrorType_Unknown: 00055 return UnknownStr; 00056 00057 case ErrorType_Syntax: 00058 return SyntaxStr; 00059 00060 case ErrorType_ValidationFailed: 00061 return ValidationFailed; 00062 00063 default: 00064 return IllegalStr; 00065 } 00066 } 00067 00068 00069 /* ************************************************************ */ 00070 cConfParsingError::operator tString() const 00071 { 00072 tString str(typeStr()); 00073 str += ": "; 00074 str += message(); 00075 if (!key().empty()) { 00076 str += " with key: \""; 00077 str += key(); 00078 str += '\"'; 00079 } 00080 if (!value().empty()) { 00081 str += " with value: \""; 00082 str += value(); 00083 str += '\"'; 00084 } 00085 if (lineNumber()) { 00086 str += " on line: "; 00087 str += asString(lineNumber()); 00088 } 00089 return str; 00090 } 00091 00092 00093 00094 00095 } // Namespace |