示例#1
0
	virtual void invalidate(bool bClose)
	{
		if (m_pDoRtpHandler.get() != NULL)
		{
			if (bClose)
				m_handler->onInvalidate(m_pDoRtpHandler);
			m_pDoRtpHandler.reset();
		}
	}
示例#2
0
	virtual void finalService(void)
	{
		if (!m_bServiceInited) return;

		cgcObject::pointer eventPointer = theAppAttributes->removeAttribute(EVENT_ATTRIBUTE, this);
		CIDEvent * pIDEvent = (CIDEvent*)eventPointer.get();
		if (pIDEvent != NULL)
		{
			for (unsigned int i=pIDEvent->m_nCurIDEvent; i<pIDEvent->m_nCurIDEvent+pIDEvent->m_nCapacity; i++)
				theApplication->KillTimer(i);
		}

		m_mapCgcRemote.clear();
		m_listMgr.clear();

		DoRtpHandler::pointer pDoRtpHandlerTemp = m_pDoRtpHandler;
		m_pDoRtpHandler.reset();
		m_rtpService->stopRtp(pDoRtpHandlerTemp);
		m_bServiceInited = false;
		CGC_LOG((LOG_INFO, _T("**** [%s:%d] Stop succeeded ****\n"), serviceName().c_str(), m_commPort));
	}