Example #1
0
 public void Init()
 {
     m_qDoorNoEntry    = new Queue <sDoorNoEntry>();
     m_qOnOffInfo      = new Queue <sOnOffAlarm>();
     m_qSealHead       = new Queue <sSealHead>();
     m_qTempAlarm      = new Queue <sTempAlarm>();
     m_qTempDiffAlarm  = new Queue <sTempDiffAlarm>();
     m_qVideoMoveAlarm = new Queue <sVideoMove>();
     m_qThermalImagery = new Queue <sThermalImagery>();
     m_ReMoteConfig    = new RemoteConfigCallback(GetThermInfoCallback);
     //m_MsgCallback = new CHCNetSDK.MSGCallBack_V31(MsgCallback_V31);
     m_singleLock = new object();
     //m_threadLoginHost = new Thread(ThreadLoginHost);
     m_Error = new EXCEPYIONCALLBACK(HikExceptionCallBack);
     //m_threadLoginHost.IsBackground = true;
     //m_threadLoginHost.Start();
     m_MsgCallBackSelf = new VsClientMsgCB(MsgCallback);
     m_MsgCallback     = new CHCNetSDK.MSGCallBack_V31(MsgCallbackHik);
     //读取配置文件的回调函数
     m_funcReadIniMsg      = new pReadIniCallBack(ReadIniCallBack);
     m_sVsClientPath       = "";
     m_sHCNetSDKPath       = "";
     m_lstLoginInfo        = new List <CLoginInfo>();
     m_lstStruIpParaCfgV40 = new List <NET_DVR_IPPARACFG_V40>();
 }
Example #2
0
        /*******************************************************/
        /// <summary>
        /// 初始化
        /// </summary>
        public void Init()
        {
            m_MsgCallBack = new VsClientMsgCB(MsgCallback);
            m_sUrl        = "";
            m_sStartTime  = "";
            m_sEndTime    = "";
            m_sPalyTime   = "";
            m_sCamId      = "";
            ///海康摄像机操作 属性初始化
            m_MsgCallbackHik = new CHCNetSDK.MSGCallBack_V31(MsgCallbackHik);
            m_lstLoginInfo   = new List <CLoginInfo>();
            m_oSingleLock    = new object();
            m_oThread        = new Thread(ThreadLogin);
            m_oThread.Start();

            //初始化读取配置文件的信息
            m_sCapPicPath   = "";
            m_sVsClientPath = "";
            m_sHCNetSDKPath = "";

            //读取配置文件的回调函数
            m_funcReadIniMsg = new pReadIniCallBack(ReadIniCallBack);

            //设备类型初始化
            m_iCamType              = -1;
            m_sCapPath              = "";
            m_bIsFirstFloder        = false;
            m_lstSaveHikChannelInfo = new List <CSaveHikChannelInfo>();

            /*\ 初始化子类事件 /*/
            ucSVideo.evtCallBackFailed += new FuncRetFailed(CallBackFailed);
        }
        /// <summary>
        /// 设置报警上传回调
        /// </summary>
        /// <param name="deviceInfo"></param>
        public void SetDVRMessageCallBack(DeviceInfo deviceInfo, CHCNetSDK.MSGCallBack_V31 msgCallback)
        {
            try
            {
                BaseHelper hikVisionHelper = new HikVisionHelper();

                if (!FaceRecognizeSignForm.isInit)
                {
                    FaceRecognizeSignForm.isInit = hikVisionHelper.Init();
                }

                if (FaceRecognizeSignForm.isInit)
                {
                    bool isSuccess = hikVisionHelper.SetDVRMessageCallBack(msgCallback);

                    if (!isSuccess)
                    {
                        RecordErrorCode(string.Format("{0} 设置报警上传回调函数失败", deviceInfo.deviceIp));
                    }
                }
                else
                {
                    RecordErrorCode("初始化失败");
                }
            }
            catch (Exception ex)
            {
                ToolHelper.RecordSystemErrorLog(this.GetType().ToString(), MethodBase.GetCurrentMethod().Name, ex.Message, ex.StackTrace);
            }
        }
Example #4
0
        /*******************************************************/
        /// <summary>
        /// 初始化
        /// </summary>
        public void Init()
        {
            m_MsgCallBack = new VsClientMsgCB(MsgCallback);
            m_sUrl        = "";
            m_sStartTime  = "";
            m_sEndTime    = "";
            m_sPalyTime   = "";
            m_sCamId      = "";
            ///海康摄像机操作 属性初始化
            m_MsgCallbackHik = new CHCNetSDK.MSGCallBack_V31(MsgCallbackHik);
            m_lstLoginInfo   = new List <CLoginInfo>();
            m_oSingleLock    = new object();
            //m_oThread = new Thread(ThreadLogin);
            //m_oThread.Start();

            //初始化读取配置文件的信息
            m_sCapPicPath   = "";
            m_sVsClientPath = "";
            m_sHCNetSDKPath = "";

            //读取配置文件的回调函数
            m_funcReadIniMsg = new pReadIniCallBack(ReadIniCallBack);

            //设备类型初始化
            m_iCamType            = -1;
            m_sCapPath            = "";
            m_bIsFirstFloder      = false;
            m_lstStruIpParaCfgV40 = new List <NET_DVR_IPPARACFG_V40>();
        }
Example #5
0
        /// <summary>
        /// 加载时
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        ///

        private void ucDevicemanager_Load(object sender, EventArgs e)
        {
            //1.初始化SDK
            bool m_bInitSDK = CHCNetSDK.NET_DVR_Init();

            if (m_bInitSDK == false)
            {
                MessageBox.Show("SDK 初始化失败");
                return;
            }

            //2.设置回调函数

            if (m_falarmData_V31 == null)
            {
                m_falarmData_V31 = new CHCNetSDK.MSGCallBack_V31(MSgCallback_V31);
            }
            CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(m_falarmData_V31, IntPtr.Zero);



            pcAstome.Hide();
            panelCom.Hide();
            pTcp.Hide();
            listBoxControl1.DataSource    = BAL.GetAllDeviceInfo(new Models.DeviceList());
            listBoxControl1.DisplayMember = "dname";
            //选择方式
            //listBoxControl1.SelectionMode = SelectionMode.One;

            List <DeviceList> list = BAL.GetAllDeviceInfo();
            DeviceList        s    = new DeviceList();


            for (int i = 0; i < list.Count; i++)
            {
                //imagecontrolist
                ilbcDevice.Items.Add(list.ElementAt(i).dname);
                if (s.dstate == true)
                {
                    ilbcDevice.Items[i].ImageIndex = 1;
                }
                else
                {
                    ilbcDevice.Items[i].ImageIndex = 0;
                }
            }

            List <DeviceList> list2 = BAL.GetAllDeviceInfo();
            DeviceList        s2    = new DeviceList();


            for (int i = 0; i < list2.Count; i++)
            {
                //imagecontrolist
                ilbcConnectList.Items.Add(list.ElementAt(i).dname);

                ilbcConnectList.Items[i].ImageIndex = 0;
            }
        }
        /// <summary>
        /// 设置报警上传回调函数
        /// </summary>
        /// <returns></returns>
        public override bool SetDVRMessageCallBack(CHCNetSDK.MSGCallBack_V31 msgCallback)
        {
            bool result = false;

            result = CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(msgCallback, IntPtr.Zero);

            return(result);
        }
Example #7
0
 /// <summary>
 /// 设置布防回调函数
 /// </summary>
 /// <returns></returns>
 public bool SetDVRCallBack()
 {
     if (m_falarmData_V31 == null)
     {
         m_falarmData_V31 = new CHCNetSDK.MSGCallBack_V31(MsgCallback_V31);
     }
     return(CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(m_falarmData_V31, IntPtr.Zero));
 }
 /// <summary>
 /// 设置报警回调
 /// </summary>
 public static void SetAlarmCallBack()
 {
     if (m_falarmData_V31 == null)
     {
         m_falarmData_V31 = new CHCNetSDK.MSGCallBack_V31(MsgCallback_V31);
     }
     CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(m_falarmData_V31, IntPtr.Zero);
     WriteMsg("当前设备设置报警回调,时间" + DateTime.Now.ToString("yyyy年MM月dd HH时mm分ss秒"), "ok");
 }
Example #9
0
        /// <summary>
        /// 设备登陆
        /// </summary>
        /// <param name="devIp"></param>
        /// <param name="devPort"></param>
        /// <param name="userName"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        private DevLoginModel DeviceLogin(string devIp, int devPort, string userName, string password)
        {
            string loginUserKey = GetDeviceLoginUserDictKey(devIp, devPort, userName, password);

            //设备已经登陆,择直接返回登陆id,并增加1此登陆的订阅数
            if (_loginedDeviceDict.ContainsKey(loginUserKey))
            {
                _loginedDeviceDict[loginUserKey].SubscriberCount++;
                return(_loginedDeviceDict[loginUserKey]);
            }

            CHCNetSDK.NET_DVR_DEVICEINFO_V30 DeviceInfo = new CHCNetSDK.NET_DVR_DEVICEINFO_V30();

            //登录设备 Login the device
            int loginId = CHCNetSDK.NET_DVR_Login_V30(devIp, devPort, userName, password, ref DeviceInfo);

            if (loginId < 0)
            {
                uint lastErr = CHCNetSDK.NET_DVR_GetLastError();
                LogHelper.Default.Debug(string.Format("设备{0}-{1}登陆失败,错误代码[{2}]", devIp, devPort, lastErr));
                return(null);
            }

            //设置报警回调函数
            if (_msgCallback_V31 == null)
            {
                _msgCallback_V31 = new CHCNetSDK.MSGCallBack_V31(MsgCallback_V31);
            }

            RuntimeTypeHandle handle = GetType().TypeHandle;
            IntPtr            ptr    = handle.Value;

            if (!CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(_msgCallback_V31, ptr))
            {
                uint lastErr = CHCNetSDK.NET_DVR_GetLastError();
                LogHelper.Default.Debug(string.Format("设备{0}-{1}设置报警回调失败,错误代码[{2}]", devIp, devPort, lastErr));
            }

            CHCNetSDK.NET_DVR_SETUPALARM_PARAM setAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
            setAlarmParam.byAlarmInfoType = 1;
            setAlarmParam.byLevel         = 1;
            //布防
            long setAlarmHandle = CHCNetSDK.NET_DVR_SetupAlarmChan(loginId);

            DevLoginModel devLoginModel = new DevLoginModel();

            devLoginModel.Key             = loginUserKey;
            devLoginModel.LoginId         = loginId;
            devLoginModel.SubscriberCount = 1;

            _loginedDeviceDict.TryAdd(loginUserKey, devLoginModel);
            return(devLoginModel);
        }
Example #10
0
        /// <summary>
        /// 设置布防门禁事件
        /// </summary>
        public static bool SetDVRMessageCallBack_V31()
        {
            //设置报警回调函数,刷卡等事件都会触发报警回调函数
            // bool setOK= CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(MSesGCallback, IntPtr.Zero);
            //GC.KeepAlive(msgCall_delegate);//关键的一句, 如果没有KeepAlive,NET_DVR_SetDVRMessageCallBack_V31调用完之后,MSesGCallback就被GC.Collect掉了,以后如果还有调用的话就会抛异常。
            //return setOK;

            //或者
            msgCall_delegate = new CHCNetSDK.MSGCallBack_V31(MSesGCallback);
            bool setOK = CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(msgCall_delegate, IntPtr.Zero);

            return(setOK);
        }
Example #11
0
        private void Initialize()
        {
            detectResetTimer          = new DispatcherTimer();
            detectResetTimer.Interval = new TimeSpan(0, 0, 15);
            detectResetTimer.Tick    += DetectResetTimer_Tick;

            m_bInitSDK = CHCNetSDK.NET_DVR_Init();
            Console.WriteLine("[CCTV] - NET_DVR_Init Result : {0}", m_bInitSDK);
            if (m_bInitSDK)
            {
                if (m_falarmData_V31 == null)
                {
                    m_falarmData_V31 = new CHCNetSDK.MSGCallBack_V31(MsgCallback_V31);
                }
                CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(m_falarmData_V31, IntPtr.Zero);
            }
        }
Example #12
0
        public GetInfoDemo()
        {
            InitializeComponent();
            string str = Application.StartupPath;

            if (!CHCNetSDK.NET_DVR_Init())
            {
                MessageBox.Show("NET_DVR_Init error!");
                return;
            }
            //设置报警回调函数
            if (m_falarmData_V31 == null)
            {
                m_falarmData_V31 = new CHCNetSDK.MSGCallBack_V31(MsgCallback_V31);
            }
            IntPtr pUser = new IntPtr();

            CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(m_falarmData_V31, pUser);
            // MessageBox.Show(CHCNetSDK.NET_DVR_GetLastError().ToString());
        }
Example #13
0
        //private void pictureBox1_Paint(object sender, PaintEventArgs e)
        //{
        //    try
        //    {
        //        GraphicsPath path = new GraphicsPath();
        //        path.AddLines(
        //            new Point[] {
        //            new Point(0, 36),
        //            new Point(36, 0),
        //            new Point(1397, 0),
        //            new Point(1433, 36),
        //            new Point(1433, 779),
        //            new Point(1397, 815),
        //            new Point(36, 815),
        //            new Point(0, 779),
        //            new Point(0, 36)
        //            }
        //      );
        //        this.pictureBox1.Region = new Region(path);
        //    }
        //    catch (Exception ex)
        //    {
        //        ToolHelper.RecordSystemErrorLog(this.GetType().ToString(), MethodBase.GetCurrentMethod().Name, ex.Message, ex.StackTrace);
        //    }
        //}

        private void FaceRecognizeSignForm_Load(object sender, EventArgs e)
        {
            try
            {
                this.timer1     = new System.Windows.Forms.Timer();
                timer1.Interval = 1000;
                timer1.Tick    += new EventHandler(Timer1_Tick);

                if (this.IsHandleCreated)
                {
                    m_falarmData = new CHCNetSDK.MSGCallBack_V31(process.MsgCallback_V31);
                    Action <DeviceInfo, CHCNetSDK.MSGCallBack_V31> setDVRMessageCallBackAction = process.SetDVRMessageCallBack;
                    setDVRMessageCallBackAction.BeginInvoke(deviceInfo, m_falarmData, null, null);

                    Action <DeviceInfo> setupAlarmAction = process.SetupAlarm;
                    setupAlarmAction.BeginInvoke(deviceInfo, null, null);
                }
            }
            catch (Exception ex)
            {
                ToolHelper.RecordSystemErrorLog(this.GetType().ToString(), MethodBase.GetCurrentMethod().Name, ex.Message, ex.StackTrace);
            }
        }
Example #14
0
 /// <summary>
 /// 设置报警上传回调函数
 /// </summary>
 /// <param name="msgCallback"></param>
 /// <returns></returns>
 public virtual bool SetDVRMessageCallBack(CHCNetSDK.MSGCallBack_V31 msgCallback)
 {
     return(false);
 }