00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
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     
00033     class RLOG_DECL RLogPublisher : public RLogNode
00034     {
00035     public:
00036         RLogPublisher(PublishLoc *src);
00037         RLogPublisher();
00038         virtual ~RLogPublisher();
00039 
00040         
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 } 
00056 
00057 #endif
00058