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 00025 SGMLApplication::OpenEntityPtr entity_ptr; 00026 SGMLApplication::Position position; 00028 volatile int ofx_PARSER_msg = false; 00029 volatile int ofx_DEBUG_msg = false; 00030 volatile int ofx_DEBUG1_msg = false; 00031 volatile int ofx_DEBUG2_msg = false; 00032 volatile int ofx_DEBUG3_msg = false; 00033 volatile int ofx_DEBUG4_msg = false; 00034 volatile int ofx_DEBUG5_msg = false; 00035 volatile int ofx_STATUS_msg = false; 00036 volatile int ofx_INFO_msg = false; 00037 volatile int ofx_WARNING_msg = false; 00038 volatile int ofx_ERROR_msg = false; 00039 volatile int ofx_show_position = true; 00041 void show_line_number() 00042 { 00043 extern SGMLApplication::OpenEntityPtr entity_ptr; 00044 extern SGMLApplication::Position position; 00045 00046 00047 if ((ofx_show_position == true)) 00048 { 00049 SGMLApplication::Location *location = new SGMLApplication::Location(entity_ptr, position); 00050 cerr << "(Above message occured on Line " << location->lineNumber << ", Column " << location->columnNumber << ")" << endl; 00051 delete location; 00052 } 00053 } 00054 00058 int message_out(OfxMsgType error_type, const string message) 00059 { 00060 00061 00062 switch (error_type) 00063 { 00064 case DEBUG : 00065 if (ofx_DEBUG_msg == true) 00066 { 00067 cerr << "LibOFX DEBUG: " << message << "\n"; 00068 show_line_number(); 00069 } 00070 break; 00071 case DEBUG1 : 00072 if (ofx_DEBUG1_msg == true) 00073 { 00074 cerr << "LibOFX DEBUG1: " << message << "\n"; 00075 show_line_number(); 00076 } 00077 break; 00078 case DEBUG2 : 00079 if (ofx_DEBUG2_msg == true) 00080 { 00081 cerr << "LibOFX DEBUG2: " << message << "\n"; 00082 show_line_number(); 00083 } 00084 break; 00085 case DEBUG3 : 00086 if (ofx_DEBUG3_msg == true) 00087 { 00088 cerr << "LibOFX DEBUG3: " << message << "\n"; 00089 show_line_number(); 00090 } 00091 break; 00092 case DEBUG4 : 00093 if (ofx_DEBUG4_msg == true) 00094 { 00095 cerr << "LibOFX DEBUG4: " << message << "\n"; 00096 show_line_number(); 00097 } 00098 break; 00099 case DEBUG5 : 00100 if (ofx_DEBUG5_msg == true) 00101 { 00102 cerr << "LibOFX DEBUG5: " << message << "\n"; 00103 show_line_number(); 00104 } 00105 break; 00106 case STATUS : 00107 if (ofx_STATUS_msg == true) 00108 { 00109 cerr << "LibOFX STATUS: " << message << "\n"; 00110 show_line_number(); 00111 } 00112 break; 00113 case INFO : 00114 if (ofx_INFO_msg == true) 00115 { 00116 cerr << "LibOFX INFO: " << message << "\n"; 00117 show_line_number(); 00118 } 00119 break; 00120 case WARNING : 00121 if (ofx_WARNING_msg == true) 00122 { 00123 cerr << "LibOFX WARNING: " << message << "\n"; 00124 show_line_number(); 00125 } 00126 break; 00127 case ERROR : 00128 if (ofx_ERROR_msg == true) 00129 { 00130 cerr << "LibOFX ERROR: " << message << "\n"; 00131 show_line_number(); 00132 } 00133 break; 00134 case PARSER : 00135 if (ofx_PARSER_msg == true) 00136 { 00137 cerr << "LibOFX PARSER: " << message << "\n"; 00138 show_line_number(); 00139 } 00140 break; 00141 default: 00142 cerr << "LibOFX UNKNOWN ERROR CLASS, This is a bug in LibOFX\n"; 00143 show_line_number(); 00144 } 00145 00146 return 0; 00147 } 00148