中间件底层,websocket

CellBase.cpp 2.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #include "StdAfx.h"
  2. #include "CellBase.h"
  3. #include "CellAUTOCREATE.h"
  4. #include "IvrFlow.h"
  5. CCellBase::CCellBase(void)
  6. {
  7. }
  8. CCellBase::CCellBase( CCellBase& CellBase ) : m_Pos(CellBase.m_Pos), m_Note(CellBase.m_Note), m_pIvrFlow(CellBase.m_pIvrFlow)
  9. {
  10. }
  11. /*****************************************************************
  12. **【函数名称】 createCell
  13. **【函数功能】 根据节点名称生成对应节点对象
  14. **【参数】 a_Name: 名称
  15. **【返回值】 节点对象
  16. ****************************************************************/
  17. CCellBase* CCellBase::createCell( const CString& a_Name )
  18. {
  19. return CCellAUTOCREATE::createCell(a_Name);
  20. }
  21. /*****************************************************************
  22. **【函数名称】 __getCellInfo
  23. **【函数功能】 节点流程执行信息
  24. **【参数】
  25. **【返回值】 节点执行信息
  26. ****************************************************************/
  27. void CCellBase::_getCellInfo( CString& InfoBuffer )
  28. {
  29. if (m_pIvrFlow != NULL)
  30. {
  31. //InfoBuffer.Format(_T("{ FLOW[%d], NODE[%d], NOTE = %s } "), m_pIvrFlow->id(), m_Pos, m_Note);
  32. // 2022-05-30 开始节点增加流程详细信息日志
  33. CString strName = name();
  34. if (CELL_NAME_START == strName) {
  35. CString strInfo, str;
  36. m_pIvrFlow->findVarValue(SYSTEM_VAR_CALLID, str);
  37. str.Format("[%s-%s]", SYSTEM_VAR_CALLID, str);
  38. strInfo.Format("%s%s", strInfo, str);
  39. str = "";
  40. m_pIvrFlow->findVarValue(SYSTEM_VAR_OUTLINEID, str);
  41. str.Format("[%s-%s]", SYSTEM_VAR_OUTLINEID, str);
  42. strInfo.Format("%s%s", strInfo, str);
  43. str = "";
  44. m_pIvrFlow->findVarValue(SYSTEM_VAR_CALLER, str);
  45. str.Format("[%s-%s]", SYSTEM_VAR_CALLER, str);
  46. strInfo.Format("%s%s", strInfo, str);
  47. str = "";
  48. m_pIvrFlow->findVarValue(SYSTEM_VAR_CALLEE, str);
  49. str.Format("[%s-%s]", SYSTEM_VAR_CALLEE, str);
  50. strInfo.Format("%s%s", strInfo, str);
  51. InfoBuffer.Format(_T("{ FLOW[%d], NODE[%d], NOTE = %s[%s] } "), m_pIvrFlow->id(), m_Pos, m_Note, strInfo);
  52. }
  53. else {
  54. InfoBuffer.Format(_T("{ FLOW[%d], NODE[%d], NOTE = %s } "), m_pIvrFlow->id(), m_Pos, m_Note);
  55. }
  56. }
  57. }
  58. /*****************************************************************
  59. **【函数名称】 assoCallID
  60. **【函数功能】 获取关联CallID
  61. **【参数】
  62. **【返回值】
  63. ****************************************************************/
  64. ULONG CCellBase::assoCallID( void )
  65. {
  66. if(m_pIvrFlow != NULL)
  67. return m_pIvrFlow->assoCallId();
  68. else
  69. return 0;
  70. }