MiddleWares_YiHe 郑州颐和医院随访系统中间件

TapiOpBase.h 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*************************************************************************
  2. 【文件名】 TapiOpBase.h
  3. 【功能模块和目的】 TAPI操作行为类基类头文件
  4. 【开发者及日期】 郑石诺 2016/03/23
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. #include <Tapi.h>
  11. class CTapiLine;
  12. class CLineOpExec;
  13. /*************************************************************************
  14. 【类名】 CTapiOpBase
  15. 【功能】
  16. 【接口说明】 TAPI操作行为类基类
  17. 【开发者及日期】 郑石诺 2016/03/23
  18. 【版本】 V1.0.0
  19. 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司
  20. 【更改记录】
  21. *************************************************************************/
  22. class CTapiOpBase
  23. {
  24. public:
  25. CTapiOpBase(LONG Instance);
  26. virtual ~CTapiOpBase(void);
  27. // 关联操作
  28. void attachHostLine(CTapiLine* pLine); // 设置主控线路的关联
  29. void attachAssistLine(CTapiLine* pLine); // 设置辅助线路的关随
  30. void detachAllLines(void); // 取消线路关联
  31. // 操作主控方法
  32. virtual bool start(LineOpParam* pParam) = 0; // 操作启动(命令方式)
  33. virtual void start(DevLinkInfoS* pInfo) {} // 操作启动(手动方式)
  34. virtual void setAssoInfo(LONG Info) {} // 设置关联信息
  35. virtual bool cancel(LONG InstanceCancel) = 0; // 取消当前操作
  36. virtual void end(bool IsSucceed) = 0; // 操作完成(注:此操作之后只能调用 return 语句)
  37. virtual bool resume(long Instance) { return false; } // 当前操作继续执行
  38. // 线路交互事件
  39. virtual void onReply(CTapiLine* pEventLine, LONG RequestID, HRESULT Result) = 0; // 线路操作异步响应事件
  40. virtual void onCallState(CTapiLine* pEventLine, HCALL CallId, DWORD CallState, DWORD CallStateDetail) = 0; // 呼叫状态事件
  41. virtual void onDevLinkEventS(CTapiLine* pEventLine, DevLinkInfoS* pInfoS) = 0; // DevLink中S事件
  42. virtual void onDevLinkEventD(CTapiLine* pEventLine, int DevLinkCallId) = 0; // DevLink中D事件
  43. virtual void onDevLinkEventA(CTapiLine* pEventLine, int DevLinkCallId) = 0; // DevLink中A事件
  44. protected:
  45. void _notifyOpProcess(DevLinkInfoS* pInfoS); // 通知操作进展事件
  46. protected:
  47. CTapiLine* m_pHostLine; // 当前操作的主控线路
  48. CTapiLine* m_pAssistLine; // 当前操作的辅助线路
  49. LONG m_Instance; // 调用标识,用于回传
  50. LONG m_InstanceCancel; // 启动取消操作的调用标识
  51. };