⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gkclient.h

📁 一个c++实现的acd的例子。 ----ACDCommandListener.cpp ---ACDCommandListenerThread.cpp ---ACDConfig.cpp ---a
💻 H
字号:
 /*=============================================================

 
 Function:
		


 Author: Leon Wang <wlywly@sina.com  giga2@tom.com>
==============================================================*/
// GkClient.h: interface for the GkClient class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_GKCLIENT_H__BF1B84AD_3BCE_44DF_B3EC_B0DD7A21EEF0__INCLUDED_)
#define AFX_GKCLIENT_H__BF1B84AD_3BCE_44DF_B3EC_B0DD7A21EEF0__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Logger.h"	// Added by ClassView
#include <VECTOR>

class ACDX;

//##ModelId=424BB64503B1
typedef std::vector<CString> cstring_vec_t ; //

//#define WAIT_SEC 5 ;// wait 5 seconds before reconnecting to GnuGk

//##ModelId=424BB64503E0
class GkClient  
{
public:

	//##ModelId=424BB64503E1
	void RUN();
	//##ModelId=424BB6460007
	static unsigned __stdcall  _RUN(void *);
	//##ModelId=424BB6460017
	GkClient();
	//##ModelId=424BB6460018
	GkClient(ACDX* p,
			 DWORD ip,
			 int port	
			);	

	//##ModelId=424BB6460027
	void routeReject(CString callingEpId, CString callRef);
	//##ModelId=424BB646002A
	void routeToAlias(CString _alias, CString callingEpId, CString callRef);
	//##ModelId=424BB6460039
	void transferCall(CString _alias, CString _destination);
	//##ModelId=424BB6460048
	void makeCall(CString _epid, CString _destination);
	//##ModelId=424BB6460055
	void unregisterAlias(CString _alias);
	//##ModelId=424BB6460057
	void disconnectAlias(CString _alias);
	//##ModelId=424BB6460066
	void disconnectEndpoint(CString _epid);
	//##ModelId=424BB6460068
	void getCurrentCalls();
	//##ModelId=424BB6460075
	void getCurrentRegistrations();
	//##ModelId=424BB6460076
	void refresh();
	//##ModelId=424BB6460077
	void splitAliases(CString aString,cstring_vec_t & splitFiles);

	//##ModelId=424BB6460086
	void splitFields(CString aString,cstring_vec_t & splitFields);

	//##ModelId=424BB6460095
	void close();
	//##ModelId=424BB6460096
	void stop();
	//##ModelId=424BB64600A4
	void init(ACDX* _store, CString _host, int _port);

	//##ModelId=424BB64600B3
	virtual ~GkClient();
protected:

	//##ModelId=424BB64600B5
	CString GKecho;
	//##ModelId=424BB64600C3
	CString GKecho_end;
	//##ModelId=424BB64600C4
	BOOL parseMessage();
	//##ModelId=424BB64600D2
	void printErrorMessage();

	//##ModelId=424BB64600D3
	void parseSemicolon(cstring_vec_t &semicolonlist,CString gkEcho);
	
	//##ModelId=42198D180105
	//DWORD m_ip;
	//##ModelId=42198D180106
	//int m_port;
	//##ModelId=42198D180114
	//CCallRouter* m_CCallRouter;
	
	//ACDX*	m_ACDX;

private:
	//Logger logger;
	//##ModelId=424BB64600E4
	void sendGkCommand(CString cmd);
	//##ModelId=42198D180125
    //CCallRouter* router;
	//##ModelId=424BB64600F3
	ACDX* router;
	
	//##ModelId=424BB64600F7
	CString host;
	//##ModelId=424BB6460101
	int port;
	
	// socket io to communicate with the gatekeeper

	//##ModelId=424BB6460112
	SOCKET GK_socket;

	//##ModelId=424BB6460116
	char FAR * m_buf;
	//InputStream istream;
	//OutputStream ostream;
	//##ModelId=424BB6460121
    BOOL stopped ;//= FALSE;
	//##ModelId=424BB6460130
    static long WAIT_SEC ; // wait 5 seconds before reconnecting to GnuGk

//	cstring_vec_t splitFields_cmd; // vector of '|' from gk cmd
//	cstring_vec_t splitFields_alia; // vector of '=' from alias

};

#endif // !defined(AFX_GKCLIENT_H__BF1B84AD_3BCE_44DF_B3EC_B0DD7A21EEF0__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -