Ejemplo n.º 1
0
        public bool Add(CameraWindow camwin, DeviceInfo deviceInfo, CameraInfo camera)
        {
            // create video source

            IVideoSource videoSource = DeviceBusiness.Instance.CreateVideoSource(deviceInfo.ProviderName);
            if (videoSource == null)
            {
                return false;
            }
            DeviceDriver device = new DeviceDriver(videoSource);

            if (!RunningDeviceList.ContainsKey(deviceInfo.DeviceId))
            {
                deviceInfo.ServiceID = -1;
                device.Init(ref deviceInfo);
                RunningDeviceList.Add(deviceInfo.DeviceId, deviceInfo);
                RunningDriverList.Add(camera.CameraId, device);

            }
            else
            {
                deviceInfo = RunningDeviceList[deviceInfo.DeviceId];
                device.Init(ref deviceInfo);

                RunningDriverList.Add(camera.CameraId, device);
            }

            device.Start(ref camera);
               // camwin.Camera = device;
            return true;
        }
Ejemplo n.º 2
0
        public Dictionary<int, GroupInfo> GetAllGroupInfos(ref string errMessage)
        {
            Database db = DatabaseFactory.CreateDatabase();
            errMessage = "";
            Dictionary<int, GroupInfo> list = new Dictionary<int, GroupInfo>();
            try
            {
                GroupInfo oGroupInfo;
                DeviceInfo oDevice;
                DataSet ds= GroupDataAccess.GetAllGroupInfo(db);
                DataSet dsDevice;
                DataSet dsCamera;
                CameraInfo oCamera;
                DataSet dsAlarm;
                AlarmInfo oAlarm;
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    oGroupInfo = new GroupInfo(ds.Tables[0].Rows[i]);
                    dsDevice = DeviceDataAccess.GetDeviceInfoByGroupId(db, oGroupInfo.GroupID);
                    oGroupInfo.ListDevice = new Dictionary<int, DeviceInfo>();
                    foreach (DataRow dr in dsDevice.Tables[0].Rows)
                    {
                        oDevice = new DeviceInfo(dr);
                        oDevice.ListCamera = new Dictionary<int, CameraInfo>();
                        dsCamera = CameraDataAccess.GetCamInfoByDeviceId(db, oDevice.DeviceId);
                        foreach (DataRow drCam in dsCamera.Tables[0].Rows)
                        {
                            oCamera=new CameraInfo(drCam);
                            oDevice.ListCamera.Add(oCamera.CameraId, oCamera);
                        }

                        oDevice.ListAlarm = new Dictionary<int, AlarmInfo>();
                        dsAlarm = AlarmDataAccess.GetAlarmInfoByDeviceId(db, oDevice.DeviceId);
                        foreach (DataRow drAlarm in dsAlarm.Tables[0].Rows)
                        {
                            oAlarm = new AlarmInfo(drAlarm);
                            oDevice.ListAlarm.Add(oAlarm.AlarmId, oAlarm);
                        }

                        oGroupInfo.ListDevice.Add(oDevice.DeviceId, oDevice);

                    }
                    list.Add(oGroupInfo.GroupID, oGroupInfo);
                }
                return list;

            }
            catch (Exception ex)
            {
                errMessage = ex.Message + ex.StackTrace;
                logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace);
                return null;
            }
        }
 public object GetConfiguration()
 {
     DeviceInfo config = new DeviceInfo();
     config.Name = txtName.Text;
     config.source = urlBox.Text;
     config.login = loginBox.Text;
     config.pwd = passwordBox.Text;
     config.Port = ushort.Parse(txtPort.Text);
     config.VideoCount = int.Parse(txtVideoCount.Text);
     config.ViddeoStartNo = int.Parse(txtViddeoStartNo.Text);
     config.WarningOutputCount = int.Parse(txtWarningOutputCount.Text);
     config.WarningInputNo = int.Parse(txtWarningInputNo.Text);
     config.WarningCount = int.Parse(txtWarningCount.Text);
     config.FileExtName = Util.VIDEOFILEEXTNAME;
     return (object)config;
 }
        public void Init(ref DeviceInfo deviceInfo)
        {
            try
            {
                ErrMessage = "";
                IsValidDevice = false;
                int devicenumber = 0;
                bool bRtn = HCNetSDK.NET_DVR_Init();  //初始化SDK
                if (!bRtn)
                {
                    return;
                }
                NET_DVR_DEVICEINFO_V30 RESULT;  //得到设备参数的结构体
                int serviceId = HCNetSDK.NET_DVR_Login_V30(deviceInfo.source, (ushort)deviceInfo.Port, deviceInfo.login, deviceInfo.pwd, out RESULT);
                ServiceId = serviceId;
                HikPlayer.PlayM4_InitDDrawDevice();
                deviceInfo.ServiceID = serviceId;
                if (serviceId > -1)
                {
                    deviceInfo.IsReady = true;
                    IsValidDevice = true;
                }
                else
                {
                    deviceInfo.IsReady = false;
                    IsValidDevice = false;
                }
                IsValidEncodeCard= HCNetSDK.NET_DVR_InitDevice_Card(ref devicenumber);
                DecodeCardNum = devicenumber;
                if (devicenumber > 0)
                {
                   IsValidEncodeCard= HCNetSDK.NET_DVR_InitDDraw_Card(deviceInfo.Handle, 0xffffff);
                }

                _deviceInfo = deviceInfo;
            }
            catch (Exception ex)
            {
                ErrMessage = ex.Message;
            }
        }
 public HikVideoServerCameraDriver(DeviceInfo deviceInfo)
 {
     log.Debug("start");
     _deviceInfo = deviceInfo;
 }
