Files
mir_server/sdk/utils/nonuse/PrintMsg.h
aixianling 5c9f1dae4a init
2025-01-09 17:45:40 +08:00

65 lines
1.8 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef _WYLIB_PRINT_MSG_H_
#define _WYLIB_PRINT_MSG_H_
/******************************************************************
*
* wyLib库 2008 - 2010
*
* $ 通用输出消息重定向函数库 $
*
* - 主要功能 -
*
* 实现常用的消息输出重定向,在不同项目中设置新的消息输出处
* 理函数即可默认的消息输出处理函数是libc的printf函数。
* 输出消息函数的临时数据是基于栈的,所以是多线程安全的。
*
*****************************************************************/
#include "TypeDef.h"
namespace wylib
{
namespace printmsg
{
/* 输出消息的类型定义 */
typedef enum ePrintMsgType
{
pmNormal = 0, //普通消息
pmTip, //提示信息
pmAlert, //警告信息
pmError, //错误信息
}PRINTMSGTYPE;
/* 输出消息的重要程度定义 */
typedef enum eMsgLevel
{
mlLowest = 0, //无关紧要的信息
mlNormal = 5, //正常等级的信息
mlHighest = 10, //非常重要的信息
}MSGLEVEL;
#ifndef EXTEN_CALL
#define EXTEN_CALL __stdcall
#endif
/* 输出消息处理函数的函数类型 */
#ifdef WIN32
typedef int (EXTEN_CALL *MSGHANDLEPROC) (ePrintMsgType, eMsgLevel, LPCTSTR sMsg, int nMsgLen);
#else
typedef int ( * MSGHANDLEPROC) (ePrintMsgType, eMsgLevel, LPCTSTR sMsg, int nMsgLen);
#endif
//设定消息处理函数,函数返回之前的消息处理函数
MSGHANDLEPROC SetMsgHandler(MSGHANDLEPROC lpProc);
//获取当前的消息处理函数
MSGHANDLEPROC GetMsgHandler();
//输出消息的函数,内部会对传递的相关参数进行格式化。
//注意格式化后输出的内容的长度必须小于4K
int PrintMsg(ePrintMsgType msgType, eMsgLevel msgLevel, LPCTSTR format, ...);
};
};
#endif