⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tracer.h

📁 Pegasus is an open-source implementationof the DMTF CIM and WBEM standards. It is designed to be por
💻 H
📖 第 1 页 / 共 2 页
字号:
    // @return   0               if the component and level are not enabled    //           1               if the component and level are enabled    static Boolean _isTraceEnabled(        const Uint32 traceComponent,        const Uint32 level);    // Traces the given message    //  @param    traceComponent  component being traced    //  @param    level      level of the trace message    //  @param    *fmt            printf style format string    //  @param    argList         variable argument list    static void _trace(        const Uint32 traceComponent,        const Uint32 level,        const char* fmt,        va_list argList);    // Traces the given message. Overloaded to include the file name and the    // line number as one of the parameters.    // @param    traceComponent  component being traced    // @param    level      level of the trace message    // @param    message         message header (file name:line number)    // @param    *fmt            printf style format string    // @param    argList         variable argument list    static void _trace(        const char* fileName,        const Uint32 lineNum,        const Uint32 traceComponent,        const Uint32 level,        const char* fmt,        va_list argList);    //  Traces the specified number of bytes in a given buffer    //  @param    traceComponent  component being traced    //  @param    level      trace level of the trace message    //  @param    data            buffer to be traced    //  @param    size            number of bytes to be traced    static void _traceBuffer(        const Uint32 traceComponent,        const Uint32 level,        const char* data,        const Uint32 size);    //  Traces the specified number of bytes in a given buffer    //  Overloaded to include the filename and the line number    //  of trace origin.    //  @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    data            buffer to be traced    //  @param    size            size of the buffer    static void _traceBuffer(        const char* fileName,        const Uint32 lineNum,        const Uint32 traceComponent,        const Uint32 level,        const char* data,        const Uint32 size);    //  Traces the given string.    //  @param    traceComponent  component being traced    //  @param    level      trace level of the trace message    //  @param    string     the string to be traced    //    static void _traceString(        const Uint32 traceComponent,        const Uint32 level,        const String& string);    //  Traces a given string.  Overloaded to include the filename    //  and line number of trace origin.    //  @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 _traceString(        const char* fileName,        const Uint32 lineNum,        const Uint32 traceComponent,        const Uint32 level,        const String& string);    //  Traces the message in the given CIMException object.  The message    //  to be written to the trace file will include the source filename and    //  line number of the CIMException originator.    //  @param    traceComponent  component being traced    //  @param    level      trace level of the trace message    //  @param    CIMException    the CIMException to be traced.    //    static void _traceCIMException(        const Uint32 traceComponent,        const Uint32 level,        const CIMException& cimException);    // Called by all the trace interfaces to log message to the    // trace file    // @param    fileName        filename of the trace originator    // @param    lineNum         line number of the trace originator    // @param    traceComponent  component being traced    // @param    *fmt            printf style format string    // @param    argList         variable argument list    static void _trace(        const Uint32 traceComponent,        const char* message,        const char* fmt,        va_list argList);    // Traces method enter    // @param    fileName        filename of the trace originator    // @param    lineNum         line number of the trace originator    // @param    traceComponent  component being traced    // @param    *fmt            printf style format string    // @param    ...             variable argument list    static void _traceEnter(        const char* fileName,        const Uint32 lineNum,        const Uint32 traceComponent,        const char* fmt,        ...);    // Traces method exit    // @param    fileName        filename of the trace originator    // @param    traceComponent  component being traced    // @param    *fmt            printf style format string    // @param    ...             variable argument list    static void _traceExit(        const char* fileName,        const Uint32 lineNum,        const Uint32 traceComponent,        const char* fmt,        ...);    // Tracer constructor    // Constructor is private to prevent construction of Tracer objects    // Single Instance of Tracer is maintained for each process.    Tracer();    //   Tracer destructor    ~Tracer();    // Returns the Singleton instance of the Tracer    // @return   Tracer*  Instance of Tracer    static Tracer* _getInstance();};//==============================================================================//// PEGASUS_REMOVE_TRACE defines the compile time inclusion of the Trace// interfaces. If defined the interfaces map to empty functions.////==============================================================================#ifdef PEGASUS_REMOVE_TRACEinline void Tracer::traceBuffer(    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,    const 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# define PEGASUS_COMMA_FILE_LINE ,__FILE__,__LINE__# define PEGASUS_FILE_LINE_COMMA __FILE__,__LINE__,#endif#ifdef PEGASUS_REMOVE_TRACE# define PEG_METHOD_ENTER(comp,meth)# 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);#  define PEG_METHOD_EXIT() \    Tracer::traceExit(__tracerToken PEGASUS_COMMA_FILE_LINE)// Macro for Trace String.  the do construct allows this to appear// as a single statement.# define PEG_TRACE_STRING(comp, level, string) \    do \    { \            Tracer::trace(PEGASUS_FILE_LINE_COMMA comp, level, string); \    } \    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 /* !PEGASUS_REMOVE_TRACE */PEGASUS_NAMESPACE_END#endif /* Pegasus_Tracer_h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -