Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | Related Pages

xmog_tracer.h

00001 /*
00002  * Copyright 1999-2006 by Codemesh, Inc.  ALL RIGHTS RESERVED.
00003  */
00004 
00005 #ifndef xmog_tracer_inc
00006 #define xmog_tracer_inc
00007 
00008 
00009 #include "xmog.h"
00010 
00046 
00052 enum xmog_trace_facility
00053 {
00054     TraceNothing = 0,
00055     TraceJvm = 1,
00056     TraceThread = 2,
00057     TraceJni = 4,
00058     TraceRemote = 8,
00059     TraceAll = 15,
00060     TraceEverything = 15
00061 };
00062 
00063 
00069 enum xmog_trace_level
00070 {
00071     TraceDisabled = 0,
00072     TraceErrors = 1,
00073     TraceError = 1,
00074     TraceWarnings = 2,
00075     TraceInfo = 3,
00076     TraceFinest = 4,
00077     TraceVerbose = 4,
00078     TraceUnconditional = 5
00079 };
00080 
00081 
00091 typedef void (JNICALL *XMOG_TRACE)( FILE * fpTrace, int traceLevel, const char * format, va_list args );
00092 
00108 extern "C" XMOG_DECLSPEC void JNICALL traceOutputDebugString( FILE * fpTrace, int traceLevel, const char * format, va_list args );
00109 
00125 extern "C" XMOG_DECLSPEC void JNICALL traceEventLog( FILE * fpTrace, int traceLevel, const char * format, va_list args );
00126 
00127 
00136 class XMOG_DECLSPEC xmog_tracer
00137 {
00138 public:
00139 
00148     static void JNICALL traceOutputDebugString( FILE * fpTrace, int traceLevel, const char * format, va_list args );
00149 
00158     static void JNICALL traceEventLog( FILE * fpTrace, int traceLevel, const char * format, va_list args );
00159 
00168     virtual void    trace( int fac, xmog_trace_level level, const char * format, ... ) = 0;
00169 
00178     virtual void    trace( xmog_trace_facility fac, xmog_trace_level level, const char * format, ... ) = 0;
00179 };
00180 
00181 
00182 class xmog_inout_tracer
00183 {
00184 public:
00185 
00186     xmog_inout_tracer( xmog_tracer * tracer, int fac, xmog_trace_level level, const char * name );
00187 
00188     ~xmog_inout_tracer();
00189 
00190 private:
00191 
00192     xmog_tracer * tracer_;
00193 
00194     int             fac_;
00195 
00196     xmog_trace_level level_;
00197 
00198     const char *    name_;
00199 };
00200 
00201 #endif /* xmog_tracer_inc */

Generated on Wed May 31 14:01:19 2006 for Shared Codemesh Runtime Library API Reference by  doxygen 1.4.1