(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.6 and 1.17

version 1.6, 2002/03/09 01:17:10 version 1.17, 2005/01/19 23:48:05
Line 1 
Line 1 
 //%/////////////////////////////////////////////////////////////////////////////  //%2004////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001 BMC Software, Hewlett-Packard Company, IBM,  // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
 // The Open Group, Tivoli Systems  // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation, The Open Group.
   // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation; VERITAS Software 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 24 
Line 28 
 // Author: Sushma Fernandes, Hewlett-Packard Company (sushma_fernandes@hp.com) // Author: Sushma Fernandes, Hewlett-Packard Company (sushma_fernandes@hp.com)
 // //
 // 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
   //              Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 35 
Line 41 
 #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>
 #include <Pegasus/Common/Exception.h>  #include <Pegasus/Common/InternalException.h>
 #include <Pegasus/Common/TraceComponents.h> #include <Pegasus/Common/TraceComponents.h>
 #include <Pegasus/Common/TraceFileHandler.h> #include <Pegasus/Common/TraceFileHandler.h>
   #include <Pegasus/Common/Linkage.h>
 // REVIEW: Ask how this all works (note to myself)?  #include <Pegasus/Common/AutoPtr.h>
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
Line 138 
Line 144 
         }         }
  
         static void setTraceComponents(         static void setTraceComponents(
           const String traceComponents)            const String& traceComponents)
         {         {
               // empty function               // empty function
         }         }
Line 263 
Line 269 
         /** 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
             @return   0               if the filepath is valid             @return   0               if the filepath is valid
                       1               if an error occurs while opening the file                        1               if the traceFile is an empty string or
                                         if an error occurs while opening the file
                                       in append mode                                       in append mode
         */         */
         static Uint32 setTraceFile(const char* traceFile);         static Uint32 setTraceFile(const char* traceFile);
Line 280 
Line 287 
                       components should be separated by ','                       components should be separated by ','
         */         */
         static void setTraceComponents(         static void setTraceComponents(
            const String traceComponents);             const String& traceComponents);
  
     #endif     #endif
  
Line 299 
Line 306 
         const char* methodName)         const char* methodName)
     {     {
         _traceEnter( fileName, lineNum, traceComponent, "%s %s",         _traceEnter( fileName, lineNum, traceComponent, "%s %s",
             _FUNC_ENTER_MSG, methodName);              _METHOD_ENTER_MSG, methodName);
     }     }
  
     /** Traces method exit.     /** Traces method exit.
Line 315 
Line 322 
         const char* methodName)         const char* methodName)
     {     {
         _traceExit( fileName, lineNum, traceComponent, "%s %s",         _traceExit( fileName, lineNum, traceComponent, "%s %s",
             _FUNC_EXIT_MSG, methodName);              _METHOD_EXIT_MSG, methodName);
     }     }
  
     /** Validates the File Path for the trace File     /** Validates the File Path for the trace File
Line 323 
Line 330 
         @return   1        if the file path is valid         @return   1        if the file path is valid
                   0        if the file path is invalid                   0        if the file path is invalid
      */      */
     static Boolean isValid(const char* filePath);      static Boolean isValidFileName(const char* filePath);
   
       /** Validates the trace components
           @param    traceComponents   comma separated list of trace components
           @return   1        if the components are valid
                     0        if one or more components are invalid
        */
       static Boolean isValidComponents(const String& traceComponents);
  
     /** Validates the trace components     /** Validates the trace components
         @param    traceComponents   comma separated list of trace components         @param    traceComponents   comma separated list of trace components
Line 331 
Line 345 
         @return   1        if the components are valid         @return   1        if the components are valid
                   0        if one or more components are invalid                   0        if one or more components are invalid
      */      */
     static Boolean isValid(      static Boolean isValidComponents(
        const String traceComponents, String& invalidComponents=_EMPTY_STRING);          const String& traceComponents,
           String& invalidComponents);
   
       /** Specify the name of the module being traced.  If non-empty, this
           value is used as an extension to the name of the trace file.
           @param    moduleName   Name of the module being traced.
        */
       static void setModuleName(const String& moduleName);
  
 private: private:
  
Line 342 
Line 363 
     static const Uint32 _STRLEN_MAX_PID_TID;     static const Uint32 _STRLEN_MAX_PID_TID;
     static const Boolean _SUCCESS;     static const Boolean _SUCCESS;
     static const Boolean _FAILURE;     static const Boolean _FAILURE;
     static String  _EMPTY_STRING;      AutoArrayPtr<Boolean> _traceComponentMask;
     Boolean*            _traceComponentMask;  
     Uint32              _traceLevelMask;     Uint32              _traceLevelMask;
     TraceFileHandler*   _traceHandler;      AutoPtr<TraceFileHandler> _traceHandler;
       String              _moduleName;
     static Tracer*      _tracerInstance;     static Tracer*      _tracerInstance;
  
     // Message Strings for fucntion Entry and Exit      // Message Strings for function Entry and Exit
     static const char _FUNC_ENTER_MSG[];      static const char _METHOD_ENTER_MSG[];
     static const char _FUNC_EXIT_MSG[];      static const char _METHOD_EXIT_MSG[];
  
     // Message Strings for Logger     // Message Strings for Logger
     static const char _LOG_MSG[];     static const char _LOG_MSG[];
Line 508 
Line 529 
  
 // Define the macros for method entry/exit, and tracing a given string // Define the macros for method entry/exit, and tracing a given string
 #ifdef PEGASUS_REMOVE_TRACE #ifdef PEGASUS_REMOVE_TRACE
     #define PEG_FUNC_ENTER(traceComponent,methodName)  
     #define PEG_FUNC_EXIT(traceComponent,methodName)  
     #define PEG_METHOD_ENTER(traceComponent,methodName)     #define PEG_METHOD_ENTER(traceComponent,methodName)
     #define PEG_METHOD_EXIT()     #define PEG_METHOD_EXIT()
     #define PEG_TRACE_STRING(traceComponent,traceLevel,traceString)     #define PEG_TRACE_STRING(traceComponent,traceLevel,traceString)
 #else #else
     /** Macro for tracing method entry     /** Macro for tracing method entry
         ATTN: Phase out in favor of PEG_METHOD_ENTER  
         @param    traceComponent  component being traced  
         @param    methodName      name of the method  
      */  
     #define PEG_FUNC_ENTER(traceComponent,methodName) \  
         Tracer::traceEnter(__FILE__, __LINE__,traceComponent,methodName)  
   
     /** Macro for tracing method exit  
         ATTN: Phase out in favor of PEG_METHOD_EXIT  
         @param    traceComponent  component being traced  
         @param    methodName      name of the method  
      */  
     #define PEG_FUNC_EXIT(traceComponent,methodName) \  
         Tracer::traceExit(__FILE__,__LINE__,traceComponent,methodName)  
   
     /** Macro for tracing method entry  
         @param    traceComponent  component being traced         @param    traceComponent  component being traced
         @param    methodName      name of the method         @param    methodName      name of the method
      */      */
Line 551 
Line 554 
      */      */
     #define PEG_TRACE_STRING(traceComponent,traceLevel,traceString) \     #define PEG_TRACE_STRING(traceComponent,traceLevel,traceString) \
         Tracer::trace(__FILE__, __LINE__,traceComponent,traceLevel,traceString)         Tracer::trace(__FILE__, __LINE__,traceComponent,traceLevel,traceString)
   
 #endif #endif
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2