/*
|
* Copyright(C) 2010,Hikvision Digital Technology Co., Ltd
|
*
|
* ÎļþÃû³Æ£ºcatmparams.cpp
|
* Ãè Êö£º
|
* µ±Ç°°æ±¾£º1.0
|
* ×÷ ÕߣºÅËÑǶ«
|
* ´´½¨ÈÕÆÚ£º2010Äê1ÔÂ12ÈÕ
|
* Ð޸ļǼ£º
|
*/
|
|
#include "catmparams.h"
|
#include "publicfuc.h"
|
#include "DemoPublic.h"
|
|
#include <QMessageBox>
|
|
/*******************************************************************
|
Function: CATMParams::CATMParams
|
Parameter: (IN) QWidget *parent ¸¸´°¿ÚÖ¸Õë
|
Description: ¹¹Ô캯Êý
|
**********************************************************************/
|
CATMParams::CATMParams(QWidget *parent)
|
: QWidget(parent)
|
{
|
ui.setupUi(this);
|
|
m_lUserID = -1;
|
m_pNetListen = new(std::nothrow) CATMNetParams;
|
ui.widget->show();
|
ui.vLayout->addWidget(m_pNetListen);
|
ui.vLayout->addWidget(ui.widget);
|
|
|
QStringList list;
|
list<<"Sniff"<<"TCP/IP"<<"String From Serial Port"<<"ATM CMD From Serial Port";
|
|
ui.comboInputType->addItems(list);
|
|
QStringList listATMType;
|
listATMType<<"NCR"<<"DIEBOLD"<<"WINCOR-NIXDORF"<<"SIEMENS"<<"OLIVETTI";
|
listATMType<<"FUJITSU"<<"HITACHI"<<"SMI"<<"IBM"<<"BULL";
|
listATMType<<"âù»¯"<<"Á¢µÂ"<<"¹ãµçÔËͨ"<<"Mini-Banl"<<"¹ãÀû"<<"¶«ÐÅ";
|
listATMType<<"³½Í¨"<<"ÄÏÌì"<<"ÏþÐÇ"<<"¹ãÖÝÓùÒø"<<"ÇàºþÌ©ÀûÌØ"<<"DRS918";
|
listATMType<<"KALATEL"<<"NCR_2"<<"NXS";
|
ui.comboATMType->addItems(listATMType);
|
|
connect(ui.comboInputType, SIGNAL(activated(int)), this, SLOT(comboInputTypeChanged(int)));
|
}
|
|
/*******************************************************************
|
Function: CATMParams::~CATMParams
|
Parameter: (IN) ÎÞ²ÎÊý
|
Description: Îö¹¹º¯Êý
|
**********************************************************************/
|
CATMParams::~CATMParams()
|
{
|
delete m_pNetListen;
|
}
|
|
/*******************************************************************
|
Function: CATMParams::setUserID
|
Parameter: (IN) long lUserID Óû§ID
|
Return: HPR_OK--³É¹¦£¬HPR_ERROR--ʧ°Ü¡£
|
Description: ÉèÖÃÓû§ID
|
**********************************************************************/
|
int CATMParams::setUserID(long lUserID)
|
{
|
if(lUserID < 0)
|
{
|
return HPR_ERROR;
|
}
|
m_lUserID = lUserID;
|
|
return HPR_OK;
|
}
|
|
/*******************************************************************
|
Function: CATMParams::comboInputTypeChanged
|
Parameter: (IN) int iType ATMÊäÈëÀàÐÍ
|
Return: ÎÞ
|
Description: µ±ATMÊäÈëÀàÐ͸ıäʱ£¬´¥·¢¸Ãº¯Êý£¬µ÷ÕûÒ³Ãæ
|
**********************************************************************/
|
void CATMParams::comboInputTypeChanged(int iType)
|
{
|
switch(iType)
|
{
|
case 0: //ÍøÂç¼àÌý(Ö÷¶¯)
|
ui.widget->hide();
|
m_pNetListen->show();
|
ui.vLayout->addWidget(m_pNetListen);
|
break;
|
case 1: //ÍøÂçÐÒé(±»¶¯)
|
ui.widget->show();
|
ui.wPort->show();
|
ui.wType->hide();
|
m_pNetListen->hide();
|
break;
|
case 2: //´®¿ÚÖ±½ÓÊäÈë(Ö÷¶¯)
|
ui.widget->show();
|
ui.wPort->hide();
|
ui.wType->show();
|
m_pNetListen->hide();
|
break;
|
case 3: //´®¿ÚATMÃüÁîÊäÈë(±»¶¯)
|
ui.widget->hide();
|
m_pNetListen->hide();
|
break;
|
default: //ÍøÂç¼àÌý
|
break;
|
}
|
}
|
|
/*******************************************************************
|
Function: CATMParams::getATMInfo
|
Parameter: (IN) ÎÞ²ÎÊý
|
Return: HPR_OK--³É¹¦£¬HPR_ERROR--ʧ°Ü¡£
|
Description: »ñÈ¡ATM²ÎÊý£¬²¢Ë¢Ð½çÃæ
|
**********************************************************************/
|
int CATMParams::getATMInfo()
|
{
|
if(m_lUserID < 0 )
|
{
|
return HPR_ERROR;
|
}
|
isATMDevice();
|
|
int iRet;
|
NET_DVR_FRAMEFORMAT struATMParams;
|
iRet = NET_DVR_ClientGetframeformat(m_lUserID, &struATMParams );
|
if(0 == iRet)
|
{
|
iRet = NET_DVR_GetLastError();
|
QMessageBox::information(this, "Please check!", tr("The error is \"%1\"").arg(iRet));
|
return HPR_ERROR;
|
}
|
|
ui.comboInputType->setCurrentIndex((int)struATMParams.dwInputMode);
|
//ÉèÖýçÃæµÄÖµ
|
switch(struATMParams.dwInputMode)
|
{
|
case 0: //ÍøÂ·ÕìÌý
|
//ATMµØÖ·
|
m_pNetListen->getATMInfo(&struATMParams);
|
break;
|
case 1: //ÍøÂçÐÒé
|
//»ñÈ¡¶Ë¿ÚºÅ
|
unsigned short sPort;
|
if(NET_DVR_GetATMPortCFG(m_lUserID, &sPort))
|
{
|
KIT_intToEdit(ui.editPort, (int)sPort);
|
}
|
break;
|
case 2: //´®¿Ú¼àÌý
|
//ATMÀàÐÍ
|
ui.comboATMType->setCurrentIndex((int)struATMParams.dwATMType);
|
break;
|
case 3: //
|
break;
|
default:
|
break;
|
}
|
|
return HPR_OK;
|
}
|
|
/*******************************************************************
|
Function: CATMParams::setATMInfo
|
Parameter: (IN) ÎÞ²ÎÊý
|
Return: HPR_OK--³É¹¦£¬HPR_ERROR--ʧ°Ü¡£
|
Description: ÉèÖýçÃæ²ÎÊý£¬µ«ÊDz»»áˢнçÃæ
|
**********************************************************************/
|
int CATMParams::setATMInfo()
|
{
|
if(m_lUserID < 0 )
|
{
|
return HPR_ERROR;
|
}
|
|
int iRet;
|
NET_DVR_FRAMEFORMAT struATMParams;
|
iRet = NET_DVR_ClientGetframeformat(m_lUserID, &struATMParams );
|
if(0 == iRet)
|
{
|
iRet = NET_DVR_GetLastError();
|
QMessageBox::information(this, "Please check!", tr("The error is \"%1\"").arg(iRet));
|
return HPR_ERROR;
|
}
|
|
int iInputType;
|
iInputType = ui.comboInputType->currentIndex();
|
struATMParams.dwInputMode = (unsigned int)iInputType;
|
//»ñÈ¡½çÃæµÄÖµ
|
switch(iInputType)
|
{
|
case 0: //ÍøÂ·ÕìÌý
|
//ATMµØÖ·
|
m_pNetListen->setATMInfo(&struATMParams);
|
break;
|
case 1: //ÍøÂçÐÒé
|
//»ñÈ¡¶Ë¿ÚºÅ
|
int iPort;
|
KIT_editToInt(ui.editPort, &iPort);
|
if(!NET_DVR_SetATMPortCFG(m_lUserID, (unsigned short)iPort))
|
{
|
return HPR_ERROR;
|
}
|
break;
|
case 2: //´®¿Ú¼àÌý
|
//ATMÀàÐÍ
|
struATMParams.dwATMType = (unsigned int)ui.comboATMType->currentIndex();
|
break;
|
case 3: //
|
break;
|
default:
|
break;
|
}
|
|
//ÉèÖõ½É豸ÖÐÈ¥
|
iRet = NET_DVR_ClientSetframeformat(m_lUserID, &struATMParams );
|
if(!iRet)
|
{
|
iRet = NET_DVR_GetLastError();
|
QMessageBox::information(this, "Please check!", tr("The error is \"%1\"").arg(iRet));
|
return HPR_ERROR;
|
}
|
|
//ÖØÆôºó·½¿ÉÉúЧ
|
QMessageBox::information(this, "Information", "Please restart device to enable the setting!");
|
return HPR_OK;
|
}
|
|
int CATMParams::isATMDevice()
|
{
|
if(m_lUserID < 0 )
|
{
|
return HPR_ERROR;
|
}
|
|
int iRet;
|
DWORD paramsLen;
|
NET_DVR_DEVICECFG deviceParams ;
|
memset(&deviceParams, 0, sizeof(NET_DVR_DEVICECFG));
|
iRet = NET_DVR_GetDVRConfig(m_lUserID, NET_DVR_GET_DEVICECFG, -1, &deviceParams, sizeof(NET_DVR_DEVICECFG), ¶msLen);
|
if(!iRet)
|
{
|
KIT_DisplayErrorInfo("Get device information", KIT_ERRPR_DIS_TYPE);
|
return HPR_ERROR;
|
}
|
|
int iDeviceType;
|
iDeviceType = deviceParams.byDVRType;
|
if(iDeviceType != ATMDVR && iDeviceType != ATMDVR_S)
|
{
|
setEnabled(FALSE);
|
return FALSE;
|
}
|
else
|
{
|
setEnabled(TRUE);
|
return TRUE;
|
}
|
}
|
|
/*******************************************************************
|
Function: CATMParams::showEvent
|
Parameter: (IN) QShowEvent * event ´°¿ÚÏÔʾʼþ
|
Return: HPR_OK--³É¹¦£¬HPR_ERROR--ʧ°Ü¡£
|
Description: µ±´°¿ÚÏÔʾʱ£¬×Ô¶¯´ÓÉ豸»ñÈ¡Êý¾Ý£¬Ë¢Ð½çÃæ
|
**********************************************************************/
|
void CATMParams::showEvent ( QShowEvent * event )
|
{
|
if(NULL == event)
|
{
|
}
|
|
|
comboInputTypeChanged(0); //ˢϽçÃæ
|
getATMInfo(); //¸üд°¿ÚÊý¾Ý
|
}
|
|
|
|