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

📄 rvloginternal.h

📁 基于h323协议的软phone
💻 H
字号:
/***********************************************************************
Filename   : rvloginternal.h
Description: log handling
             These definitions shouldn't be used outside of the
             address module directly
************************************************************************
        Copyright (c) 2001 RADVISION Inc. and RADVISION Ltd.
************************************************************************
NOTICE:
This document contains information that is confidential and proprietary
to RADVISION Inc. and RADVISION Ltd.. No part of this document may be
reproduced in any form whatsoever without written prior approval by
RADVISION Inc. or RADVISION Ltd..

RADVISION Inc. and RADVISION Ltd. reserve the right to revise this
publication and make changes without obligation to notify any person of
such revisions or changes.
***********************************************************************/

#ifndef RV_LOG_INTERNAL_H
#define RV_LOG_INTERNAL_H


#if defined(__cplusplus)
extern "C" {
#endif


/********************************************************************


            type definitions written in this file should not
            be accessed directly from outside the core. They
            may vary greatly between core versions!


 ********************************************************************/


/* Maximum number of sources a log manager can handle */
#define RV_LOG_MAX_SOURCES RvInt32Const(256)


/************************************************************************
 * RvLogSourceInternal
 * Information of a single source of messages of a log manager.
 * We have this defined here and not used externally, since we want to
 * be able to make operations globally on these elements.
 ************************************************************************/
struct RvLogSourceInternal
{
    RvLogMgr*           logMgr; /* Log manager this source is in */
    RvChar              name[10]; /* Name of source we're dealing with */
    RvUint32            libraryCode; /* Code number of the package of this source */
    RvLogMessageType    messageTypes; /* Mask of messages that should be logged */
    RvUint32            timesConstructed; /* Reference count of constructions */
};


/************************************************************************
 * RvLogMgrInternal
 * Log manager object information.
 ************************************************************************/
struct RvLogMgrInternal
{
    RvLogMessageType            defaultMask; /* Default mask to use for new sources */

    RvInt32                     level; /* Log level. 0 none, 1 masks, 2 all */
    RvInt32                     numSources; /* Number of allocated sources */
    struct RvLogSourceInternal  source[RV_LOG_MAX_SOURCES]; /* Sources of this log manager */

    RvInt32                     numListeners; /* Number of registered listeners */
    RvLogPrintCb                listener[RV_LOG_MAX_LISTENERS]; /* Listeners of this log manager */
    void*                       listenerUserData[RV_LOG_MAX_LISTENERS]; /* User data used when calling a listener function */

    RvLock                      lock; /* Non-recoursive lock for protecting the database */
};



/************************************************************************
 * RvLogRecordInternal
 * Log information associated with a log message. This struct is given
 * to the printing function on each log message.
 ************************************************************************/
struct RvLogRecordInternal
{
    RvInt64             timestamp; /* Time this message occured */
    RvThread*           threadInfo; /* Thread where the message occured (can be NULL if unknown) */
    RvLogSource*        source; /* Source of log message */
    RvLogMessageType    messageType; /* Type of message */
    const RvChar*       text;
};




#if defined(__cplusplus)
}
#endif

#endif /* RV_LOG_INTERNAL_H */

⌨️ 快捷键说明

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