Example #1
0
        public static OnvifMonitor InitOnvifMonitorByIpAddrWhenNotInit(string ipAddr, out ResponseStruct rs)
        {
            if (Common.OnvifManagers != null)
            {
                OnvifInstance ovi = Common.OnvifManagers.FindLast(x => x.IpAddr.Trim().Equals(ipAddr.Trim())) !;
                if (ovi != null)
                {
                    if (ovi.OnvifMonitor == null)
                    {
                        ovi.OnvifMonitor = new OnvifMonitor(ovi.IpAddr, ovi.Username !, ovi.Password !);
                        ovi.OnvifMonitor.InitMonitor().Wait();
                        return(GetOnvifMonitor(ipAddr, out rs));
                    }

                    return(GetOnvifMonitor(ipAddr, out rs));
                }

                rs = new ResponseStruct()
                {
                    Code    = ErrorNumber.OnvifMonitorNotInit,
                    Message = ErrorMessage.ErrorDic ![ErrorNumber.OnvifMonitorNotInit],
Example #2
0
        /// <summary>
        /// 载入onvif设备配置
        /// </summary>
        public static bool LoadOnvifMonitors()
        {
            try
            {
                DirectoryInfo dir = new DirectoryInfo(WorkPath);
                OnvifManagers.Clear();
                foreach (FileInfo file in dir.GetFiles())
                {
                    if (file.Extension.Trim().ToLower().Equals(".oconf")) //找到配置文件
                    {
                        List <OnvifMonitorStruct> onvifList =
                            JsonHelper.FromJson <List <OnvifMonitorStruct> >(File.ReadAllText(file.FullName));
                        if (onvifList != null && onvifList.Count > 0)
                        {
                            if (OnvifManagers == null)
                            {
                                OnvifManagers = new List <OnvifInstance>();
                            }
                            foreach (var ov in onvifList)
                            {
                                OnvifInstance oi = new OnvifInstance();
                                oi.Password   = ov.Password;
                                oi.Username   = ov.Username;
                                oi.ConfigPath = file.FullName;
                                oi.IpAddr     = ov.Host !;
                                OnvifManagers.Add(oi);
                            }
                        }
                    }
                }

                LogWriter.WriteLog("Onvif配置文件加载成功...");
                return(true);
            }
            catch (Exception ex)
            {
                LogWriter.WriteLog("Onvif配置文件加载失败...", ex.Message + "\r\n" + ex.StackTrace, ConsoleColor.Yellow);
                return(false);
            }
        }