/**********************************************************
FileName: ClientDemoDlg.cpp
Description: main dialog, show the main function
Date: 2008/12/12
Note: the global Macro definition and structure is in "GeneralDef.h", global variable and function is in "ClientDemo.cpp"
Modification History:
<version> <time> <desc>
<1.0 > <2008/12/12> <created>
***********************************************************/
#include "stdafx.h"
#include "ClientDemo.h"
#include ".\clientdemodlg.h"
#include "DlgAddDevice.h"
#include "DlgRemoteCfg.h"
#include "math.h"
#include "winver.h"
#include "DlgDeviceInfo.h"
#include "DlgUpgrade.h"
#include "DlgFormatHD.h"
#include "DlgRemoteKey.h"
#include "DlgDeviceState.h"
#include "DlgLocalLogConfig.h"
#include "DlgJPEGSnatchConfig.h"
#include "DlgBroadCast.h"
#include "DlgHardDiskCfg.h"
#include "DlgRemoteIPAccess.h"
#include "DlgVoiceTalk.h"
#include "DlgFortify.h"
#include "DlgLogSearch.h"
#include "DlgDeviceState.h"
#include "DlgCheckTime.h"
#include "DlgSerialTrans.h"
#include "DlgConfigFlash.h"
#include "DlgDoTest.h"
#include "DlgTalkMR.h"
#include "process.h"
#include "DlgAtmFrameFormatV30.h"
#include "DlgPdcCalibration.h"
#include "DlgPdcRuleCfg.h"
#include "DlgVcaITSCfg.h"
#include "DlgVcaBehaviorCfg.h"
#include "DlgVcaIvmsCfg.h"
#include "DlgVcaPositionRule.h"
#include "DlgInquestDvr.h"
#include "MatCodeSplitter.h"
#include "DlgRaidConfig.h"
#include "DlgEncodeJoint.h"
#include "DlgSensorCfg.h"
#include "DlgIscsiCfg.h"
#include "DlgAlarmHostLogSearch.h"
#include "DlgXmlAbility.h"
#include "DlgAlarmHost.h"
#include "DlgPtzScope.h"
#include "DlgAlarmCamCfg.h"
#include "DlgSensorAddPreview.h"
#include "DlgHolidayCfg.h"
#include "DlgIPCSpecial.h"
#include "DlgNVRCfg.h"
#include "DlgVcaChanCtrlCfg.h"
#include "DlgVcaFace.h"
#pragma comment (lib, "version.lib")
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
static unsigned long ulAlarmPic = 0;
extern HINSTANCE g_hDSSDK;
//Alarm host
typedef struct tagLOCAL_ALARM_INFO
{
int iDeviceIndex;
LONG lCommand;
tagLOCAL_ALARM_INFO()
{
iDeviceIndex = -1;
lCommand = -1;
}
}LOCAL_ALARM_INFO, *LPLOCAL_ALARM_INFO;
/*********************************************************
Function: g_ExceptionCallBack
Desc: exception callback function
Input: dwType: message type;lUserID: log-in device ID;lHandle, handle of connected channel ; pUser, user data��
Output:
Return:
**********************************************************/
void CALLBACK g_ExceptionCallBack(DWORD dwType, LONG lUserID, LONG lHandle, void *pUser)
{
UNREFERENCED_PARAMETER(pUser);
if (g_bExitDemo)
{
return;
}
int i = 0, j=0;
int iDeviceIndex = -1;
CString sTemp;
// char szTmpBuf[256] = {0};
for (i = 0; i < MAX_DEVICES ; i++)
{
if (g_struDeviceInfo[i].lLoginID == lUserID)
{
iDeviceIndex = i;
break;
}
}
switch (dwType)
{
case EXCEPTION_EXCHANGE://the device is off line
g_pMainDlg->AddLog(iDeviceIndex, OPERATION_FAIL_T, "EXCEPTION_EXCHANGE");
break;
case RESUME_EXCHANGE://the device is on line
g_pMainDlg->AddLog(iDeviceIndex, OPERATION_SUCC_T, "RESUME_EXCHANGE");
break;
case EXCEPTION_AUDIOEXCHANGE: //network exception while voice talk
if (g_lVoiceHandle != -1)
{
if (lHandle == g_lVoiceHandle)
{//sdk do not reconnect, so close the exception thread
g_pMainDlg->AddLog(iDeviceIndex, OPERATION_FAIL_T, "EXCEPTION_AUDIOEXCHANGE vt dev[%d]", iDeviceIndex);
// if (NET_DVR_StopVoiceCom(g_lVoiceHandle))
// {
// g_pMainDlg->AddLog(-1, OPERATION_SUCC_T, "NET_DVR_StopVoiceCom");
// g_lVoiceHandle = -1;
// AfxMessageBox("Stop Voice Talk Success!");
// }
// else
// {
// g_pMainDlg->AddLog(-1, OPERATION_FAIL_T, "NET_DVR_StopVoiceCom");
// AfxMessageBox("Stop Voice Talk Fail!");
// }
goto ExceptionOut;
}
}
else
{
for (i = 0; i<MAX_DEVICES; i++)
{
for (j = 0; j<MAX_AUDIO_V30; j++)
{
if (g_struDeviceInfo[i].lVoiceCom[j] == lHandle)
{
g_pMainDlg->AddLog(iDeviceIndex, OPERATION_FAIL_T, "AUDIOEXCHANGE mr dev[%d]exception[%d]", iDeviceIndex, dwType);
if (NET_DVR_StopVoiceCom(lHandle))
{
g_pMainDlg->AddLog(i, OPERATION_SUCC_T, "NET_DVR_StopVoiceCom audioindex[%d]", j);
g_struDeviceInfo[i].lVoiceCom[j] = -1;
}
else
{
g_pMainDlg->AddLog(i, OPERATION_FAIL_T, "NET_DVR_StopVoiceCom audioindex[%d]", j);
}
goto ExceptionOut;
}
}
}
}
if (g_struLocalParam.bBroadCast)
{
g_pMainDlg->AddLog(iDeviceIndex, OPERATION_FAIL_T, "AUDIOEXCHANGE BC dev[%d]handle[%d]exception[%d]", iDeviceIndex, lHandle, dwType);
NET_DVR_DelDVR_V30(lHandle);
}
break;
case EXCEPTION_ALARM: //network exception while uploading alarm
for (i = 0; i < MAX_DEVICES; i++)
{
if (g_struDeviceInfo[i].lFortifyHandle >= 0)
{
if (lHandle == g_struDeviceInfo[i].lFortifyHandle)
{
// if (NET_DVR_CloseAlarmChan_V30(g_struDeviceInfo[i].lFortifyHandle))
// {
g_pMainDlg->AddLog(i, OPERATION_FAIL_T, "alarm fortify exception!");
// g_struDeviceInfo[i].lFortifyHandle = -1;
// }
// else
// {
// }
goto ExceptionOut;
}
}
}
g_pMainDlg->AddLog(iDeviceIndex, OPERATION_FAIL_T, "ALARM dev[%d]exception[%d]", iDeviceIndex, dwType);
break;
case EXCEPTION_PREVIEW: // exception while preview
g_pMainDlg->AddLog(iDeviceIndex, OPERATION_FAIL_T, "PREVIEW dev[%d]exception[%d]", iDeviceIndex, dwType);
for (i = 0; i < MAX_OUTPUTS; i++)
{
if (lHandle == g_dlgOutput[i].m_lPlayHandle)
{
g_dlgOutput[i].AddLog(OPERATION_FAIL_T, "preview exception!");
if (g_dlgOutput[i].m_bLocalManualRec)
{
g_dlgOutput[i].StopLocalRecord();
}
g_dlgOutput[i].StopPlay();
g_pMainDlg->ChangePlayBtnState();
goto ExceptionOut;
}
}
break;
case EXCEPTION_SERIAL: //exception while connecting in a transparent channel mode
g_pMainDlg->AddLog(iDeviceIndex, OPERATION_FAIL_T, "EXCEPTION_SERIAL dev[%d]", iDeviceIndex);
for (i = 0; i < MAX_DEVICES ; i++)
{
if (g_struDeviceInfo[i].lTranHandle >= 0)
{
if (lHandle == g_struDeviceInfo[i].lTranHandle)
{
g_pMainDlg->AddLog(i, OPERATION_FAIL_T, "serial transparent exception!!");
goto ExceptionOut;
}
}
}
break;
case EXCEPTION_RECONNECT: //reconnect while preview
g_pMainDlg->AddLog(iDeviceIndex, OPERATION_FAIL_T, "preview RECONNECT dev[%d]", iDeviceIndex);
for (i = 0; i < MAX_OUTPUTS; i++)
{
if (lHandle == g_dlgOutput[i].m_lPlayHandle)
{
g_dlgOutput[i].AddLog(OPERATION_SUCC_T, "preview reconneting!");//reconnect to network while preview
goto ExceptionOut;
}
}
break;
case PREVIEW_RECONNECTSUCCESS: //reconnect successfully while preview
g_pMainDlg->AddLog(iDeviceIndex, OPERATION_SUCC_T, "PREVIEW_RECONNECTSUCCESS dev[%d]", iDeviceIndex);
break;
case EXCEPTION_ALARMRECONNECT://reconnect alarm guard channel
g_pMainDlg->AddLog(iDeviceIndex, OPERATION_FAIL_T, "ALARMRECONNECT dev[%d]", iDeviceIndex);
for (i = 0; i < MAX_DEVICES ; i++)
{
if (g_struDeviceInfo[i].lFortifyHandle >= 0)
{
if (lHandle == g_struDeviceInfo[i].lFortifyHandle)
{
g_pMainDlg->AddLog(i, OPERATION_SUCC_T, "alarm Fortify reconnecting!!");
goto ExceptionOut;
}
}
}
break;
case ALARM_RECONNECTSUCCESS://reconnect alarm guard channel successfully
g_pMainDlg->AddLog(iDeviceIndex, OPERATION_SUCC_T, "ALARM_RECONNECTSUCCESS dev[%d]", iDeviceIndex);
break;
case EXCEPTION_SERIALRECONNECT://reconnect transparent channel
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
海康威视DVR全套SDK (490个子文件)
ClientDemo.aps 694KB
ClientDemoEn.aps 567KB
fortify_alarm.bmp 1KB
fortify.bmp 1KB
login.bmp 1KB
dev_alarm.bmp 1KB
rec_play.bmp 824B
play_alarm.bmp 824B
rec.bmp 824B
audio.bmp 824B
camera.bmp 822B
playAndAlarm.bmp 822B
play.bmp 822B
IPChan.bmp 822B
tree.bmp 822B
p_r_a.bmp 822B
Alarm.bmp 822B
logout.bmp 246B
设备网络SDK使用手册.chm 1.8MB
ClientDemo.clw 330KB
ClientDemoDlg.cpp 263KB
DlgVcaPositionRule.cpp 110KB
DlgVcaIvmsCfg.cpp 108KB
SubDlgChanCfg.cpp 83KB
DlgPlayRemoteFile.cpp 82KB
DlgVcaRuleCfg.cpp 78KB
DlgOutput.cpp 76KB
Markup.cpp 71KB
DlgPlayEvent.cpp 64KB
DlgJpegCaptureCfg.cpp 60KB
DlgLogSearch.cpp 55KB
SubDlgAlarmCfg.cpp 53KB
SubDlgDeviceCfg.cpp 46KB
DlgPlayRemoteTime.cpp 46KB
DlgPlayLocalFile.cpp 46KB
DlgRemoteMotionDetect.cpp 44KB
DlgRemoteRecordSchedule.cpp 41KB
DlgAlarmHostLogSearch.cpp 40KB
SubDlgUserCfg.cpp 40KB
DlgRemoteHideAlarm.cpp 38KB
DlgVcaAidRuleCfg.cpp 38KB
DlgJpegFTP.cpp 35KB
DlgTPSRuleCfg.cpp 35KB
DlgPdcRuleCfg.cpp 34KB
DialogMultiNetCard.cpp 34KB
ClientDemo.cpp 33KB
DlgSoftHardAbility.cpp 33KB
DlgRemoteAlarmInHandle.cpp 32KB
DlgAtmFrameFormatV30.cpp 32KB
DlgVcaAtmFace.cpp 31KB
DlgRemoteIPAccess.cpp 31KB
DlgVcaMaskRegion.cpp 30KB
DlgAlarmHost.cpp 29KB
DrawFun.cpp 29KB
DlgRemoteVideoInLost.cpp 29KB
DlgVcaBehaviorCalibrate.cpp 29KB
DlgTalkMR.cpp 29KB
DlgInquestDvr.cpp 29KB
JPEGPicDownload.cpp 28KB
SubDlgATMInfoCfg.cpp 28KB
DlgRemoteAdvanceNetConfig.cpp 28KB
DlgWifi.cpp 28KB
DlgVcaBlackList.cpp 27KB
DlgVcaFaceDetect.cpp 26KB
MatDispChanControl.cpp 25KB
DlgHardDiskCfg.cpp 25KB
DlgRemoteFanException.cpp 25KB
DlgVcaSingleProcImg.cpp 24KB
DlgIPCFrontAbility.cpp 23KB
DlgRemotePullException.cpp 23KB
DlgEncodeAbility.cpp 23KB
DlgPlayMotion.cpp 22KB
DlgDeviceInfo.cpp 22KB
DlgOutputCtrl.cpp 22KB
SubDlgSerialCfg.cpp 21KB
DlgVcaEnterRegion.cpp 21KB
MatDecoderStatus.cpp 21KB
MatCycLink.cpp 19KB
MatPassive.cpp 19KB
DlgVcaLaneCfg.cpp 19KB
DlgInquestEvent.cpp 19KB
SubDlgArrayCfg.cpp 18KB
DlgVcaFaceSnapCfg.cpp 18KB
DlgPlayLockFile.cpp 18KB
DlgRemoteKey.cpp 18KB
DlgQuickAddIpc.cpp 18KB
DlgLocalConfig.cpp 17KB
DlgVcaLF.cpp 17KB
DlgVcaITSCfg.cpp 17KB
MatPlayBack.cpp 16KB
DlgRegionList.cpp 16KB
SubDlgPDCfg.cpp 16KB
DlgVcaITSCalibrate.cpp 15KB
DlgRemoteCfg.cpp 15KB
DlgAlarmHostRs485.cpp 15KB
DlgAddDevice.cpp 14KB
DlgBroadCast.cpp 14KB
DlgPdcCalibration.cpp 14KB
DlgLocalRecordSchedule.cpp 14KB
SubDlgMatDecCfg.cpp 14KB
共 490 条
- 1
- 2
- 3
- 4
- 5
资源评论
- joesangui2014-04-03视频监控学习,谢谢
- haidiaofannao2014-03-16非常实用,最近正在学习,刚好用上了.谢谢分享
- cll16536421252016-09-23C++的也不讲清楚。。。。。。。。。
- chen_382015-05-19很不错,有用的资源
hxjstorage
- 粉丝: 0
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功