中间件底层,websocket

SubjectHost.cpp 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. #include "StdAfx.h"
  2. #include "SubjectHost.h"
  3. CSubjectHost::CSubjectHost(UINT Agent) : m_Agent(Agent)
  4. {
  5. }
  6. CSubjectHost::~CSubjectHost(void)
  7. {
  8. }
  9. /*****************************************************************
  10. **【函数名称】 addQueueNo
  11. **【函数功能】 添加订阅的外线排队组
  12. **【参数】
  13. **【返回值】
  14. ****************************************************************/
  15. void CSubjectHost::addQueueNo( int QueueNo )
  16. {
  17. POSITION pos = m_QueueNoList.Find(QueueNo);
  18. if(pos == NULL)
  19. m_QueueNoList.AddTail(QueueNo);
  20. }
  21. /*****************************************************************
  22. **【函数名称】 delQueueNo
  23. **【函数功能】 删除订阅的外线排队组
  24. **【参数】
  25. **【返回值】
  26. ****************************************************************/
  27. void CSubjectHost::delQueueNo( int QueueNo )
  28. {
  29. if(QueueNo == -1)
  30. m_QueueNoList.RemoveAll();
  31. else
  32. {
  33. POSITION pos = m_QueueNoList.Find(QueueNo);
  34. if(pos != NULL)
  35. m_QueueNoList.RemoveAt(pos);
  36. }
  37. }
  38. /*****************************************************************
  39. **【函数名称】 isQueueNoCared
  40. **【函数功能】 是否是订阅的外线排队组
  41. **【参数】
  42. **【返回值】
  43. ****************************************************************/
  44. BOOL CSubjectHost::isQueueNoCared( int QueueNo )
  45. {
  46. return m_QueueNoList.Find(QueueNo) != NULL;
  47. }
  48. /*****************************************************************
  49. **【函数名称】 addAgentId
  50. **【函数功能】 添加订阅的座席工号
  51. **【参数】
  52. **【返回值】
  53. ****************************************************************/
  54. void CSubjectHost::addAgentId( int AgentId )
  55. {
  56. POSITION pos = m_AgentIdList.Find(AgentId);
  57. if(pos == NULL)
  58. m_AgentIdList.AddTail(AgentId);
  59. }
  60. /*****************************************************************
  61. **【函数名称】 delAgentId
  62. **【函数功能】 删除订阅的座席工号
  63. **【参数】
  64. **【返回值】
  65. ****************************************************************/
  66. void CSubjectHost::delAgentId( int AgentId )
  67. {
  68. if(AgentId == -1)
  69. m_AgentIdList.RemoveAll();
  70. else
  71. {
  72. POSITION pos = m_AgentIdList.Find(AgentId);
  73. if(pos != NULL)
  74. m_AgentIdList.RemoveAt(pos);
  75. }
  76. }
  77. /*****************************************************************
  78. **【函数名称】 isAgentIdCared
  79. **【函数功能】 是否是订阅的座席工号
  80. **【参数】
  81. **【返回值】
  82. ****************************************************************/
  83. BOOL CSubjectHost::isAgentIdCared( int AgentId )
  84. {
  85. if (m_AgentIdList.IsEmpty())
  86. return FALSE;
  87. return m_AgentIdList.Find(AgentId) != NULL;
  88. }
  89. /*****************************************************************
  90. **【函数名称】 addExtenNo
  91. **【函数功能】 添加订阅其分机的座席号
  92. **【参数】
  93. **【返回值】
  94. ****************************************************************/
  95. void CSubjectHost::addAgentId2ExtNo( int ExtenNo )
  96. {
  97. POSITION pos = m_AgentId2ExtNoList.Find(ExtenNo);
  98. if(pos == NULL)
  99. m_AgentId2ExtNoList.AddTail(ExtenNo);
  100. }
  101. /*****************************************************************
  102. **【函数名称】 delExtenNo
  103. **【函数功能】 删除订阅其分机的座席号
  104. **【参数】
  105. **【返回值】
  106. ****************************************************************/
  107. void CSubjectHost::delAgentId2ExtNo( int ExtenNo )
  108. {
  109. if(ExtenNo == -1)
  110. m_AgentId2ExtNoList.RemoveAll();
  111. else
  112. {
  113. POSITION pos = m_AgentId2ExtNoList.Find(ExtenNo);
  114. if(pos != NULL)
  115. m_AgentId2ExtNoList.RemoveAt(pos);
  116. }
  117. }
  118. /*****************************************************************
  119. **【函数名称】 isExtenNoCared
  120. **【函数功能】 是否是订阅其分机的座席号
  121. **【参数】
  122. **【返回值】
  123. ****************************************************************/
  124. BOOL CSubjectHost::isAgentId2ExtNoCared( int ExtenNo )
  125. {
  126. return m_AgentId2ExtNoList.Find(ExtenNo) != NULL;
  127. }
  128. /*****************************************************************
  129. **【函数名称】 isEmpty
  130. **【函数功能】 是否取消了所有订阅
  131. **【参数】
  132. **【返回值】
  133. ****************************************************************/
  134. BOOL CSubjectHost::isEmpty( void ) const
  135. {
  136. return m_AgentIdList.IsEmpty() && m_AgentId2ExtNoList.IsEmpty() && m_QueueNoList.IsEmpty();
  137. }