示例#1
0
BOOL ReceiveMsgManage::pushMessageBySId(const std::string& sId, MessageEntity& msg)
{
	if (sId.empty())
	{
		LOG__(ERR, _T("sId is empty!"));
		return FALSE;
	}
	CAutoLock lock(&m_lock);
	try
	{
		SessionMessage_List* listChatMsg = _getChatMsgListBySID(sId);
		if (listChatMsg)
		{
			listChatMsg->push_back(msg);
		}
		else
		{
			SessionMessage_List listChatMsg2;
			listChatMsg2.push_back(msg);
			m_mapSessionMsg[sId] = listChatMsg2;
		}
	}
	catch (...)
	{
		CString csSid = util::stringToCString(sId);
		CString csMsgCnt = util::stringToCString(msg.content, CP_UTF8);
		LOG__(ERR, _T("pushMessageBySId failed,SId:%s,msg conteng:%s"), csSid, csMsgCnt);
		return FALSE;
	}
	return TRUE;
}
示例#2
0
BOOL AudioMessageMananger::pushAudioMessageBySId(const std::string& sId, MessageEntity& msg)
{
	SessionMessageMap::iterator it = m_mapUnReadAudioMsg.find(sId);
	if (it == m_mapUnReadAudioMsg.end())
	{
		SessionMessage_List listChatMsg;
		listChatMsg.push_back(msg);
		m_mapUnReadAudioMsg[sId] = listChatMsg;
	}
	else
	{
		SessionMessage_List& listChatMsg = it->second;
		listChatMsg.push_back(msg);
	}
	return TRUE;
}