📄 main.h
字号:
#ifndef __MAIN__H__
#define __MAIN__H__
#include "c:\\telefine\\lib\\structo.h"
struct CH
{
unsigned short status; //大状态
unsigned short state; //小状态
public:
CH(){status=state=0;}
};
struct CHGROUP
{
unsigned short NO1Num;
unsigned short NO7Num;
unsigned short DSS1Num;
unsigned short TBNum;
unsigned short AGENTNum;
unsigned short HBNum;
private:
CH *pNO1; //一号信令
CH *pNO7; //7号信令
CH *pDSS1; //isdn信令
CH *pTB; //模拟外线
CH *pAGENT; //模拟内线
CH *pHB; //高阻模块
public:
CHGROUP(){NO1Num=NO7Num=DSS1Num=TBNum=AGENTNum=HBNum=0;
pNO1=pNO7=pDSS1=pTB=pAGENT=pHB=0;}
virtual ~CHGROUP()
{if(NO1Num) delete[]pNO1;
if(NO7Num) delete[]pNO7;
if(DSS1Num) delete[]pDSS1;
if(TBNum) delete[]pTB;
if(AGENTNum) delete[]pAGENT;
if(HBNum) delete[]pHB;}
void Init(unsigned short type,unsigned short num) //每种线路通道的数目,每种通道只能调用一次
{
if(num==0)
return;
CH *p=new CH[num];
if(p==NULL)
return;
switch(type)
{
case CHTYPE_DTNO1 ://0x09 //数字中继中国一号信令
pNO1=p;
NO1Num=num;
break;
case CHTYPE_DTNO7 :// 0x0A //数字中继中国七号信令
pNO7=p;
NO7Num=num;
break;
case CHTYPE_DTDSS1 :// 0x0B //数字中继ISDN PRI(30B+D)
pDSS1=p;
DSS1Num=num;
break;
case CHTYPE_TB :// 0x11 //模拟中继外线(普通市话线),接电信局
pTB=p;
TBNum=num;
break;
case CHTYPE_AGENT ://0x12 //模拟中继内线(座席线),接电话机
pAGENT=p;
AGENTNum=num;
break;
case CHTYPE_HB :// 0x13 //模拟中继高阻线(监控线),与电话线/电话机相并联
pHB=p;
HBNum=num;
break;
default:
delete []p;
return;
}
}
CH *GetChPoint(unsigned short type,unsigned short ch)
{
switch(type)
{
case CHTYPE_DTNO1 ://0x09 //数字中继中国一号信令
if(ch>=NO1Num)
return 0;
return &pNO1[ch];
case CHTYPE_DTNO7 :// 0x0A //数字中继中国七号信令
if(ch>=NO7Num)
return 0;
return &pNO7[ch];
case CHTYPE_DTDSS1 :// 0x0B //数字中继ISDN PRI(30B+D)
if(ch>=DSS1Num)
return 0;
return &pDSS1[ch];
case CHTYPE_TB :// 0x11 //模拟中继外线(普通市话线),接电信局
if(ch>=TBNum)
return 0;
return &pTB[ch];
case CHTYPE_AGENT ://0x12 //模拟中继内线(座席线),接电话机
if(ch>=AGENTNum)
return 0;
return &pAGENT[ch];
case CHTYPE_HB :// 0x13 //模拟中继高阻线(监控线),与电话线/电话机相并联
if(ch>=HBNum)
return 0;
return &pHB[ch];
default:
return 0;
}
}
};
const char *GetChTypeStr(unsigned short type)
{
switch(type)
{
case CHTYPE_DTNO1:
return "一号信令";
case CHTYPE_DTNO7:
return "七号信令";
case CHTYPE_DTDSS1:
return "ISDN信令";
case CHTYPE_TB:
return "模拟外线";
case CHTYPE_AGENT:
return "模拟内线";
case CHTYPE_HB:
return "高阻模块";
default:
return "未知类型";
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -