LibOFX
|
00001 /*************************************************************************** 00002 ofx_messages.cpp 00003 ------------------- 00004 copyright : (C) 2002 by Benoit Gr�goire 00005 email : benoitg@coeus.ca 00006 ***************************************************************************/ 00010 /*************************************************************************** 00011 * * 00012 * This program is free software; you can redistribute it and/or modify * 00013 * it under the terms of the GNU General Public License as published by * 00014 * the Free Software Foundation; either version 2 of the License, or * 00015 * (at your option) any later version. * 00016 * * 00017 ***************************************************************************/ 00018 #include <iostream> 00019 #include <stdlib.h> 00020 #include <string> 00021 #include "ParserEventGeneratorKit.h" 00022 #include "ofx_utilities.hh" 00023 #include "messages.hh" 00024 #include "config.h" 00025 #include "libofx.h" 00026 00027 SGMLApplication::OpenEntityPtr entity_ptr; 00028 SGMLApplication::Position position; 00030 int ofx_PARSER_msg = false; 00031 int ofx_DEBUG_msg = false; 00032 int ofx_DEBUG1_msg = false; 00033 int ofx_DEBUG2_msg = false; 00034 int ofx_DEBUG3_msg = false; 00035 int ofx_DEBUG4_msg = false; 00036 int ofx_DEBUG5_msg = false; 00037 int ofx_STATUS_msg = false; 00038 int ofx_INFO_msg = false; 00039 int ofx_WARNING_msg = false; 00040 int ofx_ERROR_msg = false; 00041 int ofx_show_position = true; 00043 void show_line_number() 00044 { 00045 extern SGMLApplication::OpenEntityPtr entity_ptr; 00046 extern SGMLApplication::Position position; 00047 00048 00049 if (ofx_show_position == true) 00050 { 00051 SGMLApplication::Location *location = new SGMLApplication::Location(entity_ptr, position); 00052 cerr << "(Above message occured on Line " << location->lineNumber << ", Column " << location->columnNumber << ")" << endl; 00053 delete location; 00054 } 00055 } 00056 00060 int message_out(OfxMsgType error_type, const string message) 00061 { 00062 00063 00064 switch (error_type) 00065 { 00066 case DEBUG : 00067 if (ofx_DEBUG_msg == true) 00068 { 00069 cerr << "LibOFX DEBUG: " << message << "\n"; 00070 show_line_number(); 00071 } 00072 break; 00073 case DEBUG1 : 00074 if (ofx_DEBUG1_msg == true) 00075 { 00076 cerr << "LibOFX DEBUG1: " << message << "\n"; 00077 show_line_number(); 00078 } 00079 break; 00080 case DEBUG2 : 00081 if (ofx_DEBUG2_msg == true) 00082 { 00083 cerr << "LibOFX DEBUG2: " << message << "\n"; 00084 show_line_number(); 00085 } 00086 break; 00087 case DEBUG3 : 00088 if (ofx_DEBUG3_msg == true) 00089 { 00090 cerr << "LibOFX DEBUG3: " << message << "\n"; 00091 show_line_number(); 00092 } 00093 break; 00094 case DEBUG4 : 00095 if (ofx_DEBUG4_msg == true) 00096 { 00097 cerr << "LibOFX DEBUG4: " << message << "\n"; 00098 show_line_number(); 00099 } 00100 break; 00101 case DEBUG5 : 00102 if (ofx_DEBUG5_msg == true) 00103 { 00104 cerr << "LibOFX DEBUG5: " << message << "\n"; 00105 show_line_number(); 00106 } 00107 break; 00108 case STATUS : 00109 if (ofx_STATUS_msg == true) 00110 { 00111 cerr << "LibOFX STATUS: " << message << "\n"; 00112 show_line_number(); 00113 } 00114 break; 00115 case INFO : 00116 if (ofx_INFO_msg == true) 00117 { 00118 cerr << "LibOFX INFO: " << message << "\n"; 00119 show_line_number(); 00120 } 00121 break; 00122 case WARNING : 00123 if (ofx_WARNING_msg == true) 00124 { 00125 cerr << "LibOFX WARNING: " << message << "\n"; 00126 show_line_number(); 00127 } 00128 break; 00129 case ERROR : 00130 if (ofx_ERROR_msg == true) 00131 { 00132 cerr << "LibOFX ERROR: " << message << "\n"; 00133 show_line_number(); 00134 } 00135 break; 00136 case PARSER : 00137 if (ofx_PARSER_msg == true) 00138 { 00139 cerr << "LibOFX PARSER: " << message << "\n"; 00140 show_line_number(); 00141 } 00142 break; 00143 default: 00144 cerr << "LibOFX UNKNOWN ERROR CLASS, This is a bug in LibOFX\n"; 00145 show_line_number(); 00146 } 00147 00148 return 0; 00149 } 00150