// VCDemoDlg.h : 头文件
//

#pragma once
#include "resource.h"
#include "tinyxml.h"
#include "CTPPlayerAtl.h"
#include "CITPPlayerAtlEvents.h"
#include "IPlatinterActiveEvent.h"
#include "afxcmn.h"
#include "LoginDlg.h"
#include "afxwin.h"
#include "RecordSearch.h"
#include   <list>
#include   <iostream>   
#include "map"
using   namespace   std;


// CVCDemoDlg 对话框
class CVCDemoDlg : public CDialog
{
// 构造
public:
	CVCDemoDlg(CWnd* pParent = NULL);	// 标准构造函数

// 对话框数据
	enum { IDD = IDD_VCDEMO_DIALOG };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV 支持


// 实现
protected:
	HICON m_hIcon;

	// 生成的消息映射函数
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	DECLARE_MESSAGE_MAP()
public:
	CIPlatInterActiveEvent* m_logEvt;
	IPlatInterActivePtr m_plogObj;
	CTPPlayerAtl * m_pPlayer;
	int OnInterfaceDataResp(LONG nCode,BYTE* byteData);
	int OnInterfaceXMLResp(LONG nCode,LONG nParam, BSTR strXml);
	virtual ~CVCDemoDlg();
public:
	afx_msg void OnDestroy();
	///返回的设备列表的XML解释对象
	TiXmlDocument m_devListDoc;
public:
	///设备列表
	CTreeCtrl m_DevTree;
	///登陆窗口
	CLoginDlg m_loginForm;
	///搜索视频窗口
	CRecordSearch m_SearchDlg;
public:
	afx_msg void OnNMDblclkDevtree(NMHDR *pNMHDR, LRESULT *pResult);
private:
	///当前正在播放的设备信息节点
	TiXmlElement * pPlayCameraNode;
	///播放声音 
	afx_msg void OnBnClickedAudio();
	///设备状态图片
	CImageList * m_pImgList;
	///更新设备列表
	int ReloadDeviceList(_bstr_t & strXml);
	///播放视频
	int OnPlayVieo(_bstr_t & strXml);
	///
	afx_msg void OnBnClickedViewpre();
	///预置点列表
	CComboBox m_prestList;
	afx_msg void OnBnClickedPtzinit();
	afx_msg void OnBnClickedSetcapture();
	afx_msg void OnBnClickedChangevideo();

	///当前正在播放的设备ID
	_bstr_t PlayDevId;
	///当前播放类型,CIF=0,D1=1,关闭后为-1
	int nPlayVideoType;
	///标记请求PTZ已请求成功
	int nPtzOk;
	///当前请示云台控制的ID，如果成功，则==PlayDevId
	_bstr_t ptzDevId;
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	///发送云台控制
	int SendPtzByName(_bstr_t name,_bstr_t pspeed,_bstr_t tspeed,_bstr_t addstr);

	afx_msg void OnBnClickedStopplay();
	afx_msg void OnBnClickedRecordplayer();
	friend CRecordSearch;
	///告警信息列表
	CListCtrl m_alarmList;
	///最后取得的PTZ信息串
	_bstr_t lastPresetMsg;
	afx_msg void OnBnClickedRecordfile();
	///发送PTZ串
	int SendCmd(_bstr_t cmd);
	///设备ID与树节点列表关系
	map<_bstr_t,HTREEITEM> devtreemap;
	///更新设备状态
	int UpdateDevListStatus();
	afx_msg void OnBnClickedDj();
	afx_msg void OnBnClickedGb();
	int m_bIsTalkIng;
	int m_bIsBroadCasting;
	int m_bInviteVideoFinish;
	DWORD m_nLastInviteTime;
	afx_msg void OnTimer(UINT_PTR nIDEvent);
	afx_msg void OnBnClickedButton3();
	afx_msg void OnBnClickedZoomup();
	afx_msg void OnBnClickedZoomdown();
};