Ejemplo n.º 6
0
        public static int Update(Database db, DeviceInfo oDeviceInfo)
        {
            StringBuilder sbValue = new StringBuilder();
            sbValue.Append("update DeviceInfo set ");
            sbValue.AppendFormat("Name='{0}'", oDeviceInfo.Name);
            sbValue.AppendFormat(",source='{0}'", oDeviceInfo.source);
            sbValue.AppendFormat(",login='******'", oDeviceInfo.login);
            sbValue.AppendFormat(",pwd='{0}'", oDeviceInfo.pwd);
            sbValue.AppendFormat(",Port={0}", oDeviceInfo.Port);
            sbValue.AppendFormat(",VideoCount={0}", oDeviceInfo.VideoCount);
            sbValue.AppendFormat(",WarningOutputCount={0}", oDeviceInfo.WarningOutputCount);
            sbValue.AppendFormat(",WarningInputNo={0}", oDeviceInfo.WarningInputNo);
            sbValue.AppendFormat(",WarningCount={0}", oDeviceInfo.WarningCount);
            sbValue.AppendFormat(",FileExtName='{0}'", oDeviceInfo.FileExtName);
            sbValue.AppendFormat(",Remark='{0}'", oDeviceInfo.Remark);
            sbValue.AppendFormat(",ProviderName='{0}'", oDeviceInfo.ProviderName);
            sbValue.AppendFormat(",GroupId={0}", oDeviceInfo.GroupId);

            sbValue.AppendFormat(" where DeviceId={0}", oDeviceInfo.DeviceId);
            string cmdText = sbValue.ToString();
            try
            {
                return db.ExecuteNonQuery(CommandType.Text, cmdText);

            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
Ejemplo n.º 7
0
        public static int Insert(Database db, DeviceInfo oDeviceInfo)
        {
            StringBuilder sbField = new StringBuilder();
            StringBuilder sbValue = new StringBuilder();
            sbField.Append("INSERT INTO  DeviceInfo(");
            sbValue.Append("values(");
            sbField.Append("Name");
            sbValue.AppendFormat("'{0}'", oDeviceInfo.Name);
            sbField.Append(",source");
            sbValue.AppendFormat(",'{0}'", oDeviceInfo.source);
            sbField.Append(",login");
            sbValue.AppendFormat(",'{0}'", oDeviceInfo.login);
            sbField.Append(",pwd");
            sbValue.AppendFormat(",'{0}'", oDeviceInfo.pwd);
            sbField.Append(",Port");
            sbValue.AppendFormat(",{0}", oDeviceInfo.Port);
            sbField.Append(",VideoCount");
            sbValue.AppendFormat(",{0}", oDeviceInfo.VideoCount);
            sbField.Append(",WarningOutputCount");
            sbValue.AppendFormat(",{0}", oDeviceInfo.WarningOutputCount);
            sbField.Append(",WarningInputNo");
            sbValue.AppendFormat(",{0}", oDeviceInfo.WarningInputNo);
            sbField.Append(",Description");
            sbValue.AppendFormat(",'{0}'", oDeviceInfo.Description);
            sbField.Append(",FileExtName");
            sbValue.AppendFormat(",'{0}'", oDeviceInfo.FileExtName);
            sbField.Append(",Remark");
            sbValue.AppendFormat(",'{0}'", oDeviceInfo.Remark);
            sbField.Append(",ProviderName");
            sbValue.AppendFormat(",'{0}'", oDeviceInfo.ProviderName);
            sbField.Append(",GroupId");
            sbValue.AppendFormat(",{0}", oDeviceInfo.GroupId);
            sbField.Append(",AddBy");
            sbValue.AppendFormat(",'{0}'", oDeviceInfo.AddBy);
            sbField.Append(",AddTime)");
            sbValue.AppendFormat(",'{0}')", oDeviceInfo.AddTime);
            string cmdText = sbField.ToString() + " " + sbValue.ToString() ;

            try
            {
                cmdText = cmdText.Replace("\r\n", "");
                return db.ExecuteNonQuery(CommandType.Text, cmdText);

            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
Ejemplo n.º 8
0
        public int Update(ref string errMessage, DeviceInfo oDeviceInfo)
        {
            Database db = DatabaseFactory.CreateDatabase();
            errMessage = "";
            try
            {
                return DeviceDataAccess.Update(db, oDeviceInfo);

            }
            catch (Exception ex)
            {
                errMessage = ex.Message + ex.StackTrace;
                logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace);
                return -1;
            }
        }
Ejemplo n.º 9
0
        public int Update(ref string errMessage, List<CameraInfo> listCam, DeviceInfo oDeviceInfo)
        {
            Database db = DatabaseFactory.CreateDatabase();
            errMessage = "";
            int iRtn = -1;
            try
            {
                CameraDataAccess.DeleteByDeviceId(db, oDeviceInfo.DeviceId);
                foreach (CameraInfo item in listCam)
                {
                    CameraDataAccess.Insert(db, item);
                }
                iRtn = DeviceDataAccess.Update(db, oDeviceInfo);
                return iRtn;

            }
            catch (Exception ex)
            {
                errMessage = ex.Message + ex.StackTrace;
                logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace);
                return -1;
            }
        }
Ejemplo n.º 10
0
        public int Insert(ref string errMessage, List<CameraInfo> listCam, DeviceInfo oDeviceInfo)
        {
            Database db = DatabaseFactory.CreateDatabase();
            errMessage = "";
            int iDeviceId = 0;
            int iRtn = 0;
            try
            {
                // using (TransactionScope transaction = new TransactionScope())
                //{
                iRtn = DeviceDataAccess.Insert(db, oDeviceInfo);
                iDeviceId = DeviceDataAccess.GetMaxDeviceId(db);
                foreach (CameraInfo item in listCam)
                {
                    item.DeviceId = iDeviceId;
                    CameraDataAccess.Insert(db, item);
                }
                //  transaction.Complete();
                // }
                return iRtn;

            }
            catch (Exception ex)
            {
                errMessage = ex.Message + ex.StackTrace;
                logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace);
                return -1;
            }
        }
Ejemplo n.º 11
0
        public DeviceInfo GetDeviceInfoByDeviceName(ref string errMessage, string deviceName)
        {
            Database db = DatabaseFactory.CreateDatabase();
            errMessage = "";
            try
            {
                DataSet ds = DeviceDataAccess.GetDeviceInfoByDeviceName(db, deviceName);
                if (ds.Tables[0].Rows.Count == 0)
                {
                    return null;
                }
                DataSet dsCamera;
                CameraInfo oCamera;

                DeviceInfo oDeviceInfo = new DeviceInfo(ds.Tables[0].Rows[0]);
                oDeviceInfo.ListCamera = new Dictionary<int, CameraInfo>();
                dsCamera = CameraDataAccess.GetCamInfoByDeviceId(db, oDeviceInfo.DeviceId);
                foreach (DataRow drCam in dsCamera.Tables[0].Rows)
                {
                    oCamera = new CameraInfo(drCam);
                    oDeviceInfo.ListCamera.Add(oCamera.CameraId, oCamera);
                }
                oDeviceInfo.ListAlarm = new Dictionary<int, AlarmInfo>();
                DataSet dsAlarm;
                AlarmInfo oAlarm;
                dsAlarm = AlarmDataAccess.GetAlarmInfoByDeviceId(db, oDeviceInfo.DeviceId);
                foreach (DataRow drAlarm in dsAlarm.Tables[0].Rows)
                {
                    oAlarm = new AlarmInfo(drAlarm);
                    oDeviceInfo.ListAlarm.Add(oAlarm.AlarmId, oAlarm);
                }

                return oDeviceInfo;

            }
            catch (Exception ex)
            {
                errMessage = ex.Message + ex.StackTrace;
                logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace);
                return null;
            }
        }
