// NetSDKDemoDlg.cpp : implementation file
#include "stdafx.h"
#include "NetSDKDemo.h"
#include "NetSDKDemoDlg.h"
#include "splitinfodlg.h"
#include "adddevicedlg.h"
#include "searchrecord.h"
#include "systemconfig.h"
#include "dhextptzctrl.h"
#include "dhptzmenu.h"
#include "transcom.h"
#include "recordctrldlg.h"
#include "deviceworkstate.h"
#include "alarmctrldlg.h"
#include "cyclemonitor.h"
//#include "systemcfg.h"
#include "direct.h"
#include "playbackbytime.h"
#include "downloadbytime.h"
#include "NetUpgrade.h"
#include "DDNS_QueryIP.h"
#include "DiskControl.h"
#include "usermanage.h"
#include "configmaindlg.h"
#include "PreviewParmsDlg.h"
#include "automaintenance.h"
#include "depend/dhassistant.h"
#include "depend/dhnetsdk.h"
/*
/////////////////////////////////////////
//console
////////////////////////////////////////
#include <stdio.h>
#include <fcntl.h>
#include <io.h>
#include <iostream>
#include <fstream>
*/
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// #pragma data_seg("sharesec")
// __declspec (allocate("sharesec")) HWND g_share_hWnd = NULL;
// #pragma comment(linker,"/SECTION:sharesec,RWS")
#define ALARMLOG 0x1099
#define UPDATATREE 0x2000
BOOL g_bUpdataTree = FALSE;
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About
/*
using namespace std;
static const WORD MAX_CONSOLE_LINES = 500;
void RedirectIOToConsole()
{
int hConHandle;
long lStdHandle;
CONSOLE_SCREEN_BUFFER_INFO coninfo; // 控制台信息
FILE *fp;
// allocate a console for this app
AllocConsole(); // 打开一个控制台
// set the screen buffer to be big enough to let us scroll text
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &coninfo);
// 设置控制台参数
coninfo.dwSize.Y = MAX_CONSOLE_LINES;
SetConsoleScreenBufferSize(
GetStdHandle(STD_OUTPUT_HANDLE), coninfo.dwSize);
// redirect unbuffered STDOUT to the console
lStdHandle = (long)GetStdHandle(STD_OUTPUT_HANDLE);
hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
fp = _fdopen(hConHandle, "w" );
*stdout = *fp; // 为全局c变量stdout赋值,使用自己打开的控制台.
setvbuf(stdout, NULL, _IONBF, 0);
// redirect unbuffered STDIN to the console
lStdHandle = (long)GetStdHandle(STD_INPUT_HANDLE);
hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
fp = _fdopen( hConHandle, "r");
*stdin = *fp;
setvbuf(stdin, NULL, _IONBF, 0);
// redirect unbuffered STDERR to the console
lStdHandle = (long)GetStdHandle(STD_ERROR_HANDLE);
hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
fp = _fdopen(hConHandle, "w");
*stderr = *fp;
setvbuf(stderr, NULL, _IONBF, 0);
// make cout, wcout, cin, wcin, wcerr, cerr, wclog and clog
// point to console as well
ios::sync_with_stdio();
}
*/
inline void dbg_print_ex(int level, const char *msg, ...)
{
char buf[256];
va_list ap;
va_start(ap, msg); // use variable arg list
vsprintf(buf, msg, ap);
va_end( ap );
}
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// Dialog Data
//{{AFX_DATA(CAboutDlg)
enum { IDD = IDD_ABOUTBOX };
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
//{{AFX_MSG(CAboutDlg)
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CNetSDKDemoDlg dialog
CNetSDKDemoDlg::CNetSDKDemoDlg(CWnd* pParent /*=NULL*/)
: CDialog(CNetSDKDemoDlg::IDD, pParent)
{
m_connectwaittime = 3000;
m_myBrush.CreateSolidBrush(RGB(255,255,255));
//{{AFX_DATA_INIT(CNetSDKDemoDlg)
m_play_frame = 0;
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = 0;//AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CNetSDKDemoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CNetSDKDemoDlg)
DDX_Control(pDX, IDC_TREE_DEVICELIST, m_devicelist);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CNetSDKDemoDlg, CDialog)
//{{AFX_MSG_MAP(CNetSDKDemoDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_WM_CLOSE()
ON_WM_TIMER()
ON_WM_CTLCOLOR()
ON_NOTIFY(NM_DBLCLK, IDC_TREE_DEVICELIST, OnDblclkTreeDevicelist)
ON_WM_SIZE()
ON_WM_DESTROY()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////初始化回调相关的函数////////////////////////////////////////////////
//设备断开时回调函数,可以用来处理断开后设备列表的更新及设备的删除操作
void CALLBACK DisConnectFunc(LONG lLoginID, char *pchDVRIP, LONG nDVRPort, DWORD dwUser)
{
if(dwUser == 0)
{
return;
}
CNetSDKDemoDlg *dlg = (CNetSDKDemoDlg *)dwUser;
dlg->DeviceDisConnect(lLoginID, pchDVRIP,nDVRPort);
}
//设备断开处理
void CNetSDKDemoDlg::DeviceDisConnect(LONG lLoginID, char *sDVRIP,LONG nDVRPort)
{
CDevMgr::GetDevMgr().ModifyNode(lLoginID, FALSE);
g_bUpdataTree = TRUE;
return;
DeviceNode node;
int r = CDevMgr::GetDevMgr().GetDev(lLoginID, node);
if (r < 0)
{
return ;
}
/*
DeviceNode *nDev=(DeviceNode *)FindDeviceInfo(lLoginID, sDVRIP,nDVRPort);
if(nDev == NULL)
{
return;
}
*/
CString nStr;
nStr.Format("%s ",node.IP);
nStr = nStr + ConvertString(MSG_DEVICE_DISCONNECT);
ProcessDeleteDevice(&node, true, true);
UpdateDeviceList();
UpdateCurScreenInfo();
MessageBox(nStr);
UpdateScreen(m_normalBtnPannel.GetSplit());
// Invalidate(true);
}
void CALLBACK HaveReconnFunc(LONG lLoginID, char *pchDVRIP, LONG nDVRPort, DWORD dwUser)
{
if(dwUser == 0)
{
return;
}
CNetSDKDemoDlg *dlg = (CNetSDKDemoDlg *)dwUser;
dlg->DeviceReConnect(lLoginID, pchDVRIP,nDVRPort);
}
void CNetSDKDemoDlg::DeviceReConnect(LONG lLoginID, char *sDVRIP,LONG nDVRPort)
{
CDevMgr::GetDevMgr().ModifyNode(lLoginID, TRUE);
UpdateDeviceList();
return;
}
//消息回调处理函数,是对整个sdk应用的回调
BOOL CALLBACK MessCallBack(LONG lCommand, LONG lLoginID, char *pBuf, DWORD dwBufLen,
char *pchDVRIP, LONG nDVRPort, DWORD dwUser)
{
if(!dwUser) return FALSE;
CNetSDKDemoDlg *dlg = (CNetSDKDemoDlg *)dwUser;
return dlg ->ReceiveMessage(lLoginID, lCommand, pchDVRIP, nDVRPort,pBuf, dwBufLen);
}
//接收到设备消息的处理,目前只定义了报警消息回调
BOOL CNetSDKDemoDlg::ReceiveMessage(LONG lLoginID, LONG lCommand, char *pchDVRIP, LONG nDVRPort,
char *pBuf, DWORD dwBufLen)
{
// EnterCriticalSection(&g_csAlarm);
// CCSLock lk(g_cs);
/*
if (!m_bShowStatus)
{
return false;
}*/
int nRet = CDevMgr::GetDevMgr().SetAlarmInfo(lLoginID, lCommand, pchDVRIP, nDVRPort,
pBuf, dwBufLen);
return nRet<0?FALSE:TRUE;
/*
DeviceNode node;
int r = CDevMgr::GetDevMgr().GetDev(lLoginID, node);
if (r < 0)
{
LeaveCriticalSection(&g_csAlarm);
return false;
}
DeviceNode *nDev = &node;
DeviceNode *nDev = (DeviceNode *)FindDeviceInfo(lLoginID, pchDVRIP,nDVRPort );
if(nDev == NULL)
{
goto e_exit;
}
switch(lCommand) {
case COMM_ALARM:
{
NET_CLIENT_STATE *ClientState = (NET_CLIENT_STATE *)pBuf;
if(ClientState == NULL)
{
return FALSE;
}
printf("alarm infomation:\n");
CString str;
for(int i=0; i<ClientState->channelcount; i++)
{
CString strTemp;
strTemp.For
没有合适的资源?快使用搜索试试~ 我知道了~
大华SDK demo源码
共152个文件
h:75个
cpp:70个
ini:2个
4星 · 超过85%的资源 需积分: 50 194 下载量 141 浏览量
2014-06-13
08:36:10
上传
评论
收藏 373KB RAR 举报
温馨提示
浙江大华技术股份有限公司是一家专业生产安防设备的厂家,这个使他们设备的SDK demo程序
资源推荐
资源详情
资源评论
收起资源包目录
大华SDK demo源码 (152个子文件)
NetSDKDemoDlg.cpp 151KB
ChannelConfig.cpp 23KB
ConfigChannel.cpp 22KB
SerialConfig.cpp 18KB
SearchRecord.cpp 16KB
ConfigNetwork.cpp 15KB
ConfigAlarmMotion.cpp 15KB
SystemConfig.cpp 15KB
ConfigAlarmBlind.cpp 15KB
ConfigAlarmAlarm.cpp 14KB
ConfigAlarmVlost.cpp 14KB
BSWndContainer.cpp 14KB
AlarmConfig.cpp 14KB
TimingRecord.cpp 13KB
RuntimeMsgPannel.cpp 11KB
CycleMonitor.cpp 10KB
ServerConfig.cpp 10KB
DownloadByTime.cpp 10KB
CycleChild.cpp 9KB
DevMgr.cpp 9KB
UserManage.cpp 9KB
AddDeviceDlg.cpp 9KB
DHExtPtzCtrl.cpp 9KB
DeviceWorkState.cpp 8KB
UserConfig.cpp 8KB
SplitInfoDlg.cpp 8KB
ConfigRecord.cpp 8KB
ConfigComm.cpp 8KB
SetHide.cpp 7KB
NetUpgrade.cpp 7KB
TransCom.cpp 6KB
NetSDKDemo.cpp 6KB
setdeviceconfig.cpp 6KB
PlayWnd.cpp 6KB
PlayCtrlPannel.cpp 6KB
ConfigServer.cpp 6KB
SelectPannel.cpp 6KB
dhocxsystemset.cpp 6KB
ConfigAlarm.cpp 6KB
AlarmCtrlDlg.cpp 5KB
DiskControl.cpp 5KB
AdvanceBtnPannel.cpp 5KB
NormalBtnPannel.cpp 5KB
SystemCFG.cpp 5KB
ScreenPannel.cpp 5KB
User_ModifyUser.cpp 5KB
AudioBroadcastDlg.cpp 5KB
PlayBackByTime.cpp 5KB
ClientState.cpp 5KB
ConfigMainDlg.cpp 5KB
ConfigAlarmMotionArea.cpp 5KB
User_ModifyGroup.cpp 4KB
User_AddUser.cpp 4KB
PTZPannel.cpp 4KB
ColorPannel.cpp 4KB
SaveDataPannel.cpp 3KB
User_AddGroup.cpp 3KB
RecordCtrlDlg.cpp 3KB
ConfigAlarmMotionAreaBlock.cpp 3KB
DHPtzMenu.cpp 3KB
User_ModifyPsw.cpp 2KB
AutoMaintenance.cpp 2KB
DDNS_QueryIP.cpp 2KB
font.cpp 2KB
PreviewParmsDlg.cpp 2KB
ExButton.cpp 1KB
ExSliderCtrl.cpp 1KB
ConfigAlarmDisk.cpp 1KB
ExceptionConfig.cpp 1KB
StdAfx.cpp 212B
NetSDKDemo.dsp 13KB
dhnetsdk.h 412KB
Resource.h 50KB
MessageText_eng.h 15KB
NetSDKDemoDlg.h 14KB
MessageText.h 14KB
dhassistant.h 7KB
BSWndContainer.h 6KB
NetSDKDemo.h 5KB
SearchRecord.h 3KB
ChannelConfig.h 3KB
setdeviceconfig.h 3KB
dhocxsystemset.h 3KB
PlayWnd.h 3KB
SerialConfig.h 2KB
DHExtPtzCtrl.h 2KB
DevMgr.h 2KB
ConfigChannel.h 2KB
AdvanceBtnPannel.h 2KB
AlarmConfig.h 2KB
DownloadByTime.h 2KB
NormalBtnPannel.h 2KB
ServerConfig.h 2KB
ConfigAlarmMotionArea.h 2KB
ConfigNetwork.h 2KB
UserConfig.h 2KB
TimingRecord.h 2KB
CycleMonitor.h 2KB
StdAfx.h 2KB
ConfigAlarmMotionAreaBlock.h 2KB
共 152 条
- 1
- 2
yinggai7966
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页