📄 calldlg.h
字号:
// 软件授权协议
//1、 杭州三汇信息工程有限公司(以下简称本公司)拥有"本软件及所有附属产品、文件和相关文档"(以下简称本产品)的完全版权。任何单位和个人在使用前须获得本公司的授权。
//2、 本公司授权符合以下全部条件的单位和个人免费使用本产品:
//A、 本产品与通过合法销售渠道购买的本公司硬件产品配合使用时;
//B、 不私自向第三方传播本产品和本产品的任何一部分。
//3、 除符合第2条以外的其他单位和个人需要使用本产品时,必须获得本公司的书面授权。
//4、 获得授权的单位和个人不得转让其获得的授权。
//5、 使用本产品,即表明完全理解本协议的所有条款并全部接受。
// CallDlg.h : header file
//
#if !defined(AFX_CALLDLG_H__16813346_96B5_11D4_8EBC_00108804A3F0__INCLUDED_)
#define AFX_CALLDLG_H__16813346_96B5_11D4_8EBC_00108804A3F0__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define PROTOCOL_H323 15
#define PROTOCOL_SIP 16
// Max Channel Number
#define MAX_CHANNEL 128
enum ANALOGCH_STATE {
E_STATE_ANALOG_IDLE,
E_STATE_ANALOG_WAIT_CONNECT,
E_STATE_ANALOG_PLAY_WELCOM,
E_STATE_ANALOG_CHECK_PLAY_WELCOM,
E_STATE_ANALOG_PLAY_SELECT,
E_STATE_ANALOG_CHECK_PLAY_SELECT,
E_STATE_ANALOG_CHECK_PLAY_PASSWORD,
E_STATE_ANALOG_CHECK_REC_START,
E_STATE_ANALOG_CHECK_REC_END,
E_STATE_ANALOG_CHECK_PLAY_BYEBYE,
E_STATE_ANALOG_CHECK_PLAY_RECORD,
E_STATE_ANALOG_WAIT_STATION_HANGUP,
E_STATE_ANALOG_WAIT_STATION_PICKUP,
E_STATE_ANALOG_NOANALOG
};
enum IPCH_STATE {
E_STATE_IP_IDLE,
E_STATE_IP_WAIT_CONNECT,
E_STATE_IP_PLAY_WELCOME,
E_STATE_IP_CHECK_PLAY_WELCOME,
E_STATE_IP_PLAY_SELECT,
E_STATE_IP_CHECK_PLAY_SELECT,
E_STATE_IP_CHECK_REC_START,
E_STATE_IP_CHECK_REC_END,
E_STATE_IP_WAIT_STATION_HANGUP,
E_STATE_IP_WAIT_STATION_PICKUP,
E_STATE_IP_NOIP
};
enum STATIONCH_STATE {
E_STATE_STATION_IDLE,
E_STATE_STATION_RINGING,
E_STATE_STATION_TALKING,
E_STATE_STATION_NOSTATION
};
typedef struct{
int iChId;
int iLineState;
int nStationCh;
bool bEnCalled;
char szCallerTelNumber[64];
unsigned long ulTimeOutCounter;
ANALOGCH_STATE Step ;
} ANALOGCH_STRUCT;
typedef struct{
int iChId;
int iLineState;
int nStationCh;
int nProtocolType;
char szCallerTelNumber[64];
unsigned long ulTimeOutCounter;
unsigned long ulCodecType;
IPCH_STATE Step;
} IPCH_STRUCT;
typedef struct{
int iChId;
int iTalkWithChId;
STATIONCH_STATE Step ;
} STATIONCH_STRUCT;
/////////////////////////////////////////////////////////////////////////////
// CCallDlg dialog
class CCallDlg : public CDialog
{
// Construction
public:
CCallDlg(CWnd* pParent = NULL); // standard constructor
private:
void InitLab();
void ProtocolType();
BOOL m_bInited;
int m_nTotalCh;
int m_nTotalAnalogCh;
int m_nTotalIpCh;
int m_nTotalStationCh;
int m_nIPProtocol;
ANALOGCH_STRUCT m_AnalogCh[MAX_CHANNEL];
IPCH_STRUCT m_IpCh[MAX_CHANNEL];
STATIONCH_STRUCT m_StationCh[MAX_CHANNEL];
BOOL InitCtiSystem();
void InitAllChannel();
void InitAnalogChListCtrl();
void InitIpChListCtrl();
void InitStationChListCtrl();
void UpDateAnalogChListCtrl();
void UpDateIpChListCtrl();
void UpDateStationChListCtrl();
void ScanAnalogCh(void);
void ScanIpCh(void);
void AppErrorHandler(int ch);
int SearchIdleStationCh(void);
void SetStationChState( int iChId, STATIONCH_STATE state);
void SetStationChTalkWith(int iChId, int iTalkWithChId);
// Dialog Data
//{{AFX_DATA(CCallDlg)
enum { IDD = IDD_CALL_DIALOG };
CListCtrl m_IpChList;
CListCtrl m_AnalogChList;
CListCtrl m_StationChList;
CString m_strErrMsg;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CCallDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CCallDlg)
virtual BOOL OnInitDialog();
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnDestroy();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
extern void SetEngWinLab(CDialog* pDlg,int itemnum,CString strin);
extern DWORD g_dwLanguageConversion;
extern DWORD g_dwCHINESE_SIMPLIFIED;
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_CALLDLG_H__16813346_96B5_11D4_8EBC_00108804A3F0__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -