Exemplo n.º 1
0
void CSerialConfig::OnApply485() 
{
	if (!UpdateData(TRUE))
	{
		return;
	}
	m_nChanSel = m_chlnosel.GetCurSel();
	if(bGet485Serial[m_nChanSel])
	{
		decodercfg[m_nChanSel].dwSize = sizeof(NET_DEV_DECODERCFG);
		decodercfg[m_nChanSel].dwBaudRate = GetBaudRate(m_baud485sel.GetCurSel());
		decodercfg[m_nChanSel].byDataBit = GetDatabit(m_databit485sel.GetCurSel());
		decodercfg[m_nChanSel].byStopBit = m_stopbit485sel.GetCurSel();
		decodercfg[m_nChanSel].byParity = m_checkbit485sel.GetCurSel();
		decodercfg[m_nChanSel].byFlowcontrol = m_flow485sel.GetCurSel();
		decodercfg[m_nChanSel].wDecoderType = m_decodetypesel.GetCurSel();
		decodercfg[m_nChanSel].wDecoderAddress = m_decodeAddress;
		TRACE("m_nChanSel = %d m_decodeaddr = %d", m_nChanSel, m_decodeAddress);
		bSetSerial485[m_nChanSel] = TRUE;
	}
	for(int i=0; i < int(m_Device->Info.byChanNum); i++)
	{
		if (bSetSerial485[m_nChanSel])
		{
			int m_nChanNum = i;
			if(!CLIENT_SetDevConfig(m_Device->LoginID, DEV_SET_DECODERCFG, m_nChanNum,&decodercfg[i], sizeof(NET_DEV_DECODERCFG), CONFIG_WAITTIME))
			{		
				AfxMessageBox(ConvertString("rs485 config save failed!"));		
				return;
			}
		}	
	}
}
Exemplo n.º 2
0
void CVideoOutDlg::OnOK() 
{
	// TODO: Add extra validation here

	UpdateData(TRUE);

	int nResolutionIndex = m_ctlResolution.GetCurSel();
	if (nResolutionIndex < 0)
	{
		return;
	}

	if (m_hCurLoginID != 0)
	{
		BYTE rsOIdx = 0;
		GetOrigIndex(&rsOIdx, nResolutionIndex, m_stVideoOut.dwImageSizeMask);
		m_stVideoOut.nImageSize = rsOIdx;
		
		BOOL bRet = CLIENT_SetDevConfig(m_hCurLoginID, DH_DEV_VIDEOOUT_CFG, 0, &m_stVideoOut, sizeof(DEV_VIDEOOUT_INFO), 1000);
		if (!bRet ) 
		{
			MessageBox(ConvertString("Fail to set configuration"), ConvertString("Prompt"));		
		}
	}
	
	CDialog::OnOK();
}
Exemplo n.º 3
0
void CTourCfg::OnSave() 
{
    SaveChannelInfo();
	
	int nRet = CLIENT_SetDevConfig(m_hCurLoginID, DH_DEV_DECODER_TOUR_CFG, m_nDecChannel, &m_stuTourCfgInfo, sizeof(DHDEV_DECODER_TOUR_CFG), 2000);
	if (nRet) 
	{
		OnQuery();
	}
	else
	{
		MessageBox(ConvertString("Failed to set!"), ConvertString("Prompt"));		
	}	
}
Exemplo n.º 4
0
void CConfigRecord::OnApply() 
{
	if (!m_bInited || m_chnIdx < 0)
	{
		return;
	}
	
	int weekIdx = m_weeksel.GetCurSel();
	if (weekIdx < 0)
	{
		return;
	}
	
	m_recCFG[m_chnIdx].byPreRecordLen = GetDlgItemInt(IDC_EDIT_PRERECLEN);
	m_recCFG[m_chnIdx].byRedundancyEn = m_redundancychk.GetCheck();

	if (m_weekIdx >= 0)
	{
		int secIdx = 0;
		for (int i = 0; i < 6; i++)
		{
			m_recCFG[m_chnIdx].stSect[m_weekIdx][i].iBeginHour = GetDlgItemInt(IDC_TIME_18+secIdx);
			secIdx++;
			m_recCFG[m_chnIdx].stSect[m_weekIdx][i].iBeginMin = GetDlgItemInt(IDC_TIME_18+secIdx);
			secIdx++;
			m_recCFG[m_chnIdx].stSect[m_weekIdx][i].iBeginSec = GetDlgItemInt(IDC_TIME_18+secIdx);
			secIdx++;
			
			m_recCFG[m_chnIdx].stSect[m_weekIdx][i].iEndHour = GetDlgItemInt(IDC_TIME_18+secIdx);
			secIdx++;
			m_recCFG[m_chnIdx].stSect[m_weekIdx][i].iEndMin = GetDlgItemInt(IDC_TIME_18+secIdx);
			secIdx++;
			m_recCFG[m_chnIdx].stSect[m_weekIdx][i].iEndSec = GetDlgItemInt(IDC_TIME_18+secIdx);
			secIdx++;
		}
	}
	
	BOOL bRet = CLIENT_SetDevConfig(m_pDev->LoginID, DH_DEV_RECORDCFG, -1/*all channel*/,
								&m_recCFG, 16*sizeof(DHDEV_RECORD_CFG), CONFIG_WAITTIME);
	if (!bRet)
	{
		((CNetSDKDemoDlg*)AfxGetMainWnd())->LastError();
		return;
	}
	else
	{
		MessageBox(ConvertString(MSG_CONFIG_SUCCESS), "OK");
	}
}
Exemplo n.º 5
0
void CAutoMaintenance::OnOK() 
{
	if (m_dev != NULL)
	{
		m_atC.dwSize = sizeof(m_atC);
		m_atC.byAutoRebootDay = m_autoday.GetCurSel();
		m_atC.byAutoRebootTime = m_autotime.GetCurSel();
		m_atC.byAutoDeleteFilesTime = m_autodel.GetCurSel();
		BOOL b = CLIENT_SetDevConfig(m_dev->LoginID, DH_DEV_AUTOMTCFG, 0, &m_atC, sizeof(m_atC), CONFIG_WAITTIME);
		if (!b)
		{
			MessageBox(ConvertString("set auto maintenance info failed!"));
		}
	}
	CDialog::OnOK();
}
Exemplo n.º 6
0
void CSerialConfig::OnApply232() 
{
	if (!UpdateData(TRUE))
	{
		return;
	}
	
	if(bGet232Serial)
	{		
		rs232cfg.dwSize = sizeof(NET_DEV_RS232CFG);
		rs232cfg.dwBaudRate = GetBaudRate(m_baud232sel.GetCurSel());
		rs232cfg.byDataBit = GetDatabit(m_databit232sel.GetCurSel());
		rs232cfg.byStopBit = m_stopbit232sel.GetCurSel();
		rs232cfg.byParity = m_checkbit232sel.GetCurSel();
		rs232cfg.byFlowcontrol = m_flow232sel.GetCurSel();
		rs232cfg.dwWorkMode = m_operatemodesel.GetCurSel();

		if(0 == m_operatemodesel.GetCurSel())
		{
			if(m_verifypsw != m_userpsw)
			{
				AfxMessageBox(MSG_SERIALCFG_PSWCHECKERROR);
				return ;
			}
			rs232cfg.struPPPConfig.byPPPMode = m_PPPmodesel.GetCurSel();
			rs232cfg.struPPPConfig.byRedialMode = m_dbmodesel.GetCurSel();
			rs232cfg.struPPPConfig.byRedial = (BYTE)m_bDialBack;
			rs232cfg.struPPPConfig.byDataEncrypt = (BYTE)m_bEncrypt;
			memcpy(rs232cfg.struPPPConfig.sUsername,m_username,NAME_LEN);
			memcpy(rs232cfg.struPPPConfig.sPassword, m_userpsw, PASSWD_LEN);
			memcpy(rs232cfg.struPPPConfig.sRemoteIP, m_remoteIP, 16);
			memcpy(rs232cfg.struPPPConfig.sLocalIP, m_localIP, 16);
			memcpy(rs232cfg.struPPPConfig.sLocalIPMask, m_IPmask, 16);
			memcpy(rs232cfg.struPPPConfig.sTelephoneNumber, m_phoneNo, PHONENUMBER_LEN);
		}
	}
//	bSetSerial232 = TRUE;
	if(!CLIENT_SetDevConfig(m_Device->LoginID, DEV_SET_RS232CFG, 0, &rs232cfg, sizeof(NET_DEV_RS232CFG), CONFIG_WAITTIME))
	{
		AfxMessageBox(ConvertString("rs232 config save failed!"));	
		return;
	}
	
}
Exemplo n.º 7
0
void CConfigAlarm::OnApply() 
{
	m_alarmInDlg.GetAlarmInCFG(m_almCFG.struLocalAlmIn);
	m_blindDlg.GetBlindCFG(m_almCFG.struBlind);
//	m_diskDlg.SetAlarmInCFG(m_almCFG.struAlarmIn);
	m_motionDlg.GetMotionCFG(m_almCFG.struMotion);
	m_vlostDlg.GetVlostCFG(m_almCFG.struVideoLost);

	BOOL bRet = CLIENT_SetDevConfig(m_pDev->LoginID, RV_DEV_ALARMCFG, 0,
								&m_almCFG, sizeof(DHDEV_ALARM_SCHEDULE), CONFIG_WAITTIME);
	if (!bRet)
	{
		((CNetSDKDemoDlg*)AfxGetMainWnd())->LastError();
		return;
	}
	else
	{
		MessageBox(ConvertString(MSG_CONFIG_SUCCESS), "OK");
	}
}
Exemplo n.º 8
0
void CConfigChannel::OnApply() 
{
	if (!m_bInited || m_chnIdx < 0)
	{
		return;
	}

	int strmIdx = m_streamsel.GetCurSel();
	if (strmIdx < 0)
	{
		return;
	}

	int osdIdx = m_osdsel.GetCurSel();
	if (osdIdx < 0)
	{
		return;
	}

	GetDlgItemText(IDC_EDIT_CHANNAME, m_chnCFG[m_chnIdx].szChannelName, CHANNEL_NAME_LEN+1);
	BYTE rsOIdx, ecOIdx;
	GetOrigIndex(&rsOIdx, m_resolutionsel.GetCurSel(), m_sysCFG.stDspEncodeCap.dwImageSizeMask);
	GetOrigIndex(&ecOIdx, m_encodetypesel.GetCurSel(), m_sysCFG.stDspEncodeCap.dwEncodeModeMask);
	if (strmIdx < 3) //main stream - for record
	{
		m_chnCFG[m_chnIdx].stMainVideoEncOpt[strmIdx].byVideoEnable= m_videochk.GetCheck();
		m_chnCFG[m_chnIdx].stMainVideoEncOpt[strmIdx].byAudioEnable= m_audiochk.GetCheck();
		m_chnCFG[m_chnIdx].stMainVideoEncOpt[strmIdx].byBitRateControl= m_bitratectrlsel.GetCurSel();
		m_chnCFG[m_chnIdx].stMainVideoEncOpt[strmIdx].byFramesPerSec= m_framesel.GetCurSel();
		m_chnCFG[m_chnIdx].stMainVideoEncOpt[strmIdx].byEncodeMode= ecOIdx;
		m_chnCFG[m_chnIdx].stMainVideoEncOpt[strmIdx].byImageSize= rsOIdx;
		m_chnCFG[m_chnIdx].stMainVideoEncOpt[strmIdx].byImageQlty= m_imgqualitysel.GetCurSel()+1;
	}
	else if (strmIdx < 6) //assistant - for net-transfor
	{
		m_chnCFG[m_chnIdx].stAssiVideoEncOpt[strmIdx-3].byVideoEnable= m_videochk.GetCheck();
		m_chnCFG[m_chnIdx].stAssiVideoEncOpt[strmIdx-3].byAudioEnable= m_audiochk.GetCheck();
		m_chnCFG[m_chnIdx].stAssiVideoEncOpt[strmIdx-3].byBitRateControl= m_bitratectrlsel.GetCurSel();
		m_chnCFG[m_chnIdx].stAssiVideoEncOpt[strmIdx-3].byFramesPerSec= m_framesel.GetCurSel();
		m_chnCFG[m_chnIdx].stAssiVideoEncOpt[strmIdx-3].byEncodeMode= m_encodetypesel.GetCurSel();
		m_chnCFG[m_chnIdx].stAssiVideoEncOpt[strmIdx-3].byImageSize= m_resolutionsel.GetCurSel();
		m_chnCFG[m_chnIdx].stAssiVideoEncOpt[strmIdx-3].byImageQlty= m_imgqualitysel.GetCurSel()+1;
	}
	m_chnCFG[m_chnIdx].stColorCfg[0].byBrightness = GetDlgItemInt(IDC_EDIT_BRIGHTNESS);
	m_chnCFG[m_chnIdx].stColorCfg[0].bySaturation = GetDlgItemInt(IDC_EDIT_SATURATION);
	m_chnCFG[m_chnIdx].stColorCfg[0].byContrast = GetDlgItemInt(IDC_EDIT_CONTRAST);
	m_chnCFG[m_chnIdx].stColorCfg[0].byHue = GetDlgItemInt(IDC_EDIT_HUE);
	m_chnCFG[m_chnIdx].stColorCfg[0].byGainEn = m_gainchk.GetCheck();
	m_chnCFG[m_chnIdx].stColorCfg[0].byGain = GetDlgItemInt(IDC_EDIT_GAIN);

//	m_chnCFG[1].stChannelOSD.bShow = 1;
//	m_chnCFG[1].stChannelOSD.rgbaFrontground = 0xFFFFFFFF;

	BOOL bRet = CLIENT_SetDevConfig(m_pDev->LoginID, DEV_CHANNELCFG, -1/*all channel*/,
								&m_chnCFG, 16*sizeof(DEV_CHANNEL_CFG), CONFIG_WAITTIME);
	if (!bRet)
	{
		((CNetSDKDemoDlg*)AfxGetMainWnd())->LastError();
		return;
	}
	else
	{
		MessageBox(ConvertString(MSG_CONFIG_SUCCESS), "OK");
	}
}
Exemplo n.º 9
0
void CConfigNetwork::OnApply() 
{
	if (!m_bInited)
	{
		return;
	}
	
	if (m_etherIdx < 0)
	{
		return;
	}
	
	if (m_hostIdx < 0)
	{
		return;
	}

	//get config information
	GetDlgItemText(IDC_EDIT_DEVNAME, m_netCFG.sDevName, DH_MAX_NAME_LEN);
	m_netCFG.wTcpMaxConnectNum = GetDlgItemInt(IDC_EDIT_MAXTCP);
	m_netCFG.wTcpPort = GetDlgItemInt(IDC_EDIT_TCPPORT);
	m_netCFG.wUdpPort = GetDlgItemInt(IDC_EDIT_UDPPORT);
	m_netCFG.wHttpPort = GetDlgItemInt(IDC_EDIT_HTTPPORT);
	m_netCFG.wHttpsPort = GetDlgItemInt(IDC_EDIT_HTTPSPORT);
	m_netCFG.wSslPort = GetDlgItemInt(IDC_EDIT_SSLPORT);
	m_netCFG.wTcpMaxConnectNum = GetDlgItemInt(IDC_EDIT_MAXTCP);
	m_netCFG.wTcpMaxConnectNum = GetDlgItemInt(IDC_EDIT_MAXTCP);
	
	//ethernet config
	GetDlgItemText(IDC_EDIT_NETIP, m_netCFG.stEtherNet[m_etherIdx].sDevIPAddr, DH_MAX_IPADDR_LEN);
	GetDlgItemText(IDC_EDIT_NETIPMASK, m_netCFG.stEtherNet[m_etherIdx].sDevIPMask, DH_MAX_IPADDR_LEN);
	GetDlgItemText(IDC_EDIT_NETGATEWAY, m_netCFG.stEtherNet[m_etherIdx].sGatewayIP, DH_MAX_IPADDR_LEN);
	m_netCFG.stEtherNet[m_etherIdx].dwNetInterface = m_interfacesel.GetCurSel()+1;
	GetDlgItemText(IDC_EDIT_NETMAC, m_netCFG.stEtherNet[m_etherIdx].byMACAddr, DH_MACADDR_LEN);
	
	//remote config
	DH_REMOTE_HOST *thishost = 0;
	thishost = GetRemoteHostType(m_hostIdx);

	if (!thishost)
	{
		return;
	}
	
	thishost->byEnable = m_hostEnchk.GetCheck();
	GetDlgItemText(IDC_EDIT_HOSTIP, thishost->sHostIPAddr, DH_MAX_IPADDR_LEN);
	thishost->wHostPort = GetDlgItemInt(IDC_EDIT_HOSTPORT);
	GetDlgItemText(IDC_EDIT_HOSTUSERNAME, thishost->sHostUser, DH_MAX_HOST_NAMELEN);
	GetDlgItemText(IDC_EDIT_HOSTUSERPSW, thishost->sHostPassword, DH_MAX_HOST_PSWLEN);
	if (7 == m_hostIdx)
	{
		GetDlgItemText(IDC_EDIT_HOSTRESERVED, m_netCFG.sDdnsHostName, DH_MAX_HOST_NAMELEN);
	}
	
	//mail config
	GetDlgItemText(IDC_EDIT_MAILUSERNAME, m_netCFG.struMail.sUserName, DH_MAX_NAME_LEN);
	GetDlgItemText(IDC_EDIT_MAILUSERPSW, m_netCFG.struMail.sUserPsw, DH_MAX_NAME_LEN);
	GetDlgItemText(IDC_EDIT_MAILIP, m_netCFG.struMail.sMailIPAddr, DH_MAX_IPADDR_LEN);
	m_netCFG.struMail.wMailPort = GetDlgItemInt(IDC_EDIT_MAILPORT);
	GetDlgItemText(IDC_EDIT_MAILDESADDR, m_netCFG.struMail.sDestAddr, DH_MAX_MAIL_ADDR_LEN);
	GetDlgItemText(IDC_EDIT_MAILCCADDR, m_netCFG.struMail.sCcAddr, DH_MAX_MAIL_ADDR_LEN);
	GetDlgItemText(IDC_EDIT_MAILBCCADDR, m_netCFG.struMail.sBccAddr, DH_MAX_MAIL_ADDR_LEN);
	GetDlgItemText(IDC_EDIT_MAILSUBJECT, m_netCFG.struMail.sSubject, DH_MAX_MAIL_ADDR_LEN);
	
//	strcpy(m_netCFG.struMail.sSenderAddr, "111111111111");
//
	//save
	BOOL bRet = CLIENT_SetDevConfig(m_pDev->LoginID, DH_DEV_NETCFG, 0,
								&m_netCFG, sizeof(DHDEV_NET_CFG), CONFIG_WAITTIME);
	if (!bRet)
	{
		((CNetSDKDemoDlg*)AfxGetMainWnd())->LastError();				
		return;
	}
	else
	{
		//Begin: Add by li_deming(11517) 2008-1-30
		//DDNS配置保存
		m_ctlDDNSIDList.SetCurSel(-1);
		OnSelchangeComboDdnsid();
		m_ctlDDNSIDList.SetCurSel(selIndexOld);
		OnSelchangeComboDdnsid();
		bRet=CLIENT_SetDevConfig(m_pDev->LoginID,DH_DEV_MULTI_DDNS,0,&m_ddnsCFG,sizeof(DHDEV_MULTI_DDNS_CFG),CONFIG_WAITTIME);
		if(bRet==TRUE)
		{
			MessageBox(ConvertString(MSG_CONFIG_SUCCESS), "OK");
		}
		else
		{
			((CNetSDKDemoDlg*)AfxGetMainWnd())->LastError();				
			return;
		}
		//End:li_deming(11517)		
		//essageBox(MSG_CONFIG_SUCCESS, "OK");//// Delete by li_deming(11517) 2008-1-30
	}

}
Exemplo n.º 10
0
static int 
dah_set_device_config(struct service *srv, int parm_id, void *parm)
{
    int ret = FALSE, err = 0;
    int user_id, cmd;

    proxy_ctrl_t *ctrl;
    proxy_task_t *task;

    dah_service_t *dah_srv;
    dah_config_t  *dah_cfg;
    dah_new_config_t *dah_new_cfg;

    DISKCTRL_PARAM *disk_ctrl;

    NMP_ASSERT(srv && parm_id && 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 SET_SERIAL_CONFIG:
            goto SET_CFG;
        case SET_DEVICE_TIME:
            goto SET_CFG;
        case SET_NTP_CONFIG:
            goto SET_CFG;
        case SET_NETWORK_CONFIG:
            goto SET_CFG;
        case SET_PPPOE_CONFIG:
            goto SET_CFG;
        case SET_FTP_CONFIG:
            goto SET_CFG;
        case SET_SMTP_CONFIG:
            goto SET_CFG;
        case SET_DDNS_CONFIG:
            goto SET_CFG;
        case SET_UPNP_CONFIG:
            goto SET_CFG;

        case SET_DISK_FORMAT:
            disk_ctrl = (DISKCTRL_PARAM*)nmp_new(DISKCTRL_PARAM, 1);
            memcpy(disk_ctrl, ((dah_config_t*)parm)->buffer, sizeof(DISKCTRL_PARAM));
            ctrl = proxy_new_ctrl_2(srv, CTRL_CMD_FRMTDISK, disk_ctrl, 
                    sizeof(DISKCTRL_PARAM), dah_free_ctrl_user);
            if (!ctrl)
                ret = FALSE;
            else
            {
                task = proxy_new_task(CONTROL_DEVICE, ctrl, sizeof(ctrl), 
                        proxy_free_ctrl, dah_srv->owner);
                if (task)
                {
                    proxy_thread_pool_push(task);
                    ret = TRUE;
                }
                else
                {
                    proxy_free_ctrl((void*)ctrl, sizeof(ctrl));
                    ret = FALSE;
                }
            }
            break;

        case CONTROL_DEVICE_CMD:
            switch (((JControlDevice*)parm)->command)
            {
                case SHUTDOWN_DEVICE:
                    ret = TRUE;
                    cmd = CTRL_CMD_SHUTDOWN;
                    break;
                case RESTART_DEVICE:
                    ret = TRUE;
                    cmd = CTRL_CMD_REBOOT;
                    break;
                case RESTORE_DEFAULT:
                    ret = TRUE;
                    cmd = CTRL_CMD_RESET;
                    break;

                case DETECT_DEAL_PIX:
                    ret = FALSE;
                    break;
                case DETECT_IRIS:
                    ret = FALSE;
                    break;

                default:
                    ret = FALSE;
                    break;
            }

            if (ret)
            {
                ctrl = proxy_new_ctrl(srv, cmd, NULL);
                if (!ctrl)
                    ret = FALSE;
                else
                {
                    task = proxy_new_task(CONTROL_DEVICE, ctrl, sizeof(ctrl), 
                            proxy_free_ctrl, dah_srv->owner);
                    if (task)
                    {
                        proxy_thread_pool_push(task);
                        ret = TRUE;
                    }
                    else
                    {
                        proxy_free_ctrl((void*)ctrl, sizeof(ctrl));
                        ret = FALSE;
                    }
                }
            }
            break;

        case SET_ENCODE_CONFIG:
            goto SET_CFG;
        case SET_DISPLAY_CONFIG:
            goto SET_CFG;
        case SET_OSD_CONFIG:
            goto SET_CFG;
        case SET_PTZ_CONFIG:
            goto SET_NEW_CFG;
        case SET_RECORD_CONFIG:
            goto SET_CFG;
        case SET_HIDE_CONFIG:
            goto SET_CFG;
        case SET_MOTION_CONFIG:
            goto SET_CFG;
        case SET_VIDEO_LOST_CONFIG:
            goto SET_CFG;
        case SET_HIDE_ALARM_CONFIG:
            goto SET_CFG;
        case SET_IO_ALARM_CONFIG:
            goto SET_CFG;

        case CONTROL_PTZ_CMD:
            ret = CLIENT_PTZControl(user_id, 
                    (int  )((dah_ptz_ctrl_t*)parm)->channel, 
                    (DWORD)((dah_ptz_ctrl_t*)parm)->ptz_cmd, 
                    (DWORD)((dah_ptz_ctrl_t*)parm)->step, 
                    (BOOL )((dah_ptz_ctrl_t*)parm)->stop);
            break;

        case SET_PRESET_CONFIG:
            /*strm_info = find_stream_by_channel(&dah_srv->rtsp.real_strm_list, 
                            ((struct dah_preset*)parm)->channel);
            if (strm_info && DAH_INVALID_HANDLE != strm_info->handle)
            {
                handle = strm_info->handle;
            }

            if (DAH_INVALID_HANDLE != handle)
            {
                ret = NET_DVR_PTZPreset((LONG)handle, 
                    (DWORD)((struct dah_preset*)parm)->preset_cmd, 
                    (DWORD)((struct dah_preset*)parm)->preset_no);
show_debug("NET_DVR_PTZPreset: %s<-------------------------------\n", (ret == TRUE) ? "Success" : "Failure");
            }*/
            break;

        case SET_CRUISE_CONFIG:
        case ADD_CRUISE_CONFIG:
        case MDF_CRUISE_CONFIG:
            break;

        default:
            ret = FALSE;
            break;
    }
    
    if (TRUE == ret)
        return 0;
    else
        return -1;

SET_CFG:
    dah_cfg = (dah_config_t*)parm;
    ret = CLIENT_SetDevConfig(user_id, 
            (DWORD  )dah_cfg->command, 
            (LONG   )dah_cfg->channel, 
            (LPVOID )dah_cfg->buffer, 
            (DWORD  )dah_cfg->b_size, 
            (int    )dah_cfg->waittime);
    show_debug("CLIENT_SetDevConfig: %s<-------------------------------\n", 
        (ret == TRUE) ? "Success" : "Failure");

    if (TRUE == ret)
        return 0;
    else
    {
        show_debug("ERROR: 0x%x<-------------------------------\n", 
            CLIENT_GetLastError());
        return -1;
    }

SET_NEW_CFG:
    dah_new_cfg = (dah_new_config_t*)parm;
    ret = CLIENT_PacketData(
            dah_new_cfg->command, 
            dah_new_cfg->buffer, 
            dah_new_cfg->b_size, 
            dah_new_cfg->out_json, 
            DEF_OUT_JSON_SIZE);
    if (ret)
    {
        ret = CLIENT_SetNewDevConfig(user_id, 
                dah_new_cfg->command, 
                dah_new_cfg->channel, 
                dah_new_cfg->out_json, 
                DEF_OUT_JSON_SIZE, 
                &err, FALSE, dah_new_cfg->waittime);

        show_debug("CLIENT_SetNewDevConfig: %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;
    }
}