Ejemplo n.º 12
0
        public bool Init(ref DeviceInfo deviceInfo)
        {
            bool bRtn = false;
            _deviceInfo = deviceInfo;
            if (_deviceInfo.DeviceRunningStatus)
            {
                return true;
            }
            if (_videoSource != null)
            {
                _videoSource.Init(ref deviceInfo);
                bRtn = true;

            }
            return bRtn;
        }
Ejemplo n.º 13
0
 public void Init(ref DeviceInfo deviceInfo)
 {
     deviceInfo.DeviceRunningStatus = true;
     _deviceInfo = deviceInfo;
 }
Ejemplo n.º 14
0
        public void Init(ref DeviceInfo deviceInfo)
        {
            if ((!deviceInfo.IsReady) || deviceInfo.ServiceID<0)
            {
                bool bRtn = HCNetSDK.NET_DVR_Init();  //��ʼ��SDK

                NET_DVR_DEVICEINFO_V30 RESULT;  //�õ��豸�����Ľṹ��
                int serviceId = HCNetSDK.NET_DVR_Login_V30(deviceInfo.source,(ushort) deviceInfo.Port, deviceInfo.login, deviceInfo.pwd, out RESULT);
                deviceInfo.ServiceID = serviceId;
                if (serviceId > -1)
                {
                    deviceInfo.IsReady = true;
                }
                else
                {
                    deviceInfo.IsReady = false;
                }
                HikPlayer.PlayM4_InitDDrawDevice();

            }
            _deviceInfo = deviceInfo;
        }
Ejemplo n.º 15
0
 public object GetConfiguration()
 {
     DeviceInfo config = new DeviceInfo();
     config.Name = _DeviceName;
     config.source = serverBox.Text;
     config.login = loginBox.Text;
     config.pwd = passwordBox.Text;
     config.IsCamera = 1;
     _listCam = new List<CameraInfo>();
     CameraInfo ocamera = new CameraInfo();
     ocamera.Name = _DeviceName;
     ocamera.resolution = sizeCombo.Text;
     ocamera.StreamType = 0;
     ocamera.quality = qualityCombo.Text;
     ocamera.frameInterval = frameIntervals[rateCombo.SelectedIndex];
     ocamera.Oupputpath = txtOutputpath.Text;
     ocamera.IsDetect = ckIsDetect.Checked;
     ocamera.IsValid = ckIsValid.Checked;
     ocamera.ConnURL = txtConnUrl.Text;
     ocamera.AddressID = int.Parse(txtAddressId.Text);
     _listCam.Add(ocamera);
     return (object)config;
 }