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

📄 rvremoteloglistener.h

📁 h.248协议源码
💻 H
字号:
/************************************************************************
 File Name     : rvremoteloglistener.h
 Description   :
*************************************************************************
 Copyright (c)  2001 , RADVision, Inc. All rights reserved.
*************************************************************************
 NOTICE:
 This document contains information that is proprietary to RADVision Inc. 
 No part of this publication may be reproduced in any form whatsoever
 without written prior approval by RADVision Inc. 
 
 RADVision Inc. reserves the right to revise this publication and make
 changes without obligation to notify any person of such revisions or
 changes.
*************************************************************************
 $Revision: $
 $Date:   03/01/2001 $
 $Author: Scott K. Eaton $
************************************************************************/

#if !defined(RVREMOTELOGLISTENER_H)
#define RVREMOTELOGLISTENER_H

#include "rvtypes.h"
#include "rvlog.h"
#include "rvinet.h"
#include "rvsocket.h"
#include "rvsocketaddr.h"
#include "rvdatabuffer.h"

#ifdef __cplusplus
extern "C" {
#endif

#if (RV_LOGMASK != RV_LOGMASK_NONE)

/***********************************************************************
* RvRemoteLogListener
************************************************************************/
/*$
{type:
	{name: RvRemoteLogListenerMode}
	{superpackage: Misc}	
	{include: rvremoteloglistener.h}	
	{description:	
		{p: This enumeration is used to set operation mode for a RvRemoteLogListener.}
 	}
    {enumeration:
        {value: {n: RV_REMOTELOGLISTENER_MODE_BINARY} {d: Run the remote log in binary mode. This mode
                                                 should be used when using the RvLogViewer
                                                 Java application.}}
        {value: {n: RV_REMOTELOGLISTENER_MODE_ASCII } {d: Run the remote log in ascii mode.}}
    }
    {see_also:
        {n: RvRemoteLogListener}
    }
}
$*/
typedef enum 
{
    RV_REMOTELOGLISTENER_MODE_BINARY,
    RV_REMOTELOGLISTENER_MODE_ASCII
} RvRemoteLogListenerMode;
    
/*$
{type:
	{name: RvRemoteLogListener}
	{superpackage: Misc}	
	{include: rvremoteloglistener.h}	
	{description:	
		{p: This class is used to send logging data through a socket to remote location.}
 	}
	{methods:
		{method: RvRemoteLogListener* rvRemoteLogListenerConstruct(RvRemoteLogListener* thisPtr, RvLogMask mask, const char *address, RvInetPort port, RvRemoteLogListenerMode mode);}
		{method: void rvRemoteLogListenerDestruct(RvRemoteLogListener* thisPtr);}
		{method: RvLogListener* rvRemoteLogListenerGetLogListener(RvRemoteLogListener* thisPtr);}
		{method: void rvRemoteLogListenerSetAddress(RvRemoteLogListener* thisPtr, const char *address, RvInetPort port);}
	}
    {examples:
        {example:
            {description:
                 {p: This is an example of how to send log information to the internet address
                     196.23.43.2, port 3512, in an ascii format, forwarding all log levels.}
            }
            {code: 
#include "rvlog.h"
#include "rvremoteloglistener.h"

RvRemoteLogListener remoteLog;

\/* Construct the remote listener *\/
rvRemoteLogListenerConstruct(&remoteLog, RV_LOGMASK_ALL ,"196.23.43.2", 3512 , RV_REMOTELOGLISTENER_MODE_ASCII);
    
\/* Register the remote listener with the log *\/
rvLogRegisterListener(&rvLog,rvRemoteLogListenerGetLogListener(&remoteLog));

            }
        }
    }
    {see_also:
        {n: RvRemoteLogListenerMode}
        {n: RvLogListener}
        {n: RvLog}
    }
}
$*/
typedef struct
{
    RvLogListener    listener;
    RvSocket         socket;
    RvSocketAddr     address;
    RvRemoteLogListenerMode  mode;
    RvDataBuffer     buffer;
} RvRemoteLogListener;

RvRemoteLogListener* rvRemoteLogListenerConstruct(RvRemoteLogListener* thisPtr, RvLogMask mask, const char *address, RvInetPort port, RvRemoteLogListenerMode mode);
void rvRemoteLogListenerDestruct(RvRemoteLogListener* thisPtr);
#define rvRemoteLogListenerGetLogListener(_t)   (&(_t)->listener) 
void rvRemoteLogListenerSetAddress(RvRemoteLogListener* thisPtr, const char *address, RvInetPort port);

/*$
{function:
	{name:    rvRemoteLogListenerGetLogListener }
	{class:   RvRemoteLogListener}
	{include: rvremoteloglistener.h}
	{description:
		{p: This method constructs a RvRemoteLogListener.}
	}
	{proto: RvLogListener* rvRemoteLogListenerGetLogListener(RvRemoteLogListener* thisPtr);}
	{params:
		{param: {n:thisPtr} {d:The RvRemoteLogListener object.}}
	}
	{returns: A pointer to the RvLogListener object that represents this 
              RvRemoteLogListener object. }
}
$*/




#else

/***********************************************************************
* RvRemoteLogListener no logging stub
************************************************************************/
typedef struct
{
    RvUint8 dummy;
} RvRemoteLogListener;

#define rvRemoteLogListenerConstruct(thisPtr, mask, address, port, mode)  (thisPtr)
#define rvRemoteLogListenerDestruct(thisPtr)
#define rvRemoteLogListenerGetLogListener(t)   (NULL) 

#endif

#ifdef __cplusplus
}
#endif

#endif  // Include guard

⌨️ 快捷键说明

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