Newer
Older
/*
* Copyright 2010,
* François Bleibel,
* Olivier Stasse,
Francois Bleibel
committed
*
Francois Bleibel
committed
*
* This file is part of dynamic-graph.
* dynamic-graph is free software: you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version.
* dynamic-graph is distributed in the hope that it will be
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details. You should
* have received a copy of the GNU Lesser General Public License along
* with dynamic-graph. If not, see <http://www.gnu.org/licenses/>.
*/
Francois Bleibel
committed
Francois Bleibel
committed
#include <dynamic-graph/debug.h>
Francois Bleibel
committed
#include <fstream>
#include <ios>
using namespace dynamicgraph;
#ifdef WIN32
const char * DebugTrace::DEBUG_FILENAME_DEFAULT = "c:/tmp/dynamic-graph-traces.txt";
Francois Bleibel
committed
#else /*WIN32*/
const char * DebugTrace::DEBUG_FILENAME_DEFAULT = "/tmp/dynamic-graph-traces.txt";
Francois Bleibel
committed
#endif /*WIN32*/
#ifdef VP_DEBUG
#ifdef WIN32
std::ofstream dg_debugfile( "C:/tmp/dynamic-graph-traces.txt", std::ios::trunc&std::ios::out );
Francois Bleibel
committed
#else /*WIN32*/
std::ofstream dg_debugfile( "/tmp/dynamic-graph-traces.txt", std::ios::trunc&std::ios::out );
Francois Bleibel
committed
#endif /*WIN32*/
#else
std::ofstream dg_debugfile; //( "/dev/null", std::ios::trunc&std::ios::out );
Francois Bleibel
committed
{
public:
Francois Bleibel
committed
{ dg_debugfile.setstate( std::ios::failbit ) ; /* dg_debugfile.close(); */ }
};
Francois Bleibel
committed
#endif
namespace dynamicgraph {
DebugTrace dgDEBUGFLOW(dg_debugfile);
DebugTrace dgERRORFLOW(dg_debugfile);
}
Francois Bleibel
committed
void DebugTrace::openFile( const char * filename )
{
if( dg_debugfile.good()&&dg_debugfile.is_open() ) dg_debugfile.close();
dg_debugfile.clear();
dg_debugfile.open( filename, std::ios::trunc&std::ios::out );
//std::cout << filename << dg_debugfile.good() << dg_debugfile.is_open() << std::endl;
}
void DebugTrace::closeFile( const char * filename )
{
if( dg_debugfile.good()&&dg_debugfile.is_open() ) { dg_debugfile.close(); }
dg_debugfile.setstate( std::ios::failbit ) ;
}
//DebugTrace dgDebugFLOW(std::cout);
//DebugTrace dgERRORFLOW(std::cerr);