imsendnotifymessagebody.cpp

来自「国内著名嵌入式培训机构内部资料,内含一些实例代码,包括技术专题书籍」· C++ 代码 · 共 58 行

CPP
58
字号
/*
 ============================================================================
 Author	  : hou maoqing
 Version	 : 1.0
 Copyright   : Copyright (c) Hou maoqing 2008
 Mail	: houmqing@163.com
 ============================================================================
 */

#include "ImSendNotifyMessageBody.h"
#include "ImPublic.h"

CImSendNotifyMessageBody::CImSendNotifyMessageBody()
{
	m_nContentLen=0;
	m_pContent=NULL;
}

CImSendNotifyMessageBody::~CImSendNotifyMessageBody()
{
	if(m_pContent)
		delete m_pContent;
}

int CImSendNotifyMessageBody::GetBodyLen(void)
	{		
	return 4+m_nContentLen;
	}

void CImSendNotifyMessageBody::Encode(TUint8* pBuf, int& nLen)
	{
	TUint8* pTemp=pBuf;
	
	int tmp=HostToNet(m_nContentLen);
	memcpy(pTemp,(void*)&tmp,4);
	pTemp+=4;
	
	memcpy(pTemp,m_pContent,m_nContentLen);
	pTemp+=m_nContentLen;

	nLen=GetBodyLen();
	}

void CImSendNotifyMessageBody::Decode(TUint8* pBuf)
	{
	//解码消息头
	TUint8* pTemp=pBuf;
	
	int tmp;
	memcpy((void*)&tmp,pTemp,4);
	m_nContentLen=NetToHost(tmp);
	pTemp+=4;
		
	m_pContent=new (ELeave) TUint8[m_nContentLen];
	memcpy(m_pContent,pTemp,m_nContentLen);
	pTemp+=m_nContentLen;
	}

⌨️ 快捷键说明

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