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

SubjectTrunkUsageOfTask.cpp 2.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #include "StdAfx.h"
  2. #include "SubjectTrunkUsageOfTask.h"
  3. #include "SubjectRepository.h"
  4. #include "SubjectHost.h"
  5. CSubjectTrunkUsageOfTask::CSubjectTrunkUsageOfTask(CSubjectRepository* pParent) : CSubject(pParent)
  6. {
  7. }
  8. CSubjectTrunkUsageOfTask::~CSubjectTrunkUsageOfTask(void)
  9. {
  10. }
  11. /*****************************************************************
  12. **【函数名称】 __updateTrunkUsage
  13. **【函数功能】 更新任务的外线利用率
  14. **【参数】
  15. **【返回值】
  16. ****************************************************************/
  17. void CSubjectTrunkUsageOfTask::__updateTrunkUsage( UINT TaskId, UINT Usage )
  18. {
  19. m_TrunkUsageTable.SetAt(TaskId, Usage);
  20. }
  21. /*****************************************************************
  22. **【函数名称】 __getTrunkUsage
  23. **【函数功能】 获取外线的利用率
  24. **【参数】
  25. **【返回值】
  26. ****************************************************************/
  27. UINT CSubjectTrunkUsageOfTask::__getTrunkUsage( UINT TaskId )
  28. {
  29. UINT Usage = 0;
  30. m_TrunkUsageTable.Lookup(TaskId, Usage);
  31. return Usage;
  32. }
  33. /*****************************************************************
  34. **【函数名称】 _insertData
  35. **【函数功能】 追加订阅数据
  36. **【参数】 Data: 要追加的数据内容
  37. pHost: 关联的观查者对象
  38. Type: 订阅类型
  39. **【返回值】
  40. ****************************************************************/
  41. void CSubjectTrunkUsageOfTask::_insertData( int Data, CSubjectHost* pHost, SUBJECT_TYPE Type )
  42. {
  43. // 提取任务外线利用率信息发送到当前观查者
  44. EventSubject info;
  45. memset(&info, 0, sizeof(EventSubject));
  46. info.SubData1 = Data;
  47. info.SubData2 = __getTrunkUsage(Data);
  48. info.nEventType = Type;
  49. _dispatchEvent(&info, pHost->id());
  50. }
  51. /*****************************************************************
  52. **【函数名称】 incodeEvent
  53. **【函数功能】 打包通知事件内容
  54. **【参数】 SubData1 订阅数据1
  55. SubData2 订阅数据2
  56. Type 事件类型
  57. Data 附加信息
  58. **【返回值】 当前事件是否需要发送
  59. ****************************************************************/
  60. BOOL CSubjectTrunkUsageOfTask::incodeEvent( UINT SubData1, UINT SubData2, SUBJECT_TYPE Type, int Data, EventSubject* pEvent )
  61. {
  62. __updateTrunkUsage(SubData1, Data);
  63. if(m_HostList.IsEmpty())
  64. return FALSE;
  65. memset(pEvent, 0, sizeof(EventSubject));
  66. pEvent->nEventType = Type;
  67. pEvent->SubData1 = SubData1;
  68. pEvent->SubData2 = Data;
  69. return TRUE;
  70. }