(file) Return to Tracer.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/Tracer.h between version 1.17 and 1.26

version 1.17, 2005/01/19 23:48:05 version 1.26, 2006/06/21 19:21:34
Line 1 
Line 1 
 //%2004////////////////////////////////////////////////////////////////////////  //%2006////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
Line 6 
Line 6 
 // IBM Corp.; EMC Corporation, The Open Group. // IBM Corp.; EMC Corporation, The Open Group.
 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; Symantec Corporation; The Open Group.
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to // of this software and associated documentation files (the "Software"), to
Line 30 
Line 34 
 // Modified By: Jenny Yu, Hewlett-Packard Company (jenny_yu@hp.com) // Modified By: Jenny Yu, Hewlett-Packard Company (jenny_yu@hp.com)
 //              Amit K Arora, IBM (amita@in.ibm.com) for PEP#101 //              Amit K Arora, IBM (amita@in.ibm.com) for PEP#101
 //              Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com) //              Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
   //              David Dillard, Symantec Corp. (david_dillard@symantec.com)
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 37 
Line 42 
 #define Pegasus_Tracer_h #define Pegasus_Tracer_h
  
 #include <stdarg.h> #include <stdarg.h>
 #include <fstream>  
 #include <Pegasus/Common/String.h> #include <Pegasus/Common/String.h>
 #include <Pegasus/Common/System.h> #include <Pegasus/Common/System.h>
 #include <Pegasus/Common/Logger.h> #include <Pegasus/Common/Logger.h>
