📄 rvstdiologlistener.h
字号:
#if (0)
************************************************************************
Filename:
Description:
************************************************************************
Copyright (c) 2001 RADVision Inc.
************************************************************************
NOTICE:
This document contains information that is proprietary to RADVision LTD.
No part of this publication may be reproduced in any form whatsoever
without written prior approval by RADVision LTD..
RADVision LTD. reserves the right to revise this publication and make
changes without obligation to notify any person of such revisions or
changes.
************************************************************************
************************************************************************
$Revision:$
$Date:$
$Author: S. Cipolli$
************************************************************************
#endif
#ifndef RV_STDIOLOGLISTENER_H
#define RV_STDIOLOGLISTENER_H
#include <stdio.h>
#include "rvplatform.h"
#include "rvlog.h"
#ifdef __cplusplus
extern "C" {
#endif
#if (RV_LOGMASK != RV_LOGMASK_NONE)
/*$
{type:
{name: RvStdioLogListener}
{superpackage: Misc}
{include: rvstdiologlistener.h}
{description:
{p: Standard I/O log listener. Log's Log Records to a file descriptor.
This listener is typically used to log to standard out (stdout)
or standard error (stderr), but others are possible.}
}
{methods:
{method: RvStdioLogListener* rvStdioLogListenerConstruct(RvStdioLogListener* l, RvLogMask m, FILE* fp);}
{method: void rvStdioLogListenerDestruct(RvStdioLogListener* l);}
{method: RvLogListener* rvStdioLogListenerGetLogListener(RvStdioLogListener* l);}
}
{examples:
{example:
{description:
{p: This is an example of how to log information to the standard out
stream, all log levels are sent.}
}
{code:
#include "rvlog.h"
#include "rvstdiologlistener.h"
RvStdioLogListener ioLog;
\/* Construct the stdio listener *\/
rvStdioLogListenerConstruct(&ioLog, RV_LOGMASK_ALL ,stdout);
\/* Register the stdio listener with the log *\/
rvLogRegisterListener(&rvLog,rvStdioLogListenerGetLogListener(&ioLog));
}
}
}
{see_also:
{n: RvLog}
{n: RvLogListener}
{n: RvLogRecord}
{n: RvLogMask}
{n: RvFileLogListener}
{n: RvRemoteLogListener}
}
}
$*/
typedef struct {
RvLogListener listener;
} RvStdioLogListener;
#if defined(RV_IO_ANSI)
RvStdioLogListener* rvStdioLogListenerConstruct(RvStdioLogListener* l,
RvLogMask m, FILE* fp);
#else
#error RvStdioLogListener requires Standard I/O
#endif
/*$
{function:
{name: rvStdioLogListenerDestruct}
{class: RvStdioLogListener}
{include: rvstdiologlistener.h}
{description:
{p: Destructs a Standard I/O Log Listener.}
}
{proto: void rvStdioLogListenerDestruct(RvStdioLogListener* l);}
{params:
{param: {n: l} {d: A pointer to the stdio log listener.}}
}
}
$*/
#define rvStdioLogListenerDestruct(_l) rvLogListenerDestruct(&(_l)->listener)
/*$
{function:
{name: rvStdioLogListenerGetLogListener}
{class: RvStdioLogListener}
{include: rvstdiologlistener.h}
{description:
{p: Get the RvLogListener of a File Log Listener.}
}
{proto: RvLogListener* rvStdioLogListenerGetLogListener(RvStdioLogListener* l);}
{params:
{param: {n: l} {d: A pointer to the stdio log listener.}}
}
{returns: The RvLogListener object that represents this RvStdioLogListener object.}
{see_also:
{n: RvLogListener}
}
}
$*/
#define rvStdioLogListenerGetLogListener(_l) (&(_l)->listener)
#else
/***********************************************************************
* RvStdioLogListener no logging stub
************************************************************************/
typedef struct
{
RvUint8 dummy;
} RvStdioLogListener;
#define rvStdioLogListenerConstruct(l,m,fp) (l)
#define rvStdioLogListenerDestruct(l)
#define rvStdioLogListenerGetLogListener(t) (NULL)
#endif
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -