00001 /***************************************************************************** 00002 * Author: Valient Gough <vgough@pobox.com> 00003 * 00004 ***************************************************************************** 00005 * Copyright (c) 2004, Valient Gough 00006 * 00007 * This library is free software; you can distribute it and/or modify it under 00008 * the terms of the GNU Lesser General Public License (LGPL), as published by 00009 * the Free Software Foundation; either version 2.1 of the License, or (at your 00010 * option) any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, but WITHOUT 00013 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00014 * FITNESS FOR A PARTICULAR PURPOSE. See the LGPL in the file COPYING for more 00015 * details. 00016 * 00017 */ 00018 00019 00020 #ifndef _StdioNode_incl_ 00021 #define _StdioNode_incl_ 00022 00023 #include <rlog/common.h> 00024 #include <rlog/RLogNode.h> 00025 00026 namespace rlog 00027 { 00028 // documentation in implementation file 00029 class RLOG_DECL StdioNode : public RLogNode 00030 { 00031 public: 00032 StdioNode( int fdOut = 2, bool colorize_if_tty = true ); 00033 virtual ~StdioNode(); 00034 00035 void subscribeTo( RLogNode *node ); 00036 00037 protected: 00038 virtual void publish( const RLogData &data ); 00039 00040 bool colorize; 00041 int fdOut; 00042 00043 StdioNode( const StdioNode & ); 00044 StdioNode &operator = ( const StdioNode & ); 00045 }; 00046 00047 } 00048 00049 #endif