多数据源中间件标准版1.0

SubjectHost.cpp 3.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  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. return m_AgentIdList.Find(AgentId) != NULL;
  86. }
  87. /*****************************************************************
  88. **【函数名称】 addExtenNo
  89. **【函数功能】 添加订阅其分机的座席号
  90. **【参数】
  91. **【返回值】
  92. ****************************************************************/
  93. void CSubjectHost::addAgentId2ExtNo( int ExtenNo )
  94. {
  95. POSITION pos = m_AgentId2ExtNoList.Find(ExtenNo);
  96. if(pos == NULL)
  97. m_AgentId2ExtNoList.AddTail(ExtenNo);
  98. }
  99. /*****************************************************************
  100. **【函数名称】 delExtenNo
  101. **【函数功能】 删除订阅其分机的座席号
  102. **【参数】
  103. **【返回值】
  104. ****************************************************************/
  105. void CSubjectHost::delAgentId2ExtNo( int ExtenNo )
  106. {
  107. if(ExtenNo == -1)
  108. m_AgentId2ExtNoList.RemoveAll();
  109. else
  110. {
  111. POSITION pos = m_AgentId2ExtNoList.Find(ExtenNo);
  112. if(pos != NULL)
  113. m_AgentId2ExtNoList.RemoveAt(pos);
  114. }
  115. }
  116. /*****************************************************************
  117. **【函数名称】 isExtenNoCared
  118. **【函数功能】 是否是订阅其分机的座席号
  119. **【参数】
  120. **【返回值】
  121. ****************************************************************/
  122. BOOL CSubjectHost::isAgentId2ExtNoCared( int ExtenNo )
  123. {
  124. return m_AgentId2ExtNoList.Find(ExtenNo) != NULL;
  125. }
  126. /*****************************************************************
  127. **【函数名称】 isEmpty
  128. **【函数功能】 是否取消了所有订阅
  129. **【参数】
  130. **【返回值】
  131. ****************************************************************/
  132. BOOL CSubjectHost::isEmpty( void ) const
  133. {
  134. return m_AgentIdList.IsEmpty() && m_AgentId2ExtNoList.IsEmpty() && m_QueueNoList.IsEmpty();
  135. }