Пример #1
0
void UserListModule_Impl::onPacket(std::auto_ptr<CImPdu> pdu)
{
	CImPdu* pPdu = pdu.get();
	PTR_VOID(pPdu);
	switch (pdu->GetCommandId())
	{
	case CID_BUDDY_LIST_DEPARTMENT_RESPONSE:
		_departmentResponse(pPdu);
		break;
	case CID_BUDDY_LIST_ALL_USER_RESPONSE:
		_allUserlistResponse(pPdu);
		break;
	case CID_BUDDY_LIST_FRIEND_LIST:
		_recentlistResponse(pPdu);
		break;
	case CID_BUDDY_LIST_USER_INFO_RESPONSE:
		_newUserListInfoResponse(pPdu);
		break;
	case CID_BUDDY_LIST_ONLINE_FRIEND_LIST:
		_allUserlistLineStatusResponse(pPdu);
		break;
	case  CID_BUDDY_LIST_STATUS_NOTIFY:
		_userLineStatusResponse(pPdu);
		break;

	default:
		return;
	}
}
Пример #2
0
void SessionModule_Impl::onPacket(std::auto_ptr<CImPdu> pdu)
{
	CImPdu* pPdu = pdu.get();
	PTR_VOID(pPdu);
	switch (pdu->GetCommandId())
	{
	case CID_MSG_DATA:
		_sessionMsgResponse(pPdu);
		break;
	case CID_MSG_DATA_ACK:
		_sessionMsgACK(pPdu);
		break;
	case CID_MSG_TIME_RESPONSE:
		_sessionMsgTimeResponse(pPdu);
		break;
	case CID_MSG_UNREAD_CNT_RESPONSE:
		_sessionMsgUnreadCntResponse(pPdu);
		break;
	case CID_MSG_UNREAD_MSG_RESPONSE:
		_sessionMsgUnreadMsgResponse(pPdu);
		break;
	default:
		return;
	}
}
Пример #3
0
void GroupListModule_Impl::onPacket(std::auto_ptr<CImPdu> pdu)
{
	CImPdu* pPdu = pdu.get();
	PTR_VOID(pPdu);
	switch (pdu->GetCommandId())
	{
	case CID_GROUP_LIST_RESPONSE://固定群列表
		_grouplistResponse(pPdu);
		break;
	case CID_GROUP_DIALOG_LIST_RESPONSE://讨论组
		_groupDiscussListResponse(pPdu);
		break;
	case CID_GROUP_USER_LIST_RESPONSE://陌生群/讨论组 详细信息(在收到陌生群信息的时候,请求该群信息,返回)
		_groupuserlistResponse(pPdu);
		break;
	case CID_GROUP_UNREAD_CNT_RESPONSE:
		_groupUnreadCntResponse(pPdu);	//离线消息计数
		break;
	case CID_GROUP_UNREAD_MSG_RESPONSE://具体的群消息内容
		module::getSessionModule()->OnGroupUnreadMsgRespone(pPdu);
		break;
	case CID_GROUP_CREATE_TMP_GROUP_RESPONSE:
		APP_LOG(LOG_DEBUG, _T("创建临时群返回"));
		_groupCreatTempGroupRespone(pPdu);
		break;
	case CID_GROUP_CHANGE_MEMBER_RESPONSE:	//群成员发生变动
		_groupChangedGroupMembersResponse(pPdu);
		break;
	default:
		return;
	}
}