?? acdx.h
字號:
/*=============================================================
Function:
Author: Leon Wang <wlywly@sina.com giga2@tom.com>
==============================================================*/
#ifndef _ACD_HEAD_1
#define _ACD_HEAD_1
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "CallRouter.h"
#include "WQManager.h"
#include "GkClient.h"
#include "CallBacklog.h"
#include "HouseKeeper.h"
#include "ACDCommandListener.h"
#include "ACDConfig.h"
#include "Logger.h"
#include "alias.h"
#include "agent.h"
#include <LIST>
//#include "socket/Lock.h"
//class Lock;
typedef std::list<Agent> aList;
//##ModelId=424BB6470055
class ACDX : public CCallRouter
{
public:
//##ModelId=424BB6470057
CString dumpPendingList();
//##ModelId=424BB6470058
CString dumpAgentStates();
//##ModelId=424BB6470065
void login(CString agent);
//##ModelId=424BB6470067
void logout(CString agent);
//##ModelId=424BB6470075
CString getWaitQueue(CString queue);
//##ModelId=424BB6470077
void routeCall(CString queue, CString callerEndId,CString callRef, CString callerAlias, CString callerIp);
//##ModelId=424BB6470088
void agentSanityCheck();
//##ModelId=424BB6470094
void clearAllAliasStates();
//##ModelId=424BB6470095
void setAliasTalking(CString _alias, CString _crv);
//##ModelId=424BB64700A6
void setAliasAvailable(CString _epid, CString _crv);
//##ModelId=424BB64700B4
void removeAllAliases(CString _epid);
//##ModelId=424BB64700C3
void addAlias(CString _alias, CString _epid);
//##ModelId=424BB64700D2
ACDX();
//##ModelId=424BB64700D3
virtual ~ACDX();
//##ModelId=424BB64700E2
static ACDX* getInstance();
//##ModelId=424BB64700F2
void Start();// start major logic
//protected:
private:
//##ModelId=424BB64700F3
Agent longestIdleRouter(CString queue);
//##ModelId=424BB6470101
Agent roundRobinRouter(CString queue);
//##ModelId=424BB6470103
Agent firstFitRouter(CString queue);
//##ModelId=424BB6470112
Agent firstFitRouter(int start, CString queue);
//##ModelId=424BB6470121
Agent agentByCrv(CString _epid, CString _crv);
//##ModelId=424BB6470130
Alias aliasById(CString _alias, CString _epid);
//##ModelId=424BB6470133
Alias aliasByName(CString _alias);
//##ModelId=424BB647014F
static ACDX* instance; // Singleton
//##ModelId=42198D190087
//##ModelId=424BB6470160
aList aliasList ;
//##ModelId=424BB6470170
GkClient* gkclient;
//##ModelId=424BB647017F
CCallBacklog* backlog;
//##ModelId=424BB647018F
HouseKeeper* houseKeeping ;// later new it= new HouseKeeper();
//##ModelId=424BB647019F
WQManager* waitQueues;// need new it
//##ModelId=424BB64701A4
ACDCommandListener* commandListener;
//##ModelId=424BB64701B0
ACDConfig* config;
//##ModelId=42198D1900F3
// Logger logger;//leon add
//##ModelId=424BB64701BD
int distribution; // call distribution algorithm
//##ModelId=424BB64701DC
CString gkHost;
//##ModelId=424BB64701EC
int gkPort;
//##ModelId=424BB64701ED
int listenPort;
//##ModelId=424BB64701FB
CString redirLocation;
//##ModelId=424BB647020C
Agent lastPick;
};
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -