RLogPublisher.h

00001 /*****************************************************************************
00002  * Author:   Valient Gough <vgough@pobox.com>
00003  *
00004  *****************************************************************************
00005  * Copyright (c) 2002-2003, 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 _RLogPublisher_incl_
00021 #define _RLogPublisher_incl_
00022 
00023 #include <rlog/common.h>
00024 #include <rlog/RLogNode.h>
00025 
00026 #include <stdarg.h>
00027 
00028 namespace rlog
00029 {
00030     class RLOG_DECL RLogChannel;
00031 
00032     // documentation in implementation file
00033     class RLOG_DECL RLogPublisher : public RLogNode
00034     {
00035     public:
00036         RLogPublisher(PublishLoc *src);
00037         RLogPublisher();
00038         virtual ~RLogPublisher();
00039 
00040         // metadata about the publisher and its publication
00041         PublishLoc *src;
00042    
00043         static void Publish( PublishLoc *, RLogChannel *, 
00044                              const char *format, ... );
00045         static void PublishVA( PublishLoc *, RLogChannel *, 
00046                              const char *format, va_list args );
00047 
00048     protected:
00049         virtual void setEnabled(bool newState);
00050 
00051         RLogPublisher( const RLogPublisher & );
00052         RLogPublisher & operator = ( const RLogPublisher & );
00053     };
00054 
00055 } // namespace rlog
00056 
00057 #endif
00058 

Generated on Mon Nov 20 22:57:44 2006 for rlog by  doxygen 1.5.0