# messages.cpp

Go to the documentation of this file.

    00001 /***************************************************************************
    00002                           ofx_messages.cpp
    00003                              -------------------
    00004     copyright            : (C) 2002 by Benoit Grégoire
    00005     email                : bock@step.polymtl.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   case DEBUG :
    00064     if(ofx_DEBUG_msg==true){
    00065       cerr << "LibOFX DEBUG: " << message<<"\n";
    00066       show_line_number();
    00067     }
    00068     break;
    00069   case DEBUG1 :
    00070     if(ofx_DEBUG1_msg==true){
    00071       cerr << "LibOFX DEBUG1: " << message<<"\n";
    00072       show_line_number();
    00073     }
    00074     break;
    00075   case DEBUG2 :
    00076     if(ofx_DEBUG2_msg==true){
    00077       cerr << "LibOFX DEBUG2: " << message<<"\n";
    00078       show_line_number();
    00079     }
    00080     break;
    00081   case DEBUG3 :
    00082     if(ofx_DEBUG3_msg==true){
    00083       cerr << "LibOFX DEBUG3: " << message<<"\n";
    00084       show_line_number();
    00085     }
    00086     break;
    00087   case DEBUG4 :
    00088     if(ofx_DEBUG4_msg==true){
    00089       cerr << "LibOFX DEBUG4: " << message<<"\n";
    00090       show_line_number();
    00091     }
    00092     break;
    00093   case DEBUG5 :
    00094     if(ofx_DEBUG5_msg==true){
    00095       cerr << "LibOFX DEBUG5: " << message<<"\n";
    00096       show_line_number();
    00097     }
    00098     break;
    00099   case STATUS :
    00100     if(ofx_STATUS_msg==true){
    00101       cerr << "LibOFX STATUS: " << message<<"\n";
    00102       show_line_number();
    00103     }
    00104     break;
    00105   case INFO :
    00106     if(ofx_INFO_msg==true){
    00107       cerr << "LibOFX INFO: " << message<<"\n";
    00108       show_line_number();
    00109     }
    00110     break;
    00111   case WARNING :
    00112     if(ofx_WARNING_msg==true){
    00113       cerr << "LibOFX WARNING: " << message<<"\n";
    00114       show_line_number();
    00115     }
    00116     break;
    00117   case ERROR :
    00118     if(ofx_ERROR_msg==true){
    00119       cerr << "LibOFX ERROR: " << message<<"\n";
    00120       show_line_number();
    00121     }
    00122     break;
    00123   case PARSER :
    00124     if(ofx_PARSER_msg==true){
    00125       cerr << "LibOFX PARSER: " << message<<"\n";
    00126       show_line_number();
    00127     }
    00128     break;
    00129   default:
    00130     cerr << "LibOFX UNKNOWN ERROR CLASS, This is a bug in LibOFX\n";
    00131     show_line_number();
    00132   }
    00133
    00134   return 0;
    00135 }
    00136