#include "StdAfx.h" #include "StrategySpecifiedAgent.h" #include "Agent.h" #include "AgentGroup.h" CStrategySpecifiedAgent::CStrategySpecifiedAgent(void) { } CStrategySpecifiedAgent::~CStrategySpecifiedAgent(void) { } /***************************************************************** **【函数名称】 _setStrategyInfo **【函数功能】 设定策略的参照信息 **【参数】 **【返回值】 ****************************************************************/ void CStrategySpecifiedAgent::_setStrategyInfo( const CString& Info ) { m_AgentIdList.RemoveAll(); CHAR szInfo[AGENT_ID_BUF_LEN]; lstrcpy(szInfo, Info); // 解析指定的座席工号 char* lpNextToken = NULL; char* lpToken = strtok_s(szInfo, AGENT_GROUP_SPLIT_FLAG, &lpNextToken); while(lpToken != NULL) { UINT AgentId = 0; sscanf_s(lpToken, "%d", &AgentId); m_AgentIdList.Add(AgentId); lpToken = strtok_s(NULL, AGENT_GROUP_SPLIT_FLAG, &lpNextToken); } // end while } /***************************************************************** **【函数名称】 _locateAgent **【函数功能】 得到当前排队策略下可用座席 **【参数】 **【返回值】 ****************************************************************/ CAgent* CStrategySpecifiedAgent::_locateAgent( CAgentGroup& AgentGroup ) { for(int i=0; iid() == m_AgentIdList[i] && pAgent->isFree()) { return pAgent; } } } // end for return NULL; }