void CConfigAlarm::GetConfig() { if (!m_pDev || m_bInited) { return; } DWORD retlen = 0; BOOL bRet = CLIENT_GetDevConfig(m_pDev->LoginID, RV_DEV_ALARMCFG, 0, &m_almCFG, sizeof(DHDEV_ALARM_SCHEDULE), &retlen, CONFIG_WAITTIME); if (!bRet || retlen != sizeof(DHDEV_ALARM_SCHEDULE)) { ((CNetSDKDemoDlg*)AfxGetMainWnd())->LastError(); return; } else { m_bInited = TRUE; } m_alarmInDlg.SetAlarmInCFG(m_almCFG.struLocalAlmIn); m_blindDlg.SetBlindCFG(m_almCFG.struBlind); // m_diskDlg.SetAlarmInCFG(m_almCFG.struAlarmIn); m_motionDlg.SetMotionCFG(m_almCFG.struMotion); m_vlostDlg.SetVlostCFG(m_almCFG.struVideoLost); m_alarmBoard.SetCurSel(0); m_alarmInDlg.ShowWindow(SW_SHOW); m_blindDlg.ShowWindow(SW_HIDE); m_diskDlg.ShowWindow(SW_HIDE); m_motionDlg.ShowWindow(SW_HIDE); m_vlostDlg.ShowWindow(SW_HIDE); }
void CConfigRecord::GetConfig() { if (!m_pDev || m_bInited) { return; } BOOL bRet = FALSE; DWORD retlen = 0; bRet = CLIENT_GetDevConfig(m_pDev->LoginID, DH_DEV_RECORDCFG, -1/*all channel*/, &m_recCFG, 16*sizeof(DHDEV_RECORD_CFG), &retlen, CONFIG_WAITTIME); if (!bRet || retlen != m_pDev->Info.byChanNum*sizeof(DHDEV_RECORD_CFG)) { ((CNetSDKDemoDlg*)AfxGetMainWnd())->LastError(); return; } else { m_bInited = TRUE; } //show config information if (m_channelsel.GetCount() > 0) { m_channelsel.SetCurSel(0); OnSelchangeComboChanno(); } }
void CSerialConfig::OnRestore232() { CString sTemp; char cTemp[100]; bGet232Serial = FALSE; if(!CLIENT_GetDevConfig(m_Device->LoginID, DEV_GET_RS232CFG, 0, &rs232cfg, sizeof(NET_DEV_RS232CFG), &dwReturned, CONFIG_WAITTIME)) { AfxMessageBox(ConvertString("232error")); } else { m_baud232sel.SetCurSel(rs232cfg.dwBaudRate); m_databit232sel.SetCurSel(rs232cfg.byDataBit); m_stopbit232sel.SetCurSel(rs232cfg.byStopBit); m_checkbit232sel.SetCurSel(rs232cfg.byParity); m_flow232sel.SetCurSel(rs232cfg.byFlowcontrol); m_operatemodesel.SetCurSel(rs232cfg.dwWorkMode); if(rs232cfg.dwWorkMode == 0) { m_PPPmodesel.SetCurSel(rs232cfg.struPPPConfig.byPPPMode); m_dbmodesel.SetCurSel(rs232cfg.struPPPConfig.byRedialMode); m_bDialBack = rs232cfg.struPPPConfig.byRedial; m_bEncrypt = rs232cfg.struPPPConfig.byDataEncrypt; ZeroMemory(cTemp, 100); memcpy(cTemp, rs232cfg.struPPPConfig.sUsername, NAME_LEN); m_username.Format("%s", cTemp); ZeroMemory(cTemp, 100); memcpy(cTemp, rs232cfg.struPPPConfig.sPassword, PASSWD_LEN); m_userpsw.Format("%s", cTemp); ZeroMemory(cTemp, 100); memcpy(cTemp, rs232cfg.struPPPConfig.sPassword, PASSWD_LEN); m_verifypsw.Format("%s", cTemp); m_remoteIP = rs232cfg.struPPPConfig.sRemoteIP; m_localIP = rs232cfg.struPPPConfig.sLocalIP; m_IPmask = rs232cfg.struPPPConfig.sLocalIPMask; ZeroMemory(cTemp, 100); memcpy(cTemp, rs232cfg.struPPPConfig.sTelephoneNumber, PHONENUMBER_LEN); m_phoneNo.Format("%s", cTemp); } else if(rs232cfg.dwWorkMode == 1) { SwitchMode(FALSE); } else if(rs232cfg.dwWorkMode == 2) { SwitchMode(FALSE); } bGet232Serial = TRUE; GetDlgItem(IDC_APPLY232)->EnableWindow(TRUE); } UpdateData(FALSE); }
void CSerialConfig::OnRestore485() { CString sTemp; // char cTemp[100]; m_nChanSel = 0; m_nCopyChanNum = -1; m_copychlsel.ResetContent(); m_chlnosel.ResetContent(); sTemp.Format(_T(ConvertString(NAME_SERIALCFG_ALLCHANNEL))); m_copychlsel.AddString(sTemp); for(int i=0; i < m_Device->Info.byChanNum; i++) { bGet485Serial[i] = FALSE; bSetSerial485[i] = FALSE; sTemp.Format("%d", (i+1)); sTemp = ConvertString(NAME_SERIALCFG_CHANNEL) + sTemp; m_chlnosel.AddString(sTemp); m_copychlsel.AddString(sTemp); m_nChanNum = i; if(!CLIENT_GetDevConfig(m_Device->LoginID, DEV_GET_DECODERCFG, m_nChanNum,&decodercfg[i], sizeof(NET_DEV_DECODERCFG), &dwReturned, CONFIG_WAITTIME)) { AfxMessageBox(ConvertString("485 error")); } else { bGet485Serial[i] = TRUE; } } if(bGet485Serial[m_nChanSel]) { m_nChanNum = m_nChanSel; m_baud485sel.SetCurSel(decodercfg[m_nChanSel].dwBaudRate); m_databit485sel.SetCurSel(decodercfg[m_nChanSel].byDataBit); m_stopbit485sel.SetCurSel(decodercfg[m_nChanSel].byStopBit); m_checkbit485sel.SetCurSel(decodercfg[m_nChanSel].byParity); m_flow485sel.SetCurSel(decodercfg[m_nChanSel].byFlowcontrol); m_decodetypesel.SetCurSel(decodercfg[m_nChanSel].wDecoderType); m_decodeAddress = (BYTE)decodercfg[m_nChanSel].wDecoderAddress; GetDlgItem(IDC_APPLY232)->EnableWindow(TRUE); GetDlgItem(IDC_COPYOK)->EnableWindow(TRUE); GetDlgItem(IDC_APPLY485)->EnableWindow(TRUE); } m_chlnosel.SetCurSel(m_nChanSel); m_copychlsel.SetCurSel(m_nChanSel); UpdateData(FALSE); }
void CTourCfg::OnQuery() { int nRet = 0; DWORD dwRetLen = 0; nRet = CLIENT_GetDevConfig(m_hCurLoginID, DH_DEV_DECODER_TOUR_CFG, m_nDecChannel, &m_stuTourCfgInfo, sizeof(DHDEV_DECODER_TOUR_CFG), &dwRetLen, 2000); if (nRet && dwRetLen == sizeof(DHDEV_DECODER_TOUR_CFG)) { ShowChannelInfo(); } else { MessageBox(ConvertString("Failed to query!"), ConvertString("Prompt")); } }
void CPannelDecoder::OnBntTourCfg() { CNVDSDKDemoDlg *pParentDlg = (CNVDSDKDemoDlg*)this->GetParent(); HTREEITEM selectNode = pParentDlg->m_decoderTree.GetSelectedItem(); if (selectNode != NULL) { HTREEITEM parentNode = selectNode; DWORD nData = pParentDlg->m_decoderTree.GetItemData(selectNode); if (nData <= 16 && nData >= 0) { parentNode = pParentDlg->m_decoderTree.GetParentItem(selectNode); } DECODER_INFO *pSelectDecoder = (DECODER_INFO *)pParentDlg->m_decoderTree.GetItemData(parentNode); if (pSelectDecoder != NULL) { int nRet = 0; DWORD dwRetLen = 0; DEV_ENCODER_CFG stuDecInfo = {0}; int nTourNum = 0; nRet = CLIENT_GetDevConfig(pSelectDecoder->lLoginID, DH_DEV_ENCODER_CFG, -1, &stuDecInfo, sizeof(DEV_ENCODER_CFG), &dwRetLen, 2000); if (nRet && dwRetLen == sizeof(DEV_ENCODER_CFG)) { nTourNum = stuDecInfo.bDecodeTour; } CTourCfg dlg; dlg.SetDlgParam(pSelectDecoder->lLoginID, nTourNum, pParentDlg->m_screenPannel.m_nCurMonitorID*4+pParentDlg->m_screenPannel.m_nCurWndID); int nResponse = dlg.DoModal(); if (IDOK == nResponse) { } } } else { MessageBox(ConvertString("Select NVD first!"), ConvertString("Prompt")); } }
BOOL CVideoOutDlg::OnInitDialog() { CDialog::OnInitDialog(); g_SetWndStaticText(this); // TODO: Add extra initialization here while(m_ctlResolution.GetCount() > 0) { m_ctlResolution.DeleteString(0); } BOOL bRet = FALSE; DWORD retlen = 0; memset(&m_stVideoOut, 0, sizeof(DEV_VIDEOOUT_INFO)); if (m_hCurLoginID != 0) { bRet = CLIENT_GetDevConfig(m_hCurLoginID, DH_DEV_VIDEOOUT_CFG, 0, &m_stVideoOut, sizeof(DEV_VIDEOOUT_INFO), &retlen, 1000); if (!bRet || retlen != sizeof(DEV_VIDEOOUT_INFO)) { MessageBox(ConvertString("Fail to get configuration"), ConvertString("Prompt")); return 0; } char *rsName[20] = {"D1", "HD1", "BCIF", "CIF", "QCIF", "VGA", "QVGA", "SVCD","QQVGA", "SVGA", "XVGA", "WXGA", "SXGA", "WSXGA", "UXGA", "WUXGA", "LTF", "720P", "1080P", "1.3M"}; int rsIdx = 0; for (int i = 0; i < 20; i++) { if (m_stVideoOut.dwImageSizeMask & (0x01<<i)) { m_ctlResolution.InsertString(rsIdx, ConvertString(rsName[i])); rsIdx++; } } BYTE byrsIdx = 0; GetMaskedIndex(&byrsIdx, m_stVideoOut.nImageSize, m_stVideoOut.dwImageSizeMask); m_ctlResolution.SetCurSel(byrsIdx); } return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
BOOL CAutoMaintenance::OnInitDialog() { CDialog::OnInitDialog(); if (m_dev != NULL) { DWORD ret = 0; BOOL b = CLIENT_GetDevConfig(m_dev->LoginID, DH_DEV_AUTOMTCFG, 0, &m_atC, sizeof(DHDEV_AUTOMT_CFG), &ret, CONFIG_WAITTIME); if (!b || ret != sizeof(DHDEV_AUTOMT_CFG)) { MessageBox(ConvertString("get auto maintenance info failed!")); } else { m_autoday.SetCurSel(m_atC.byAutoRebootDay); m_autotime.SetCurSel(m_atC.byAutoRebootTime); m_autodel.SetCurSel(m_atC.byAutoDeleteFilesTime); } } return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
/*---------------------------------- 函数功能:获取码流分辨率 调用参数: 返回参数: 函数说明:连接NVR后,获取单个摄像头码流分辨率 -----------------------------------*/ _EXT_C_DEVCAM_API BOOL CAM_GetSize(CommonParam *commonParam,long channel){ if (commonParam == NULL){ return FALSE; } if(commonParam->deviceType == NET_IPC_SERIAL){ return TRUE; } if(commonParam->cameraParam[channel].playHwnd == NULL){ commonParam->cameraParam[channel].playHwnd = CreateWindow("EDIT",NULL,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,NULL,NULL); } NET_DEVICEINFO deviceInfo = {0}; int error; DHDEV_CHANNEL_CFG channelConfig = {0}; LDWORD bytesReturned; commonParam->cameraParam[channel].loginID = CLIENT_Login(commonParam->cameraParam[channel].deviceIP,commonParam->cameraParam[channel].devicePort,commonParam->cameraParam[channel].userName,commonParam->cameraParam[channel].passWord,&deviceInfo,&error); if(error != 0){ return FALSE; } CLIENT_GetDevConfig(commonParam->cameraParam[channel].loginID,DH_DEV_CHANNELCFG,0,&channelConfig,sizeof(channelConfig),&bytesReturned); GetSize(channelConfig.stMainVideoEncOpt->byImageSize,commonParam->cameraParam[channel].frameWidth,commonParam->cameraParam[channel].frameHeight); CLIENT_Logout(commonParam->cameraParam[channel].loginID); return TRUE; }
BOOL CSerialConfig::OnInitDialog() { CDialog::OnInitDialog(); g_SetWndStaticText(this); CRect rc(0, 0, 0, 0); GetParent()->GetClientRect(&rc); ((CTabCtrl*)GetParent())->AdjustRect(FALSE, &rc); MoveWindow(&rc); //初始化界面 m_checkbit232sel.InsertString(0, ConvertString(MSG_SERIALCFG_NONE)); m_checkbit232sel.InsertString(1, ConvertString(MSG_SERIALCFG_ODD)); m_checkbit232sel.InsertString(2, ConvertString(MSG_SERIALCFG_EVEN)); m_flow232sel.InsertString(0, MSG_SERIALCFG_NOCTRL); m_flow232sel.InsertString(1, MSG_SERIALCFG_SCTRL); m_flow232sel.InsertString(2, MSG_SERIALCFG_HCTRL); m_operatemodesel.InsertString(0, MSG_SERIALCFG_PPPOE); m_operatemodesel.InsertString(1, MSG_SERIALCFG_CONSOLE); m_operatemodesel.InsertString(2, MSG_SERIALCFG_TRANSPARENT); m_PPPmodesel.InsertString(0, MSG_SERIALCFG_ACTIVE); m_PPPmodesel.InsertString(1, MSG_SERIALCFG_PASSIVE); m_dbmodesel.InsertString(0, MSG_SERIALCFG_SPECIFIED); m_dbmodesel.InsertString(1, MSG_SERIALCFG_DEFAULT); m_checkbit485sel.InsertString(0, MSG_SERIALCFG_NONE); m_checkbit485sel.InsertString(1, MSG_SERIALCFG_ODD); m_checkbit485sel.InsertString(2, MSG_SERIALCFG_EVEN); m_flow485sel.InsertString(0, MSG_SERIALCFG_NOCTRL); m_flow485sel.InsertString(1, MSG_SERIALCFG_SCTRL); m_flow485sel.InsertString(2, MSG_SERIALCFG_HCTRL); CString sTemp; char cTemp[100]; m_nChanSel = 0; m_nCopyChanNum = -1; m_copychlsel.ResetContent(); m_chlnosel.ResetContent(); sTemp.Format(ConvertString(_T(NAME_SERIALCFG_ALLCHANNEL))); m_copychlsel.AddString(sTemp); bSetSerial232 = FALSE; bGet232Serial = FALSE; for(int i=0; i < m_Device->Info.byChanNum; i++) { bGet485Serial[i] = FALSE; bSetSerial485[i] = FALSE; sTemp.Format("%d", (i+1)); sTemp = ConvertString(NAME_SERIALCFG_CHANNEL) + sTemp; m_chlnosel.AddString(sTemp); m_copychlsel.AddString(sTemp); m_nChanNum = i; //if(m_bConnectServer) //{ if(!CLIENT_GetDevConfig(m_Device->LoginID, DEV_GET_DECODERCFG, m_nChanNum,&decodercfg[i], sizeof(NET_DEV_DECODERCFG), &dwReturned, CONFIG_WAITTIME)) { // sTemp.Format("获取通道%d 485串口参数失败!: DEV_GET_DECODERCFG = %d \n", m_nChanNum, NET_DVR_GetLastError()); AfxMessageBox(ConvertString("485 error")); } else { bGet485Serial[i] = TRUE; } // } } if(bGet485Serial[m_nChanSel]) { m_nChanNum = m_nChanSel; m_baud485sel.SetCurSel(GetBaudRateSel(decodercfg[m_nChanSel].dwBaudRate)); m_databit485sel.SetCurSel(GetDatabitSel(decodercfg[m_nChanSel].byDataBit)); m_stopbit485sel.SetCurSel(decodercfg[m_nChanSel].byStopBit); m_checkbit485sel.SetCurSel(decodercfg[m_nChanSel].byParity); m_flow485sel.SetCurSel(decodercfg[m_nChanSel].byFlowcontrol); m_decodetypesel.SetCurSel(decodercfg[m_nChanSel].wDecoderType); m_decodeAddress = (BYTE)decodercfg[m_nChanSel].wDecoderAddress; GetDlgItem(IDC_APPLY232)->EnableWindow(TRUE); GetDlgItem(IDC_COPYOK)->EnableWindow(TRUE); GetDlgItem(IDC_APPLY485)->EnableWindow(TRUE); } // if(m_bConnectServer) // { if(!CLIENT_GetDevConfig(m_Device->LoginID, DEV_GET_RS232CFG, 0, &rs232cfg, sizeof(NET_DEV_RS232CFG), &dwReturned, CONFIG_WAITTIME)) { //sTemp.Format("获取232串口参数失败!: NET_DVR_GET_RS232CFG = %d \n", NET_DVR_GetLastError()); AfxMessageBox(ConvertString("232error")); } else { m_baud232sel.SetCurSel(GetBaudRateSel(rs232cfg.dwBaudRate)); m_databit232sel.SetCurSel(GetDatabitSel(rs232cfg.byDataBit)); m_stopbit232sel.SetCurSel(rs232cfg.byStopBit); m_checkbit232sel.SetCurSel(rs232cfg.byParity); m_flow232sel.SetCurSel(rs232cfg.byFlowcontrol); m_operatemodesel.SetCurSel(rs232cfg.dwWorkMode); if(rs232cfg.dwWorkMode == 0) { m_PPPmodesel.SetCurSel(rs232cfg.struPPPConfig.byPPPMode); m_dbmodesel.SetCurSel(rs232cfg.struPPPConfig.byRedialMode); m_bDialBack = rs232cfg.struPPPConfig.byRedial; m_bEncrypt = rs232cfg.struPPPConfig.byDataEncrypt; ZeroMemory(cTemp, 100); memcpy(cTemp, rs232cfg.struPPPConfig.sUsername, NAME_LEN); m_username.Format("%s", cTemp); ZeroMemory(cTemp, 100); memcpy(cTemp, rs232cfg.struPPPConfig.sPassword, PASSWD_LEN); m_userpsw.Format("%s", cTemp); ZeroMemory(cTemp, 100); memcpy(cTemp, rs232cfg.struPPPConfig.sPassword, PASSWD_LEN); m_verifypsw.Format("%s", cTemp); m_remoteIP = rs232cfg.struPPPConfig.sRemoteIP; m_localIP = rs232cfg.struPPPConfig.sLocalIP; m_IPmask = rs232cfg.struPPPConfig.sLocalIPMask; ZeroMemory(cTemp, 100); memcpy(cTemp, rs232cfg.struPPPConfig.sTelephoneNumber, PHONENUMBER_LEN); m_phoneNo.Format("%s", cTemp); } else if(rs232cfg.dwWorkMode == 1) { SwitchMode(FALSE); } else if(rs232cfg.dwWorkMode == 2) { SwitchMode(FALSE); } bGet232Serial = TRUE; GetDlgItem(IDC_APPLY232)->EnableWindow(TRUE); } // } m_chlnosel.SetCurSel(m_nChanSel); m_copychlsel.SetCurSel(m_nChanSel); // pSerialCFG = this; UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
BOOL CUserConfig::OnInitDialog() { CDialog::OnInitDialog(); g_SetWndStaticText(this); CRect rc(0, 0, 0, 0); GetParent()->GetClientRect(&rc); ((CTabCtrl*)GetParent())->AdjustRect(FALSE, &rc); MoveWindow(&rc); CString csUserName; DWORD dwReturned; bSetUserParams = FALSE; char cTemp[100]; // if(m_bConnectServer) // { if(!CLIENT_GetDevConfig(m_Device->LoginID, DEV_GET_USERCFG , 0,&m_user, sizeof(NET_DEV_USER), &dwReturned, CONFIG_WAITTIME)) { // CString sTemp; // sTemp.Format("ERROR: NET_DVR_GET_USERCFG = %d \n", NET_DVR_GetLastError()); AfxMessageBox(ConvertString("usercfg error")); } else { if(m_bSuperUser) { m_usernum = 0; m_usersel.SetCurSel(m_usernum); } else { for(int i=0; i<MAX_USERNUM; i++) { ZeroMemory(cTemp, 100); memcpy(cTemp, m_user.struUser[i].sUserName, MAX_NAMELEN); csUserName.Format("%s", cTemp); if(strcmp(csUserName, m_Device->UserNanme) == 0) { break; } } m_usernum = i; m_usersel.SetCurSel(m_usernum); } ZeroMemory(cTemp, 100); memcpy(cTemp, m_user.struUser[m_usernum].sUserName, MAX_NAMELEN); m_username.Format("%s", cTemp); ZeroMemory(cTemp, 100); memcpy(cTemp, m_user.struUser[m_usernum].sPassword, PASSWD_LEN); m_userpsw.Format("%s", cTemp); ZeroMemory(cTemp, 100); memcpy(cTemp, m_user.struUser[m_usernum].sPassword, PASSWD_LEN); m_userpsw2.Format("%s", cTemp); m_userip.Format("%s",m_user.struUser[m_usernum].sUserIP); m_mac1.Format("%02x",m_user.struUser[m_usernum].byMACAddr[0]); m_mac2.Format("%02x",m_user.struUser[m_usernum].byMACAddr[1]); m_mac3.Format("%02x",m_user.struUser[m_usernum].byMACAddr[2]); m_mac4.Format("%02x",m_user.struUser[m_usernum].byMACAddr[3]); m_mac5.Format("%02x",m_user.struUser[m_usernum].byMACAddr[4]); m_mac6.Format("%02x",m_user.struUser[m_usernum].byMACAddr[5]); m_bLright_ptz = m_user.struUser[m_usernum].dwLocalRight[0]; m_bLright_rec = m_user.struUser[m_usernum].dwLocalRight[1]; m_bLright_playback = m_user.struUser[m_usernum].dwLocalRight[2]; m_bLright_cfg = m_user.struUser[m_usernum].dwLocalRight[3]; m_bLright_log = m_user.struUser[m_usernum].dwLocalRight[4]; m_bLright_more = m_user.struUser[m_usernum].dwLocalRight[5]; m_bRright_ptz = m_user.struUser[m_usernum].dwRemoteRight[0]; m_bRright_rec = m_user.struUser[m_usernum].dwRemoteRight[1]; m_bRright_playback = m_user.struUser[m_usernum].dwRemoteRight[2]; m_bRright_cfg = m_user.struUser[m_usernum].dwRemoteRight[3]; m_bRright_log = m_user.struUser[m_usernum].dwRemoteRight[4]; m_bRright_more = m_user.struUser[m_usernum].dwRemoteRight[5]; m_bRright_talk = m_user.struUser[m_usernum].dwRemoteRight[6]; m_bRright_monitor = m_user.struUser[m_usernum].dwRemoteRight[7]; m_bRright_alarm = m_user.struUser[m_usernum].dwRemoteRight[8]; m_bRright_localop = m_user.struUser[m_usernum].dwRemoteRight[9]; m_bRright_serial = m_user.struUser[m_usernum].dwRemoteRight[10]; GetDlgItem(IDC_USERSEL)->EnableWindow(FALSE); GetDlgItem(IDC_USERIP)->EnableWindow(FALSE); GetDlgItem(IDC_MAC1)->EnableWindow(FALSE); GetDlgItem(IDC_MAC2)->EnableWindow(FALSE); GetDlgItem(IDC_MAC3)->EnableWindow(FALSE); GetDlgItem(IDC_MAC4)->EnableWindow(FALSE); GetDlgItem(IDC_MAC5)->EnableWindow(FALSE); GetDlgItem(IDC_MAC6)->EnableWindow(FALSE); GetDlgItem(IDC_USERNAME)->EnableWindow(FALSE); GetDlgItem(IDC_USERPSW)->EnableWindow(FALSE); GetDlgItem(IDC_USERPSW2)->EnableWindow(FALSE); GetDlgItem(IDC_LRIGHT_PTZ)->EnableWindow(FALSE); GetDlgItem(IDC_LRIGHT_REC)->EnableWindow(FALSE); GetDlgItem(IDC_LRIGHT_PLAYBACK)->EnableWindow(FALSE); GetDlgItem(IDC_LRIGHT_CFG)->EnableWindow(FALSE); GetDlgItem(IDC_LRIGHT_LOG)->EnableWindow(FALSE); GetDlgItem(IDC_LRIGHT_MORE)->EnableWindow(FALSE); GetDlgItem(IDC_RRIGHT_PTZ)->EnableWindow(FALSE); GetDlgItem(IDC_RRIGHT_REC)->EnableWindow(FALSE); GetDlgItem(IDC_RRIGHT_PLAYBACK)->EnableWindow(FALSE); GetDlgItem(IDC_RRIGHT_CFG)->EnableWindow(FALSE); GetDlgItem(IDC_RRIGHT_LOG)->EnableWindow(FALSE); GetDlgItem(IDC_RRIGHT_MORE)->EnableWindow(FALSE); GetDlgItem(IDC_RRIGHT_TALK)->EnableWindow(FALSE); GetDlgItem(IDC_RRIGHT_MONITOR)->EnableWindow(FALSE); GetDlgItem(IDC_RRIGHT_ALARM)->EnableWindow(FALSE); GetDlgItem(IDC_RRIGHT_LOCALOP)->EnableWindow(FALSE); GetDlgItem(IDC_RRIGHT_SERIAL)->EnableWindow(FALSE); if(m_bSuperUser) { GetDlgItem(IDC_USERSEL)->EnableWindow(FALSE); GetDlgItem(IDC_USERIP)->EnableWindow(FALSE); GetDlgItem(IDC_MAC1)->EnableWindow(FALSE); GetDlgItem(IDC_MAC2)->EnableWindow(FALSE); GetDlgItem(IDC_MAC3)->EnableWindow(FALSE); GetDlgItem(IDC_MAC4)->EnableWindow(FALSE); GetDlgItem(IDC_MAC5)->EnableWindow(FALSE); GetDlgItem(IDC_MAC6)->EnableWindow(FALSE); GetDlgItem(IDC_USERNAME)->EnableWindow(FALSE); GetDlgItem(IDC_USERPSW)->EnableWindow(FALSE); GetDlgItem(IDC_USERPSW2)->EnableWindow(FALSE); } GetDlgItem(IDC_USERCFG_APPLY)->EnableWindow(TRUE); } // } GetDlgItem(IDC_USERNAME)->EnableWindow(FALSE); UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void CConfigChannel::GetConfig() { if (!m_pDev || m_bInited) { return; } while(m_resolutionsel.GetCount() > 0) { m_resolutionsel.DeleteString(0); } while(m_encodetypesel.GetCount() > 0) { m_encodetypesel.DeleteString(0); } BOOL bRet = FALSE; DWORD retlen = 0; bRet = CLIENT_GetDevConfig(m_pDev->LoginID, DEV_DEVICECFG, 0, &m_sysCFG, sizeof(DEV_SYSTEM_ATTR_CFG), &retlen, CONFIG_WAITTIME); if (!bRet || retlen != sizeof(DEV_SYSTEM_ATTR_CFG)) { ((CNetSDKDemoDlg*)AfxGetMainWnd())->LastError(); return; } bRet = CLIENT_GetDevConfig(m_pDev->LoginID, DEV_CHANNELCFG, -1/*all channel*/, &m_chnCFG, 16*sizeof(DEV_CHANNEL_CFG), &retlen, CONFIG_WAITTIME); if (!bRet || retlen != m_pDev->Info.byChanNum*sizeof(DEV_CHANNEL_CFG)) { ((CNetSDKDemoDlg*)AfxGetMainWnd())->LastError(); return; } else { m_bInited = TRUE; } //compute resolution and encode type name list char *rsName[8] = {"D1", "HD1", "BCIF", "CIF", "QCIF", "VGA", "QVGA", "SVCD"}; char *ecName[8] = {"DIVX_MPEG4", "MS_MPEG4", "MPEG2", "MPEG1", "H263", "MJPG", "FCC_MPEG4", "H264"}; BYTE rsIdx = 0; for (int mi = 0; mi < 8; mi++) { if (m_sysCFG.stDspEncodeCap.dwImageSizeMask & (0x01<<mi)) { m_resolutionsel.InsertString(rsIdx, rsName[mi]); rsIdx++; } } BYTE ecIdx = 0; for (int ei = 0; ei < 8; ei++) { if (m_sysCFG.stDspEncodeCap.dwEncodeModeMask & (0x01<<ei)) { m_encodetypesel.InsertString(ecIdx, ecName[ei]); ecIdx++; } } //show config information if (m_channelsel.GetCount() > 0) { m_channelsel.SetCurSel(0); OnSelchangeComboChanno(); } }
void CConfigNetwork::GetConfig() { if (!m_pDev || m_bInited) { return; } while (m_ethernetsel.GetCount() > 0) { m_ethernetsel.DeleteString(0); } BOOL bRet = FALSE; DWORD retlen = 0; bRet = CLIENT_GetDevConfig(m_pDev->LoginID, DH_DEV_DEVICECFG, 0, &m_sysCFG, sizeof(DHDEV_SYSTEM_ATTR_CFG), &retlen, CONFIG_WAITTIME*4); if (!bRet || retlen != sizeof(DHDEV_SYSTEM_ATTR_CFG)) { ((CNetSDKDemoDlg*)AfxGetMainWnd())->LastError(); return; } CString strEth; for (int i = 0; i < m_sysCFG.byNetIONum; i++) { strEth.Format(ConvertString("Ethernet %d"), i+1); m_ethernetsel.InsertString(i, strEth); } bRet = CLIENT_GetDevConfig(m_pDev->LoginID, DH_DEV_NETCFG, 0, &m_netCFG, sizeof(DHDEV_NET_CFG), &retlen, CONFIG_WAITTIME*4); if (!bRet || retlen != sizeof(DHDEV_NET_CFG)) { ((CNetSDKDemoDlg*)AfxGetMainWnd())->LastError(); return; } else { m_bInited = TRUE; } //show config information SetDlgItemText(IDC_EDIT_DEVNAME, m_netCFG.sDevName); SetDlgItemInt(IDC_EDIT_MAXTCP, m_netCFG.wTcpMaxConnectNum); SetDlgItemInt(IDC_EDIT_TCPPORT, m_netCFG.wTcpPort); SetDlgItemInt(IDC_EDIT_UDPPORT, m_netCFG.wUdpPort); SetDlgItemInt(IDC_EDIT_HTTPPORT, m_netCFG.wHttpPort); SetDlgItemInt(IDC_EDIT_HTTPSPORT, m_netCFG.wHttpsPort); SetDlgItemInt(IDC_EDIT_SSLPORT, m_netCFG.wSslPort); SetDlgItemInt(IDC_EDIT_MAXTCP, m_netCFG.wTcpMaxConnectNum); SetDlgItemInt(IDC_EDIT_MAXTCP, m_netCFG.wTcpMaxConnectNum); //ethernet config if (m_ethernetsel.GetCount() > 0) { m_ethernetsel.SetCurSel(0); OnSelchangeComboEthernet(); } //remote config if (m_remotehostsel.GetCount() > 0) { m_remotehostsel.SetCurSel(0); OnSelchangeComboRemotehost(); } //mail config SetDlgItemText(IDC_EDIT_MAILUSERNAME, m_netCFG.struMail.sUserName); SetDlgItemText(IDC_EDIT_MAILUSERPSW, m_netCFG.struMail.sUserPsw); SetDlgItemText(IDC_EDIT_MAILIP, m_netCFG.struMail.sMailIPAddr); SetDlgItemInt(IDC_EDIT_MAILPORT, m_netCFG.struMail.wMailPort); SetDlgItemText(IDC_EDIT_MAILDESADDR, m_netCFG.struMail.sDestAddr); SetDlgItemText(IDC_EDIT_MAILCCADDR, m_netCFG.struMail.sCcAddr); SetDlgItemText(IDC_EDIT_MAILBCCADDR, m_netCFG.struMail.sBccAddr); SetDlgItemText(IDC_EDIT_MAILSUBJECT, m_netCFG.struMail.sSubject); //Begin: Add by li_deming(11517) 2008-1-30 //DDNS config bRet = FALSE; bRet = CLIENT_GetDevConfig(m_pDev->LoginID, DH_DEV_MULTI_DDNS, 0, &m_ddnsCFG, sizeof(DHDEV_MULTI_DDNS_CFG), &retlen, CONFIG_WAITTIME*4); selIndexOld=-1; if(bRet == TRUE) { CString strItem=""; m_ctlDDNSIDList.Clear(); for(int i=0; i<m_ddnsCFG.dwDdnsServerNum;i++) { strItem=""; strItem.Format(ConvertString("DDNS %d"),i); m_ctlDDNSIDList.InsertString( i, strItem); } UpdateData(FALSE); m_ctlDDNSIDList.SetCurSel(0); OnSelchangeComboDdnsid(); } else { AfxMessageBox(ConvertString("Get Dev Multi DDNS Info Fail!")); } //End:li_deming(11517) }
/*---------------------------------- 函数功能: 调用参数:BASE_PARAM的指针: 调用成功,返回TRUE;调用失败,返回FALSE。其它需要返回的参数,置于结构:BASE_PARAM中。 函数说明: -----------------------------------*/ _EXT_C_DEVCAM_API BOOL CAM_Init(CommonParam *commonParam){ if (commonParam == NULL){ commonParam->devError = InitError; return FALSE; } CLIENT_SetAutoReconnect(AutoConnectFunc,0); NET_DEVICEINFO deviceInfo = {0}; int error; DHDEV_CHANNEL_CFG channelConfig = {0}; DHDEV_SYSTEM_ATTR_CFG systemAttr = {0}; LDWORD bytesReturned; commonParam->loginID=CLIENT_Login(commonParam->deviceIP,commonParam->devicePort,commonParam->userName,commonParam->passWord,&deviceInfo,&error); if(error != 0){ commonParam->devError = InitError; return FALSE; } if(!CLIENT_GetDevConfig(commonParam->loginID, DH_DEV_DEVICECFG,-1,&systemAttr,sizeof(systemAttr),&bytesReturned)){ commonParam->devError = InitError; return FALSE; } if(systemAttr.byDevType == NET_NVR_SERIAL){ commonParam->deviceType = NET_NVR_SERIAL; DEV_ENCODER_CFG_EX encoderConfigEx = {0}; if(!CLIENT_GetDevConfig(commonParam->loginID, DH_DEV_ENCODER_CFG, -1, &encoderConfigEx,sizeof(encoderConfigEx),&bytesReturned)){ commonParam->devError = InitError; return FALSE; } commonParam->totalChannels = encoderConfigEx.nChannels; commonParam->onlineCameras = new int[encoderConfigEx.nChannels]; commonParam->cameraParam = new struct tagCommonParam[encoderConfigEx.nChannels]; for(int i=0;i<encoderConfigEx.nChannels;i++){ commonParam->onlineCameras[i] = encoderConfigEx.stuDevInfo[i].bDevChnEnable; if(encoderConfigEx.stuDevInfo[i].byManuFactory == 22){ commonParam->onlineCameras[i] = 0; } } for(int i = 0;i < encoderConfigEx.nChannels;i++){ commonParam->cameraParam[i].deviceType = NET_IPC_SERIAL; strcpy(commonParam->cameraParam[i].deviceIP,encoderConfigEx.stuDevInfo[i].szDevIp); strcpy(commonParam->cameraParam[i].userName,encoderConfigEx.stuDevInfo[i].szDevUser); strcpy(commonParam->cameraParam[i].passWord,encoderConfigEx.stuDevInfo[i].szDevPwd); commonParam->cameraParam[i].devicePort = encoderConfigEx.stuDevInfo[i].wDevPort; commonParam->cameraParam[i].channelNo = encoderConfigEx.stuDevInfo[i].byDecoderID; } }else if(systemAttr.byDevType == NET_IPC_SERIAL){ if(commonParam->playHwnd == NULL){ commonParam->playHwnd = CreateWindow("EDIT",NULL,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,NULL,NULL); } char *channelName = new char[16*32]; int channelCount ; if(!CLIENT_QueryChannelName(commonParam->loginID,channelName,16*32,&channelCount)){ commonParam->devError = InitError; return FALSE; } strcpy(commonParam->deviceName,channelName); delete []channelName; channelName = NULL; commonParam->deviceType = NET_IPC_SERIAL; CLIENT_GetDevConfig(commonParam->loginID,DH_DEV_CHANNELCFG,0,&channelConfig,sizeof(channelConfig),&bytesReturned); GetSize(channelConfig.stMainVideoEncOpt->byImageSize,commonParam->frameWidth,commonParam->frameHeight); }else{ commonParam->devError = InitError; return FALSE; } return TRUE; }
void CClientDlg::OnBtnLogin() { // TODO: Add your control notification handler code here UpdateData(TRUE); CString strIp = ""; CString strUser = ""; CString strPwd = ""; int nPort = 0; int nError = 0; NET_DEVICEINFO deviceInfo = {0}; GetDlgItemText(IDC_IPADDRESS_IP, strIp); GetDlgItemText(IDC_EDIT_USER, strUser); GetDlgItemText(IDC_EDIT_PWD, strPwd); nPort = GetDlgItemInt(IDC_EDIT_PORT); LONG lLoginHandle = CLIENT_Login((LPSTR)(LPCSTR)strIp, nPort, (LPSTR)(LPCSTR)strUser, (LPSTR)(LPCSTR)strPwd, &deviceInfo, &nError); if (lLoginHandle != 0) { m_lLoginHandle = lLoginHandle; GetDlgItem(IDC_BTN_LOGIN)->EnableWindow(FALSE); GetDlgItem(IDC_BTN_LOGOUT)->EnableWindow(TRUE); GetDlgItem(IDC_BTN_STARTTALK)->EnableWindow(TRUE); m_ctlEncodeType.ResetContent(); //Search the audio talk encode formats then device supported int retlen = 0; BOOL bSuccess = CLIENT_QueryDevState(m_lLoginHandle, DH_DEVSTATE_TALK_ECTYPE, (char*)&m_lstTalkEncode, sizeof(DHDEV_TALKFORMAT_LIST), &retlen, DEMO_SDK_WAITTIME); if (bSuccess && retlen == sizeof(DHDEV_TALKFORMAT_LIST)) { int nIndex = 0; CString str; for (int i = 0; i < m_lstTalkEncode.nSupportNum; i++) { switch(m_lstTalkEncode.type[i].encodeType) { case DH_TALK_DEFAULT: case DH_TALK_PCM: str = ConvertString("PCM"); break; case DH_TALK_G711a: str = ConvertString("G711a"); break; case DH_TALK_AMR: str = ConvertString("AMR"); break; case DH_TALK_G711u: str = ConvertString("G711u"); break; case DH_TALK_G726: str = ConvertString("G726"); break; case DH_TALK_AAC: str = ConvertString("AAC"); break; case DH_TALK_MP3: str = ConvertString("MP3"); break; default: str = ConvertString("Unknow"); break; } if (0 != str.Compare("Unknow")) { CString s; s.Format("_%d%s_%d%s", m_lstTalkEncode.type[i].nAudioBit, ConvertString("Bit"), m_lstTalkEncode.type[i].dwSampleRate, ConvertString("SampleRate")); str += s; } nIndex = m_ctlEncodeType.AddString(str); m_ctlEncodeType.SetItemData(nIndex, i); } if (m_ctlEncodeType.GetCount() > 0) { m_ctlEncodeType.SetCurSel(0); } } DWORD dwRetBytes = 0; DHDEV_SYSTEM_ATTR_CFG stuAttr = { sizeof(DHDEV_SYSTEM_ATTR_CFG) }; if (!CLIENT_GetDevConfig(lLoginHandle, DH_DEV_DEVICECFG, -1, &stuAttr, stuAttr.dwSize, &dwRetBytes, DEMO_SDK_WAITTIME)) { MessageBox(ConvertString("Get device info failed!"), ConvertString("Prompt")); } m_ctlSpeakerChl.EnableWindow(bSuccess); GetDlgItem(IDC_CHECK_SPEAK)->EnableWindow(bSuccess); for(int i=0; i<stuAttr.byTalkOutChanNum; i++) { char szTmp[MAX_PATH] = {0}; sprintf(szTmp,"speaker_%d", i); int nIndex = m_ctlSpeakerChl.AddString(szTmp); m_ctlSpeakerChl.SetItemData(nIndex, i); m_ctlSpeakerChl.SetCurSel(0); } } else { m_lLoginHandle = 0; ShowLoginErrorReason(nError); } }
static int dah_get_device_config(struct service *srv, int parm_id, void *parm) { int user_id, ret = FALSE, err = 0; JDevCap *dev_cap; dah_service_t *dah_srv; dah_config_t *dah_cfg; dah_new_config_t *dah_new_cfg; dah_query_t *query; NMP_ASSERT(srv && parm); dah_srv = (dah_service_t*)srv; user_id = dah_get_user_id(&dah_srv->parm); if (DAH_LOGOUT == user_id) { show_debug("Proxy device logout!!!!!!!!!!!!!!\n"); return -1; } switch (parm_id) { case GET_DEVICE_CONFIG: goto GET_CFG; case GET_SERIAL_CONFIG: goto GET_CFG; case GET_DEVICE_TIME: goto GET_CFG; case GET_NTP_CONFIG: goto GET_CFG; case GET_NETWORK_CONFIG: goto GET_CFG; case GET_PPPOE_CONFIG: goto GET_CFG; case GET_FTP_CONFIG: goto GET_CFG; case GET_SMTP_CONFIG: goto GET_CFG; case GET_DDNS_CONFIG: goto GET_CFG; case GET_UPNP_CONFIG: goto GET_CFG; case GET_DISK_LIST: goto GET_DEV_STATE; case GET_ENCODE_CONFIG: goto GET_CFG; case GET_DISPLAY_CONFIG: goto GET_CFG; case GET_OSD_CONFIG: goto GET_CFG; case GET_PTZ_CONFIG: goto GET_NEW_CFG; case GET_RECORD_CONFIG: goto GET_CFG; case GET_HIDE_CONFIG: goto GET_CFG; case GET_MOTION_CONFIG: goto GET_CFG; case GET_VIDEO_LOST_CONFIG: goto GET_CFG; case GET_HIDE_ALARM_CONFIG: goto GET_CFG; case GET_IO_ALARM_CONFIG: goto GET_CFG; case GET_STORE_LOG: query = (dah_query_t*)parm; printf("user_id : %d\n", user_id); printf("channel : %d\n", query->channel); printf("file_type: %d\n", query->file_type); if (CLIENT_QueryRecordFile((LLONG)user_id, query->channel, query->file_type, &query->start, &query->end, query->card_id, (NET_RECORDFILE_INFO*)query->buffer, query->buf_size, &query->filecount, query->waittime, FALSE)) { show_info("count: %d<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n", query->filecount); ret = TRUE; } else { ret = FALSE; show_debug("ERROR: 0x%x<-------------------------------\n", CLIENT_GetLastError()); } show_debug("CLIENT_QueryRecordFile: %s<-----------------\n", (ret == TRUE) ? "Success" : "Failure"); break; case GET_CRUISE_CONFIG: /*cruise = (dah_cruise_t*)parm; show_debug("crz_no: %d<--------------------\n", cruise->crz_no); ret = NET_DVR_GetPTZCruise(user_id, (LONG)cruise->channel, (LONG)cruise->crz_no, (NET_DVR_CRUISE_RET*)cruise->input); show_debug("NET_DVR_GetDVRConfig: %s<-------------------------------\n", (ret == TRUE) ? "Success" : "Failure"); if (FALSE == ret) show_debug("ERROR: 0x%x<-------------------------------\n", CLIENT_GetLastError());*/ break; case GET_CAPABILITY_SET: dev_cap = (JDevCap*)parm; dev_cap->cap0 = DEV_CAP_VIDEO_IN | DEV_CAP_AUDIO | DEV_CAP_IRIS | DEV_CAP_PTZ | DEV_CAP_ALARM_IN | DEV_CAP_ALARM_OUT | DEV_CAP_STORAGE | DEV_CAP_WEB | DEV_CAP_PLATFORM | DEV_CAP_INTELLIGENT_ANALYSIS | DEV_CAP_UPDATE | DEV_CAP_VIDEO_OUT;// | DEV_CAP_IR; dev_cap->ftp_enable = 1; dev_cap->upnp_enable = 0; dev_cap->chn_cap.size = sizeof(JChnCap); dev_cap->chn_cap.encode = VIDEO_ENCODE_H264_E | VIDEO_ENCODE_MJPEG_E | VIDEO_ENCODE_JPEG_E | VIDEO_ENCODE_MPEG4_E; dev_cap->chn_cap.supp_mask = 1; dev_cap->chn_cap.mask_count = 4; dev_cap->chn_cap.supp_hide_alarm = 1; dev_cap->chn_cap.hide_alarm_count = 1; dev_cap->chn_cap.supp_move_alarm = 1; dev_cap->chn_cap.move_alarm_count = 1; dev_cap->chn_cap.supp_video_lost_alarm = 1; dev_cap->chn_cap.osd_count = 1; dev_cap->chn_cap.stream_count = 2; dev_cap->chn_cap.stream_supp_resolution[0] = CAP_VIDEO_QCIF | CAP_VIDEO_CIF | CAP_VIDEO_HD1 | CAP_VIDEO_D1 | CAP_VIDEO_QQVGA | CAP_VIDEO_QVGA | CAP_VIDEO_VGA | CAP_VIDEO_SVGA | CAP_VIDEO_UXGA | CAP_VIDEO_720P | CAP_VIDEO_960 | CAP_VIDEO_1080P; dev_cap->chn_cap.stream_supp_resolution[1] = CAP_VIDEO_QCIF | CAP_VIDEO_CIF | CAP_VIDEO_HD1 | CAP_VIDEO_D1 | CAP_VIDEO_QQVGA | CAP_VIDEO_QVGA | CAP_VIDEO_VGA | CAP_VIDEO_SVGA | CAP_VIDEO_UXGA | CAP_VIDEO_720P | CAP_VIDEO_960 | CAP_VIDEO_1080P; dev_cap->chn_cap.stream_supp_resolution[2] = CAP_VIDEO_QCIF | CAP_VIDEO_CIF | CAP_VIDEO_HD1 | CAP_VIDEO_D1 | CAP_VIDEO_QQVGA | CAP_VIDEO_QVGA | CAP_VIDEO_VGA | CAP_VIDEO_SVGA | CAP_VIDEO_UXGA | CAP_VIDEO_720P | CAP_VIDEO_960 | CAP_VIDEO_1080P; dev_cap->chn_cap.stream_supp_resolution[3] = CAP_VIDEO_QCIF | CAP_VIDEO_CIF | CAP_VIDEO_HD1 | CAP_VIDEO_D1 | CAP_VIDEO_QQVGA | CAP_VIDEO_QVGA | CAP_VIDEO_VGA | CAP_VIDEO_SVGA | CAP_VIDEO_UXGA | CAP_VIDEO_720P | CAP_VIDEO_960 | CAP_VIDEO_1080P; dev_cap->chn_cap.stream_max_frate_rate[0] = 25; dev_cap->chn_cap.img_cap = IMA_BRIGHTNESS | IMA_CONTRAST | IMA_SATURATION | IMA_HUE | IMA_SHARPNESS; ret = TRUE; break; default: ret = FALSE; show_warn("parm_id Invalid!!!!!\n"); break; } if (TRUE == ret) return 0; else return -1; GET_CFG: dah_cfg = (dah_config_t*)parm; ret = CLIENT_GetDevConfig((LLONG)user_id, (DWORD ) dah_cfg->command, (LONG ) dah_cfg->channel, (LPVOID ) dah_cfg->buffer, (DWORD ) dah_cfg->b_size, (LPDWORD)&dah_cfg->returns, (int ) dah_cfg->waittime); show_debug("CLIENT_GetDevConfig: %s<-------------------------------\n", (ret == TRUE) ? "Success" : "Failure"); if (TRUE == ret) return 0; else { show_debug("ERROR: 0x%x<-------------------------------\n", CLIENT_GetLastError()); return -1; } GET_NEW_CFG: dah_new_cfg = (dah_new_config_t*)parm; ret = CLIENT_GetNewDevConfig((LLONG)user_id, dah_new_cfg->command, dah_new_cfg->channel, dah_new_cfg->out_json, DEF_OUT_JSON_SIZE, &err, dah_new_cfg->waittime); show_debug("CLIENT_GetNewDevConfig: %s<-------------------------------\n", (ret == TRUE) ? "Success" : "Failure"); if (TRUE == ret) { CLIENT_ParseData( dah_new_cfg->command, dah_new_cfg->out_json, dah_new_cfg->buffer, dah_new_cfg->b_size, NULL); return 0; } else { show_debug("ERROR: 0x%x, err: 0x%x<-------------------------------\n", CLIENT_GetLastError(), err); return -1; } GET_DEV_STATE: dah_cfg = (dah_config_t*)parm; ret = CLIENT_QueryDevState(user_id, (DWORD) dah_cfg->command, (char*) dah_cfg->buffer, (DWORD) dah_cfg->b_size, (int* )&dah_cfg->returns, (int ) dah_cfg->waittime); show_debug("CLIENT_QueryDevState: %s<-------------------------------\n", (ret == TRUE) ? "Success" : "Failure"); if (TRUE == ret) return 0; else { show_debug("ERROR: 0x%x, err: %d<-------------------------------\n", CLIENT_GetLastError(), err); return -1; } }