升龙物业 老版本 ocx IPO, 加密狗 转值班电话

FaxReq.cpp 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. #include "StdAfx.h"
  2. #include "FaxReq.h"
  3. #include "VirtualProxy.h"
  4. #include "MC.h"
  5. #include "ProxyShell.h"
  6. CFaxReq::CFaxReq(CProxyShell* pParent, CPduEntity& ReqPdu) : CReqBase(pParent, ReqPdu), m_IsRecving(false)
  7. {
  8. }
  9. CFaxReq::~CFaxReq(void)
  10. {
  11. }
  12. /*****************************************************************
  13. **【函数名称】 request
  14. **【函数功能】 发出请求(命令方式)
  15. **【参数】
  16. **【返回值】
  17. ****************************************************************/
  18. bool CFaxReq::request( void )
  19. {
  20. // 校验状态
  21. if(m_pHostLine->state() != VIRTUAL_LINE_STATE_TALKING)
  22. return false;
  23. // 保存传真信息
  24. m_IsRecving = m_ReqPdu.GetDataUInt(3) == CLIENT_REQ_FAX_RECV ? true : false; // (0 -> 发送,1 -> 接收)
  25. m_FileName = m_ReqPdu.GetDataString(4);
  26. LOGGER(LOG_CLASS_BUSI, LOG_LEVEL_NORMAL, _T("{LineReq}: 中继[%lu]%s传真, FileName = %s"),
  27. m_pHostLine->lineId(), m_IsRecving ? _T("接收") : _T("发送"), m_FileName);
  28. // 启动操作
  29. return CMC::GetInstance().fax(m_pHostLine->devId(), m_FileName, m_IsRecving);
  30. }
  31. /*****************************************************************
  32. **【函数名称】 end
  33. **【函数功能】 操作完成
  34. **【参数】 IsSucceed 操作是否成功
  35. lpData 随路数据
  36. **【返回值】
  37. ****************************************************************/
  38. void CFaxReq::end( bool IsSucceed, LPCTSTR lpData )
  39. {
  40. if(IsSucceed)
  41. {
  42. LOGGER(LOG_CLASS_BUSI, LOG_LEVEL_NORMAL, _T("{LineReq}: 中继[%lu]%s传真成功, FileName = %s"),
  43. m_pHostLine->lineId(), m_IsRecving ? _T("接收") : _T("发送"), m_FileName);
  44. }
  45. else
  46. {
  47. LOGGER(LOG_CLASS_BUSI, LOG_LEVEL_NORMAL, _T("{LineReq}: 中继[%lu]%s传真失败, FileName = %s"),
  48. m_pHostLine->lineId(), m_IsRecving ? _T("接收") : _T("发送"), m_FileName);
  49. } // end if
  50. m_pParent->onLineReqEnd(this, IsSucceed, lpData);
  51. }
  52. /*****************************************************************
  53. **【函数名称】 onDevChEvent
  54. **【函数功能】 线路向上层发送的设备主动事件
  55. **【参数】 pEventLine 触发事件的线路
  56. EvtType 事件类型
  57. lpContent 事件内容
  58. **【返回值】
  59. *****************************************************************/
  60. void CFaxReq::onDevChEvent( CVirtualProxy* pEventLine, DEV_CH_EVT_TYPE EvtType, LPCTSTR lpContent )
  61. {
  62. switch(EvtType)
  63. {
  64. case DEV_CH_EVT_FAX_OK: // 传真成功
  65. {
  66. end(true, lpContent);
  67. }
  68. break;
  69. case DEV_CH_EVT_FAX_FAILED: // 传真失败
  70. {
  71. end(false, lpContent);
  72. }
  73. break;
  74. default:
  75. ASSERT(FALSE);
  76. break;
  77. } // end switch
  78. }
  79. /*****************************************************************
  80. **【函数名称】 onLineStateChanged
  81. **【函数功能】 线路状态变化事件响应接口
  82. **【参数】 pEventLine 状态变化的线路实体指针
  83. LineState 线路当前状态
  84. Call 主呼叫ID
  85. SubCall 子呼叫ID
  86. lpCallerNum 主叫号码
  87. lpCalleeNum 被叫号码
  88. **【返回值】
  89. ****************************************************************/
  90. void CFaxReq::onLineStateChanged( CVirtualProxy* pEventLine, VIRTUAL_LINE_STATE LineState, long Call, long SubCall, LPCTSTR lpCallerNum, LPCTSTR lpCalleeNum )
  91. {
  92. //TODO: do nothing
  93. }