?? acdconfig.cpp
字號(hào):
/*=============================================================
Function:
Author: Leon Wang <wlywly@sina.com giga2@tom.com>
==============================================================*/
// ACDConfig.cpp: implementation of the ACDConfig class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "ACDConfig.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//##ModelId=424BB647027A
int ACDConfig::FIRST_FIT = 1;
//##ModelId=424BB647027B
int ACDConfig::ROUND_ROBIN = 2;
//##ModelId=424BB6470288
int ACDConfig::LONGEST_IDLE= 3;
//##ModelId=424BB6470289
int ACDConfig::QUEUEING_MODE_REJECT = 1;
//##ModelId=424BB6470298
int ACDConfig::QUEUEING_MODE_RINGING = 2;
//##ModelId=424BB6470299
int ACDConfig::QUEUEING_MODE_TALKING = 3;
//##ModelId=424BB64702A7
int ACDConfig::QUEUEING_MODE_RINGANDTALK = 4;
//##ModelId=424BB64702BA
ACDConfig* ACDConfig::instance = 0;
//##ModelId=424BB647024B
ACDConfig::ACDConfig()
{
appiniPath = getAppPath();// get acdx.ini path
}
//##ModelId=424BB647024C
ACDConfig::~ACDConfig()
{
if (instance != NULL) {
delete instance;
instance = NULL;
}
}
//##ModelId=424BB6470249
ACDConfig* ACDConfig::getInstance()
{
if (instance == 0 ) {
instance = new ACDConfig();
}
return instance;
}
//##ModelId=424BB647023C
int ACDConfig::getDistributionAlgorithm()
{
CString algo = getConfigKey("Main","distribution_algorithm", "FIRST_FIT");
if (algo.Compare("ROUND_ROBIN") == 0)
{
return ROUND_ROBIN;
}
if (algo.Compare("LONGEST_IDLE") == 0)
{
return LONGEST_IDLE;
}
else
{
return FIRST_FIT;
}
}
/**
* return list of queues.
* @return list of queues read ini queues parameter
*/
//##ModelId=424BB6470278
void ACDConfig::getQueues(queue_list_vt &queues) {
char tempChar[MAX_PATH];
GetPrivateProfileString("Main","queues","",tempChar,MAX_PATH,appiniPath);
queues.reserve(5);
CString q(tempChar);
int qPos = q.Find(',');
do {
if (qPos ==-1) {
queues.push_back(q);
break;
}
queues.push_back(q.Left(qPos));
q = q.Mid(qPos);
qPos = q.Find(',');
} while(true);
}
/**
* Read queueing mode selected in config file for this queue.
* @param queue queue name
* @return constant for mode
*/
//##ModelId=424BB647026B
int ACDConfig::getQueueingMode(CString queue) {
CString mode = getConfigKey("Main",queue + "_queueing_mode", "REJECT");
if (mode=="RINGING")
return QUEUEING_MODE_RINGING;
else if (mode=="TALKING")
return QUEUEING_MODE_TALKING;
else if (mode=="RINGANDTALK")
return QUEUEING_MODE_RINGANDTALK;
else
return QUEUEING_MODE_REJECT;
}
/**
* Get ring timeout for this queue.
* @param queue queue name
* @return timeout in seconds
*/
//##ModelId=424BB6470269
long ACDConfig::getRingTimeout(CString queue) {
int timeout = getConfigKey("Main",queue + "_ring_timeout", 60); // 1 min
return timeout;
}
/**
* Get talk timeout for this queue.
* @param queue queue name
* @return timeout in seconds
*/
//##ModelId=424BB647025C
long ACDConfig::getTalkTimeout(CString queue) {
int timeout = getConfigKey("Main",queue + "_talk_timeout", 3600); // 1 hr
return timeout;
}
/**
* Get priority setting for this queue.
* @param queue queue name
* @return priority
*/
//##ModelId=424BB647025A
int ACDConfig::getPriority(CString queue) {
int prio = getConfigKey("Main",queue + "_priority", 0);
return prio;
}
/**
* Get max size for this queue.
* @param queue queue name
* @return size
*/
//##ModelId=424BB647024E
int ACDConfig::getMaxSize(CString queue) {
int size = getConfigKey("Main",queue + "_size", -1);
return size;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -