修改三方通话功能,在发起三方通话时,先保持住主叫,然后再拉回主叫到会议

ViewIpm.cpp 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #include "StdAfx.h"
  2. #include "ViewIpm.h"
  3. #include "resource.h"
  4. #include "ViewGroup.h"
  5. #include "MC.h"
  6. #include "IpmChannel.h"
  7. IMPLEMENT_DYNAMIC(CViewIpm, CViewResBase)
  8. CViewIpm::CViewIpm(void)
  9. {
  10. }
  11. CViewIpm::~CViewIpm(void)
  12. {
  13. }
  14. /*****************************************************************
  15. **【函数名称】 _createControl
  16. **【函数功能】 创建控件
  17. **【参数】
  18. **【返回值】
  19. ****************************************************************/
  20. bool CViewIpm::_createControl( void )
  21. {
  22. //创建控件
  23. if(!Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP, CRect(0, 0, 0, 0), &m_Pane, IDC_LIST_IPM))
  24. {
  25. TRACE0("创建IPM控件失败\n");
  26. return false;
  27. }
  28. return true;
  29. }
  30. /*****************************************************************
  31. **【函数名称】 onResState
  32. **【函数功能】 资源状态处理函数
  33. **【参数】
  34. **【返回值】
  35. ****************************************************************/
  36. void CViewIpm::onResState( DEV_RES_ID& ResId )
  37. {
  38. CViewGroup* pBoard = _getResGroup(ResId);
  39. ASSERT(pBoard != NULL);
  40. if(pBoard == NULL)
  41. return;
  42. PVIEW_ITEM_TYPE pRes = pBoard->getSubItem(ResId.ChanNo);
  43. ASSERT(pRes != NULL);
  44. if(pRes == NULL)
  45. return;
  46. CIpmChannel* pChan = CMC::GetInstance().findIpmCh(ResId);
  47. ASSERT(pChan != NULL);
  48. if(pChan == NULL)
  49. return;
  50. PVIEW_ITEM_TYPE pItem = pRes->GetSubItem(0);
  51. ASSERT(pItem != NULL);
  52. pItem->SetValue(pChan->getStateStr());
  53. }
  54. BEGIN_MESSAGE_MAP(CViewIpm, CViewResBase)
  55. END_MESSAGE_MAP()