Line 49 
Line 53 
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 /** Tracer implements tracing of messages to a defined file  /** Token used for tracing functions.
  */  */
   struct TracerToken
   {
       Uint32 component;
       const char* method;
   };
  
   /** Tracer implements tracing of messages to a defined file
    */
 class PEGASUS_COMMON_LINKAGE Tracer class PEGASUS_COMMON_LINKAGE Tracer
 { {
 public: public:
Line 69 
Line 80 
     static const Uint32 LEVEL3;     static const Uint32 LEVEL3;
     static const Uint32 LEVEL4;     static const Uint32 LEVEL4;
  
     // PEGASUS_REMOVE_TRACE defines the compile time inclusion of the Trace  
     // interfaces. If defined the interfaces map to empty functions  
   
     #ifdef PEGASUS_REMOVE_TRACE  
   
         inline static void traceBuffer(  
             const char*  fileName,  
             const Uint32 lineNum,  
             const Uint32 traceComponent,  
             const Uint32 traceLevel,  
             const char*  data,  
             const Uint32 size)  
         {  
             // empty function  
         }  
         inline static void traceBuffer(  
             const Uint32 traceComponent,  
             const Uint32 traceLevel,  
             const char* data,  
             const Uint32 size)  
         {  
             // empty function  
         }  
   
         inline static void trace(  
             const Uint32 traceComponent,  
             const Uint32 traceLevel,  
             const char *fmt,  
             ...)  
         {  
             // empty function  
         }  
   
         inline static void trace(  
             const char*  fileName,  
             const Uint32 lineNum,  
             const Uint32 traceComponent,  
             const Uint32 traceLevel,  
             const char* fmt,  
             ...)  
         {  
             // empty function  
         }  
   
         inline static void trace(  
             const char*   fileName,  
             const Uint32  lineNum,  
             const Uint32  traceComponent,  
             const Uint32  traceLevel,  
             const String& traceString)  
         {  
             // empty function  
         }  
   
         inline static void traceCIMException(  
             const Uint32  traceComponent,  
             const Uint32  traceLevel,  
             CIMException  cimException)  
         {  
             // empty function  
         }  
   
         static Uint32 setTraceFile(const char* traceFile)  
         {  
             // empty function  
             return 0;  
         }  
   
         static Uint32 setTraceLevel(const Uint32 traceLevel)  
         {  
             // empty function  
             return 0;  
         }  
   
         static void setTraceComponents(  
           const String& traceComponents)  
         {  
               // empty function  
         }  
   
   
     #else  
         /** Traces the specified number of bytes in a given buffer         /** Traces the specified number of bytes in a given buffer
             @param    traceComponent  component being traced             @param    traceComponent  component being traced
             @param    traceLevel      trace level of the trace message          @param    level      trace level of the trace message
             @param    data            buffer to be traced             @param    data            buffer to be traced
             @param    size            number of bytes to be traced             @param    size            number of bytes to be traced
          */          */
         inline static void traceBuffer(      static void traceBuffer(
             const Uint32 traceComponent,             const Uint32 traceComponent,
             const Uint32 traceLevel,          const Uint32 level,
             const char*  data,             const char*  data,
             const Uint32 size)          const Uint32 size);
         {  
             _traceBuffer( traceComponent, traceLevel, data, size );  
         }  
  
         /** Traces the specified number of bytes in a given buffer         /** Traces the specified number of bytes in a given buffer
             Overloaded to include the filename and the line number             Overloaded to include the filename and the line number
Line 172 
Line 98 
             @param    fileName        filename of the trace originator             @param    fileName        filename of the trace originator
             @param    lineNum         line number of the trace originator             @param    lineNum         line number of the trace originator
             @param    traceComponent  component being traced             @param    traceComponent  component being traced
             @param    traceLevel      trace level of the trace message          @param    level      trace level of the trace message
             @param    data            buffer to be traced             @param    data            buffer to be traced
             @param    size            size of the buffer             @param    size            size of the buffer
          */          */
         inline static void traceBuffer(      static void traceBuffer(
             const char*  fileName,             const char*  fileName,
             const Uint32 lineNum,             const Uint32 lineNum,
             const Uint32 traceComponent,             const Uint32 traceComponent,
             const Uint32 traceLevel,          const Uint32 level,
             const char*  data,             const char*  data,
             const Uint32 size)          const Uint32 size);
         {  
             _traceBuffer( fileName, lineNum,  
                           traceComponent, traceLevel, data, size );  
         }  
   
  
         /** Traces the given message         /** Traces the given message
             @param    traceComponent  component being traced             @param    traceComponent  component being traced
             @param    traceLevel      trace level of the trace message          @param    level      trace level of the trace message
             @param    *fmt            printf style format string             @param    *fmt            printf style format string
             @param    ...             variable argument list             @param    ...             variable argument list
          */          */
         inline static void trace(      static void trace(
             const Uint32 traceComponent,             const Uint32 traceComponent,
             const Uint32 traceLevel,          const Uint32 level,
             const char *fmt,             const char *fmt,
             ...)          ...);
         {  
             va_list argList;  
   
             va_start(argList,fmt);  
             _trace(traceComponent,traceLevel,fmt,argList);  
             va_end(argList);  
         }  
  
         /** Traces the given message. Overloaded to include the filename and         /** Traces the given message. Overloaded to include the filename and
             the line number of trace origin.             the line number of trace origin.
             @param    fileName        filename of the trace originator             @param    fileName        filename of the trace originator
             @param    lineNum         line number of the trace originator             @param    lineNum         line number of the trace originator
             @param    traceComponent  component being traced             @param    traceComponent  component being traced
             @param    traceLevel      trace level of the trace message          @param    level      trace level of the trace message
             @param    *fmt            printf style format string             @param    *fmt            printf style format string
             @param    ...             variable argument list             @param    ...             variable argument list
          */          */
         inline static void trace(      static void trace(
             const char* fileName,             const char* fileName,
             const Uint32 lineNum,             const Uint32 lineNum,
             const Uint32 traceComponent,             const Uint32 traceComponent,
             const Uint32 traceLevel,          const Uint32 level,
             const char* fmt,             const char* fmt,
             ...)          ...);
         {  
             va_list argList;  
   
             va_start(argList,fmt);  
             _trace(fileName,lineNum,traceComponent,traceLevel,fmt,argList);  
             va_end(argList);  
         }  
  
         /** Traces the given string.  Overloaded to include the filename         /** Traces the given string.  Overloaded to include the filename
             and line number of trace origin.             and line number of trace origin.
             @param    fileName        filename of the trace originator             @param    fileName        filename of the trace originator
             @param    lineNum         line number of the trace originator             @param    lineNum         line number of the trace originator
             @param    traceComponent  component being traced             @param    traceComponent  component being traced
             @param    traceLevel      trace level of the trace message          @param    level      trace level of the trace message
             @param    traceString     the string to be traced          @param    string     the string to be traced
          */          */
         inline static void trace(      static void trace(
             const char*   fileName,             const char*   fileName,
             const Uint32  lineNum,             const Uint32  lineNum,
             const Uint32  traceComponent,             const Uint32  traceComponent,
             const Uint32  traceLevel,          const Uint32  level,
             const String& traceString)          const String& string);
         {  
             _traceString( fileName, lineNum, traceComponent, traceLevel,      /** Traces the given string.
                           traceString );          @param    fileName        filename of the trace originator
         }          @param    lineNum         line number of the trace originator
           @param    traceComponent  component being traced
           @param    level      trace level of the trace message
           @param    string     the string to be traced
        */
       static void trace(
           const Uint32  traceComponent,
           const Uint32  level,
           const String& string);
  
         /** Traces the message in the given CIMException object.  The message         /** Traces the message in the given CIMException object.  The message
             written to the trace file will include the source filename and             written to the trace file will include the source filename and
             line number of the CIMException originator.             line number of the CIMException originator.
             @param    traceComponent  component being traced             @param    traceComponent  component being traced
             @param    traceLevel      trace level of the trace message          @param    level      trace level of the trace message
             @param    CIMException    the CIMException to be traced.             @param    CIMException    the CIMException to be traced.
          */          */
         inline static void traceCIMException(      static void traceCIMException(
             const Uint32  traceComponent,             const Uint32  traceComponent,
             const Uint32  traceLevel,          const Uint32  level,
             CIMException  cimException)          CIMException  cimException);
         {  
             _traceCIMException( traceComponent, traceLevel, cimException );  
         }  
  
         /** Set the trace file to the given file         /** Set the trace file to the given file
             @param    traceFile       full path of the trace file             @param    traceFile       full path of the trace file
Line 276 
Line 188 
         static Uint32 setTraceFile(const char* traceFile);         static Uint32 setTraceFile(const char* traceFile);
  
         /** Set the trace level to the given level         /** Set the trace level to the given level
             @param    traceLevel      trace level to be set          @param    level      trace level to be set
             @return   0               if trace level is valid             @return   0               if trace level is valid
                       1               if trace level is invalid                       1               if trace level is invalid
         */         */
         static Uint32 setTraceLevel(const Uint32 traceLevel);      static Uint32 setTraceLevel(const Uint32 level);
  
         /** Set components to be traced         /** Set components to be traced
             @param    traceComponents list of components to be traced,             @param    traceComponents list of components to be traced,
Line 289 
Line 201 
         static void setTraceComponents(         static void setTraceComponents(
            const String& traceComponents);            const String& traceComponents);
  
     #endif      /** Traces method entry.
           @param    token           TracerToken
           @param    traceComponent  component being traced
           @param    methodName      method being traced
        */
       static void traceEnter(
           TracerToken& token,
           Uint32 component,
           const char* method);
  
     // End of PEGASUS_REMOVE_TRACE      /** Traces method exit.
           @param    token           TracerToken containing component and method
       */
       static void traceExit(
           TracerToken& token);
  
     /** Traces method entry.     /** Traces method entry.
           @param    token           TracerToken
         @param    fileName        filename of the trace originator         @param    fileName        filename of the trace originator
         @param    lineNum         line number of the trace originator         @param    lineNum         line number of the trace originator
         @param    traceComponent  component being traced         @param    traceComponent  component being traced
         @param    methodName      method being traced         @param    methodName      method being traced
      */      */
     inline static void traceEnter(      static void traceEnter(
         const char* fileName,          TracerToken& token,
         const Uint32 lineNum,          const char* file,
         const Uint32 traceComponent,          size_t line,
         const char* methodName)          Uint32 component,
     {          const char* method);
         _traceEnter( fileName, lineNum, traceComponent, "%s %s",  
             _METHOD_ENTER_MSG, methodName);  
     }  
  
     /** Traces method exit.     /** Traces method exit.
           @param    token           TracerToken containing component and method
         @param    fileName        filename of the trace originator         @param    fileName        filename of the trace originator
         @param    lineNum         line number of the trace originator         @param    lineNum         line number of the trace originator
         @param    traceComponent  component being traced  
         @param    methodName      method being traced  
      */      */
     inline static void traceExit(      static void traceExit(
         const char* fileName,          TracerToken& token,
         const Uint32 lineNum,          const char* file,
         const Uint32 traceComponent,          size_t line);
         const char* methodName)  
     {  
         _traceExit( fileName, lineNum, traceComponent, "%s %s",  
             _METHOD_EXIT_MSG, methodName);  
     }  
  
     /** Validates the File Path for the trace File     /** Validates the File Path for the trace File
         @param    filePath full path of the file         @param    filePath full path of the file
Line 355 
Line 271 
      */      */
     static void setModuleName(const String& moduleName);     static void setModuleName(const String& moduleName);
  
       /**
       */
       static Boolean isTraceOn() { return _traceOn; }
   
 private: private:
  
       /** A static single indicator if tracing is turned on allowing to
           determine the state of trace quickly without many instructions.
           Used to wrap the public static trace interface methods to avoid
           obsolete calls when tracing is turned off.
        */
       static Boolean _traceOn;
   
     static const char   _COMPONENT_SEPARATOR;     static const char   _COMPONENT_SEPARATOR;
     static const Uint32 _NUM_COMPONENTS;     static const Uint32 _NUM_COMPONENTS;
     static const Uint32 _STRLEN_MAX_UNSIGNED_INT;     static const Uint32 _STRLEN_MAX_UNSIGNED_INT;
Line 378 
Line 305 
  
     // Checks if trace is enabled for the given component and trace level     // Checks if trace is enabled for the given component and trace level
     // @param    traceComponent  component being traced     // @param    traceComponent  component being traced
     // @param    traceLevel      level of the trace message      // @param    level      level of the trace message
     // @return   0               if the component and level are not enabled     // @return   0               if the component and level are not enabled
     //           1               if the component and level are enabled     //           1               if the component and level are enabled
     static Boolean _isTraceEnabled(     static Boolean _isTraceEnabled(
         const Uint32 traceComponent,         const Uint32 traceComponent,
         const Uint32 traceLevel);          const Uint32 level);
  
     // Traces the given message     // Traces the given message
     //  @param    traceComponent  component being traced     //  @param    traceComponent  component being traced
     //  @param    traceLevel      level of the trace message      //  @param    level      level of the trace message
     //  @param    *fmt            printf style format string     //  @param    *fmt            printf style format string
     //  @param    argList         variable argument list     //  @param    argList         variable argument list
     static void _trace(     static void _trace(
         const Uint32 traceComponent,         const Uint32 traceComponent,
         const Uint32 traceLevel,          const Uint32 level,
         const char* fmt,         const char* fmt,
         va_list argList);         va_list argList);
  
     // Traces the given message. Overloaded to include the file name and the     // Traces the given message. Overloaded to include the file name and the
     // line number as one of the parameters.     // line number as one of the parameters.
     // @param    traceComponent  component being traced     // @param    traceComponent  component being traced
     // @param    traceLevel      level of the trace message      // @param    level      level of the trace message
     // @param    message         message header (file name:line number)     // @param    message         message header (file name:line number)
     // @param    *fmt            printf style format string     // @param    *fmt            printf style format string
     // @param    argList         variable argument list     // @param    argList         variable argument list
Line 407 
Line 334 
         const char* fileName,         const char* fileName,
         const Uint32 lineNum,         const Uint32 lineNum,
         const Uint32 traceComponent,         const Uint32 traceComponent,
         const Uint32 traceLevel,          const Uint32 level,
         const char* fmt,         const char* fmt,
         va_list argList);         va_list argList);
  
     //  Traces the specified number of bytes in a given buffer     //  Traces the specified number of bytes in a given buffer
     //  @param    traceComponent  component being traced     //  @param    traceComponent  component being traced
     //  @param    traceLevel      trace level of the trace message      //  @param    level      trace level of the trace message
     //  @param    data            buffer to be traced     //  @param    data            buffer to be traced
     //  @param    size            number of bytes to be traced     //  @param    size            number of bytes to be traced
     static void _traceBuffer(     static void _traceBuffer(
         const Uint32 traceComponent,         const Uint32 traceComponent,
         const Uint32 traceLevel,          const Uint32 level,
         const char*  data,         const char*  data,
         const Uint32 size);         const Uint32 size);
  
Line 428 
Line 355 
     //  @param    fileName        filename of the trace originator     //  @param    fileName        filename of the trace originator
     //  @param    lineNum         line number of the trace originator     //  @param    lineNum         line number of the trace originator
     //  @param    traceComponent  component being traced     //  @param    traceComponent  component being traced
     //  @param    traceLevel      trace level of the trace message      //  @param    level      trace level of the trace message
     //  @param    data            buffer to be traced     //  @param    data            buffer to be traced
     //  @param    size            size of the buffer     //  @param    size            size of the buffer
     static void _traceBuffer(     static void _traceBuffer(
         const char*  fileName,         const char*  fileName,
         const Uint32 lineNum,         const Uint32 lineNum,
         const Uint32 traceComponent,         const Uint32 traceComponent,
         const Uint32 traceLevel,          const Uint32 level,
         const char*  data,         const char*  data,
         const Uint32 size);         const Uint32 size);
  
     //  Traces the given string.     //  Traces the given string.
     //  @param    traceComponent  component being traced     //  @param    traceComponent  component being traced
     //  @param    traceLevel      trace level of the trace message      //  @param    level      trace level of the trace message
     //  @param    traceString     the string to be traced      //  @param    string     the string to be traced
     //     //
     static void _traceString(     static void _traceString(
         const Uint32  traceComponent,         const Uint32  traceComponent,
         const Uint32  traceLevel,          const Uint32  level,
         const String& traceString);          const String& string);
  
     //  Traces a given string.  Overloaded to include the filename     //  Traces a given string.  Overloaded to include the filename
     //  and line number of trace origin.     //  and line number of trace origin.
     //  @param    fileName        filename of the trace originator     //  @param    fileName        filename of the trace originator
     //  @param    lineNum         line number of the trace originator     //  @param    lineNum         line number of the trace originator
     //  @param    traceComponent  component being traced     //  @param    traceComponent  component being traced
     //  @param    traceLevel      trace level of the trace message      //  @param    level      trace level of the trace message
     //  @param    traceString     the string to be traced      //  @param    string     the string to be traced
     //     //
     static void _traceString(     static void _traceString(
         const char*   fileName,         const char*   fileName,
         const Uint32  lineNum,         const Uint32  lineNum,
         const Uint32  traceComponent,         const Uint32  traceComponent,
         const Uint32  traceLevel,          const Uint32  level,
         const String& traceString);          const String& string);
  
     //  Traces the message in the given CIMException object.  The message     //  Traces the message in the given CIMException object.  The message
     //  to be written to the trace file will include the source filename and     //  to be written to the trace file will include the source filename and
     //  line number of the CIMException originator.     //  line number of the CIMException originator.
     //  @param    traceComponent  component being traced     //  @param    traceComponent  component being traced
     //  @param    traceLevel      trace level of the trace message      //  @param    level      trace level of the trace message
     //  @param    CIMException    the CIMException to be traced.     //  @param    CIMException    the CIMException to be traced.
     //     //
     static void _traceCIMException(     static void _traceCIMException(
         const Uint32  traceComponent,         const Uint32  traceComponent,
         const Uint32  traceLevel,          const Uint32  level,
         CIMException  cimException);         CIMException  cimException);
  
     // Called by all the trace interfaces to log message to the     // Called by all the trace interfaces to log message to the
Line 527 
Line 454 
     static Tracer* _getInstance();     static Tracer* _getInstance();
 }; };
  
 // Define the macros for method entry/exit, and tracing a given string  //==============================================================================
   //
   // PEGASUS_REMOVE_TRACE defines the compile time inclusion of the Trace
   // interfaces. If defined the interfaces map to empty functions.
   //
   //==============================================================================
   
 #ifdef PEGASUS_REMOVE_TRACE #ifdef PEGASUS_REMOVE_TRACE
     #define PEG_METHOD_ENTER(traceComponent,methodName)  
     #define PEG_METHOD_EXIT()  inline void Tracer::traceBuffer(
     #define PEG_TRACE_STRING(traceComponent,traceLevel,traceString)      const char*  fileName,
       const Uint32 lineNum,
       const Uint32 traceComponent,
       const Uint32 level,
       const char*  data,
       const Uint32 size)
   {
       // empty function
   }
   
   inline void Tracer::traceBuffer(
       const Uint32 traceComponent,
       const Uint32 level,
       const char* data,
       const Uint32 size)
   {
       // empty function
   }
   
   inline void Tracer::trace(
       const Uint32 traceComponent,
       const Uint32 level,
       const char *fmt,
       ...)
   {
       // empty function
   }
   
   inline void Tracer::trace(
       const char*  fileName,
       const Uint32 lineNum,
       const Uint32 traceComponent,
       const Uint32 level,
       const char* fmt,
       ...)
   {
       // empty function
   }
   
   inline void Tracer::trace(
       const char*   fileName,
       const Uint32  lineNum,
       const Uint32  traceComponent,
       const Uint32  level,
       const String& string)
   {
       // empty function
   }
   
   inline void Tracer::trace(
       const Uint32  traceComponent,
       const Uint32  level,
       const String& string)
   {
       // empty function
   }
   
   inline void Tracer::traceCIMException(
       const Uint32  traceComponent,
       const Uint32  level,
       CIMException  cimException)
   {
       // empty function
   }
   
   inline Uint32 Tracer::setTraceFile(const char* traceFile)
   {
       // empty function
       return 0;
   }
   
   inline Uint32 Tracer::setTraceLevel(const Uint32 level)
   {
       // empty function
       return 0;
   }
   
   inline void Tracer::setTraceComponents(const String& traceComponents)
   {
       // empty function
   }
   
   #endif /* PEGASUS_REMOVE_TRACE */
   
   //==============================================================================
   //
   // Tracing macros
   //
   //==============================================================================
   
   // Defines a variable that bypasses inclusion of line and filename in output.
   // #define PEGASUS_NO_FILE_LINE_TRACE=1 to exclude file names and line numbers
   #ifdef PEGASUS_NO_FILE_LINE_TRACE
   # define PEGASUS_COMMA_FILE_LINE /* empty */
   # define PEGASUS_FILE_LINE_COMMA /* empty */
 #else #else
     /** Macro for tracing method entry  # define PEGASUS_COMMA_FILE_LINE ,__FILE__,__LINE__
         @param    traceComponent  component being traced  # define PEGASUS_FILE_LINE_COMMA __FILE__,__LINE__,
         @param    methodName      name of the method  #endif
      */  
     #define PEG_METHOD_ENTER(traceComponent,methodName) \  #ifdef PEGASUS_REMOVE_TRACE
         const char *PEG_METHOD_NAME = methodName; \  
         const Uint32 PEG_TRACE_COMPONENT = traceComponent; \  # define PEG_METHOD_ENTER(comp,meth)
         Tracer::traceEnter(__FILE__,__LINE__,PEG_TRACE_COMPONENT,PEG_METHOD_NAME)  # define PEG_METHOD_EXIT()
   # define PEG_TRACE_STRING(comp,level,string)
   # define PEG_TRACE(VAR_ARGS)
   
   #else /* PEGASUS_REMOVE_TRACE */
   
   # define PEG_METHOD_ENTER(comp, meth) \
       TracerToken __tracerToken; \
       Tracer::traceEnter(__tracerToken PEGASUS_COMMA_FILE_LINE, comp, meth);
  
     /** Macro for tracing method exit  
      */  
     #define PEG_METHOD_EXIT() \     #define PEG_METHOD_EXIT() \
         Tracer::traceExit(__FILE__,__LINE__,PEG_TRACE_COMPONENT,PEG_METHOD_NAME)      Tracer::traceExit(__tracerToken PEGASUS_COMMA_FILE_LINE)
  
     /** Macro for tracing a string  // Macro for Trace String.  the do construct allows this to appear
         @param    traceComponent  component being traced  // as a single statement.
         @param    traceLevel      trace level of the trace message  # define PEG_TRACE_STRING(comp, level, string) \
         @param    traceString     the string to be traced      do \
      */      { \
     #define PEG_TRACE_STRING(traceComponent,traceLevel,traceString) \              Tracer::trace(PEGASUS_FILE_LINE_COMMA comp, level, string); \
         Tracer::trace(__FILE__, __LINE__,traceComponent,traceLevel,traceString)      } \
       while (0)
   
   // Macro for Trace variable number of arguments with format string. The trace test
   // is included becase of the possible cost of preparing the variable
   // number of arguments on each call.  The d construct allows this to be
   // treated as a single statement.
   # define PEG_TRACE(VAR_ARGS) \
       do \
       { \
           if (Tracer::isTraceOn()) \
               Tracer::trace VAR_ARGS; \
       } \
       while (0)
  
 #endif  #endif /* !PEGASUS_REMOVE_TRACE */
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END
  


Legend:
Removed from v.1.17  
changed lines
  Added in v.1.26

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2