/* * 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 /******************************************************************* 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(); //¸üд°¿ÚÊý¾Ý }