📄 gkclient.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 + -