Files
mir_server/sdk/commonLib/include/LogSender.h

202 lines
6.5 KiB
C
Raw Normal View History

2025-01-09 17:45:40 +08:00
#ifndef _LOG_SENDER_H_
#define _LOG_SENDER_H_
//class CNetworkDataHandler;
class CCustomJXClientSocket;
class LogSender:
public CCustomJXClientSocket
{
public:
/*
* Comments:
* Param WORD nLogid:
* Param int nUserid:id
* Param LPCTSTR szAccount:
* Param LPCTSTR szLoginIp:ip地址
* Param LPCTSTR szLoginDescr:
* Param int nLevel
* Param int nYb:
* Param unsigned int nOnlineTime;线
* Param unsigned int nServerId :id
* @Return VOID:
*/
VOID SendLoginLog(WORD nLogid,int nUserid,LPCTSTR szAccount,
LPCTSTR szLoginIp,LPCTSTR szLoginDescr=NULL, int nLevel=0, int nYb=0, unsigned int nOnlineTime=0, unsigned int nActorId=0,unsigned int nSrvId = 0);
/*
* Comments:
* Param WORD nLogid:
* Param int nActorid:id
* Param LPCTSTR szAccount:
* Param LPCTSTR szCharName:
* Param int nCount:
* Param int nPaymentCount:
* Param LPCTSTR szConsumeDescr:
* Param int nConsumeLevel:
* Param int nBalance :
* @Return VOID:
*/
VOID SendConsumeLog(WORD nLogid,int nActorid,LPCTSTR szAccount,
LPCTSTR szCharName,BYTE nMoneytype,int nCount,int nPaymentCount,LPCTSTR szConsumeDescr=NULL,int nConsumeLevel=0, int nBalance = 0,unsigned int nSrvId = 0);
/*
* Comments:
* Param WORD nLogid:
* Param BYTE nType:
* Param int nActorid:id
* Param int nAccountid:
* Param LPCTSTR szAccount:
* Param LPCTSTR szCharName:
* Param int nCount:
* Param int nItemId:id
* Param LPCTSTR szConsumeDescr:
* @Return VOID:
*/
VOID SendItemLocalLog(BYTE nType, WORD nLogid, int nActorid, int nAccountid, LPCTSTR szAccount,
LPCTSTR szCharName, WORD wItemId, int nCount, LPCTSTR szConsumeDescr=NULL, unsigned int nSrvId = 0);
VOID SendDealToLog(int nLogid, unsigned int nTime,
int nActorid,int nTarActorid,
INT nItemId=0,WORD nItemNum=0,WORD nMoneyType=0,INT64 nMoneyNum=0, int nDues = 0,unsigned int nSrvId = 0);
/*
* Comments:线
* Param int nServerIndex:nServerIndex为0
* Param int nCount:线
* @Return VOID:
*/
VOID SendOnlineLog(int nServerIndex,int nCount);
VOID SendCommonLog(WORD nLogid,int nActorId,LPCTSTR sActorName,
int nPara0=0,int nPara1=0,int nPara2=0,
LPCTSTR szShortStr0="",LPCTSTR szMidStr0="",LPCTSTR szLongStr0="",
LPCTSTR szShortStr1="",LPCTSTR szMidStr1="",LPCTSTR szLongStr1="",
LPCTSTR szMidStr2="",LPCTSTR szLongStr2="",unsigned int nSrvId = 0);
/*
* Comments:
* Param int nServerIndex:
* Param nType :
* Param char * sActorName:
* Param char * sAccount:
* Param char * sTitle:
* Param char * sDetail:
* Param int nLevel :
* @Return VOID:
*/
VOID SendSuggestLog(int nType, char * sActorName,char * sAccount, char * sTitle, char * sDetail,int nLevel,unsigned int nServerId = 0);
/*
* Comments:
* Param int nActorid:id
* Param LPCTSTR sAccount:
* Param LPCTSTR sCharName:
* Param LPCTSTR sMonName:
* Param LPCTSTR sSceneName:
* Param LPCTSTR sItemName:
* Param int nCount:
* Param int nKilltime:
* Param int nPosx:x坐标
* Param int nPosy:y坐标
* @Return VOID:
*/
VOID SendKillDropLog(int nActorid,LPCTSTR sAccount,LPCTSTR sCharName,
LPCTSTR sMonName,LPCTSTR sSceneName,LPCTSTR sItemName,int nCount, int nKilltime, int nPosX, int nPosY,unsigned int nSrvId = 0);
/*
* Comments:
* Param int nActorid:id
* Param LPCTSTR sAccount:
* Param LPCTSTR sCharName:
* Param int nAtvId: id
* Param int nIndex:
* Param int nJoinTime:
* @Return VOID:
*/
VOID SendJoinAtvToLog(int nActorid,LPCTSTR sAccount,LPCTSTR sCharName,int nAtvId, int nIndex, int nJoinTime,unsigned int nSrvId = 0);
inline INT GetServerIndex(){return ServerIndex;}
inline jxSrvDef::SERVERTYPE GetServerType(){return ServerType;}
inline LPCSTR GetServerName() {return ServerName;}
//设置服务器的编号
VOID SetServerIndex(const INT nSerIdx);
VOID SetServerType(const jxSrvDef::SERVERTYPE nSrvType){ ServerType = nSrvType;}
VOID SetServerName(LPCTSTR sServerName);
void SetServerSpid(LPCTSTR sSpid);
//获取查看聊天记录
bool GetChatLogFlag() {return m_nFlag;}
/*
* Comments:
* Param int nChannleID:
* Param char * sActorName:
* Param char * msg:
* Param int nActorId :id
* @Return VOID:
*/
VOID SendChatLog(int nChannleID, char * sActorName,unsigned int nActorId, char * msg);
//设置是否查看聊天记录
void SetChatLogFlag(int nFlag)
{
if(nFlag == 0)
{
m_nFlag = false;
}
else
{
m_nFlag = true;
}
}
public:
LogSender();
LogSender(jxSrvDef::SERVERTYPE ServerType,INT ServerIndex,char* ServerName);
~LogSender(void);
virtual void OnRountine()
{
CCustomJXClientSocket::OnRountine();
}
protected:
/*** 子类需覆盖的函数集 ***/
/* 处理单个通信数据包
* nCmd
* inPacket
*/
virtual VOID OnDispatchRecvPacket(const jxSrvDef::INTERSRVCMD nCmd, CDataPacketReader &inPacket);
/*** 下列函数为子类可能有必要覆盖的函数集 ***/
/* ★查询本地服务器的类型,以便正确的发送注册数据 */
virtual jxSrvDef::SERVERTYPE getLocalServerType();
/* ★查询本地服务器的名称,以便正确的发送注册数据 */
virtual LPCSTR getLocalServerName();
/* ★查询本地服务器ID以便正确的发送注册数据默认的返回值是0 */
virtual int getLocalServerIndex();
//提供向最外层逻辑通知连接建立的事件
virtual VOID OnConnected();
private:
//CNetworkDataHandler DataHandler;//用于解网络包
//以下4个值用于发送注册包
jxSrvDef::SERVERTYPE ServerType; //服务器类型值为SERVERTYPE枚举类型中的枚举值
INT ServerIndex; //服务器唯一编号(服务器编号仅对游戏服务器有意义)
CHAR ServerName[128]; //服务器名称需包含0终止符
bool m_nFlag; //是否查看聊天记录
char m_sSpid[32];
};
#endif