public Dictionary <int, DecoderInfo> GetAllDecoderInfo(ref string errMessage) { /*Database db = DatabaseFactory.CreateDatabase(); * errMessage = ""; * Dictionary<int, DecoderInfo> list = new Dictionary<int, DecoderInfo>(); * try * { * * DataSet ds = DecoderDataAccess.GetAllDecInfo(db); * * DecoderInfo oDecoder; * for (int i = 0; i < ds.Tables[0].Rows.Count; i++) * { * oDecoder = new DecoderInfo(ds.Tables[0].Rows[i]); * list.Add(oDecoder.id, oDecoder); * * } * return list; * * } * catch (Exception ex) * { * errMessage = ex.Message + ex.StackTrace; * logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace); * return null; * }*/ Database db = DatabaseFactory.CreateDatabase(); errMessage = ""; Dictionary <int, DecoderInfo> list = new Dictionary <int, DecoderInfo>(); try { DecoderInfo oDecoderInfo; DataSet ds = DecoderDataAccess.GetAllDecInfo(db); DataSet dsCamera; CameraInfo oCamera; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { oDecoderInfo = new DecoderInfo(ds.Tables[0].Rows[i]); dsCamera = DecoderDataAccess.GetCameraInfoByDecoderId(db, oDecoderInfo.id); //DecoderDataAccess.GetCamInfoByCameraId(db,dsCamera.Tables[0].Rows[i].) oDecoderInfo.ListCameras = new Dictionary <int, CameraInfo>(); foreach (DataRow dr in dsCamera.Tables[0].Rows) { oCamera = new CameraInfo(dr); oDecoderInfo.ListCameras.Add(oCamera.CameraId, oCamera); } list.Add(oDecoderInfo.id, oDecoderInfo); } return(list); } catch (Exception ex) { errMessage = ex.Message + ex.StackTrace; logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace); return(null); } }
public DecoderInfo GetDecoderInfoByDecoderIP(ref string errMessage, string IP) { Database db = DatabaseFactory.CreateDatabase(); errMessage = ""; try { DataSet ds = DecoderDataAccess.GetDecoderInfoByDecoderIP(db, IP); if (ds.Tables[0].Rows.Count == 0) { return(null); } DecoderInfo decoderInfo = new DecoderInfo(ds.Tables[0].Rows[0]); DataSet dsCamera; CameraInfo oCamera; dsCamera = DecoderDataAccess.GetCameraInfoByDecoderId(db, decoderInfo.id); //DecoderDataAccess.GetCamInfoByCameraId(db,dsCamera.Tables[0].Rows[i].) decoderInfo.ListCameras = new Dictionary <int, CameraInfo>(); foreach (DataRow dr in dsCamera.Tables[0].Rows) { oCamera = new CameraInfo(dr); decoderInfo.ListCameras.Add(oCamera.CameraId, oCamera); } return(decoderInfo); } catch (Exception ex) { errMessage = ex.Message + ex.StackTrace; logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace); return(null); } }
public static int Insert(Database db, DecoderInfo oDecoderInfo) { /* StringBuilder sbField = new StringBuilder(); * StringBuilder sbValue = new StringBuilder(); * sbField.Append("INSERT INTO DecoderInfo("); * sbValue.Append("values("); * sbField.Append("id"); * sbValue.AppendFormat("{0}", oDecoderInfo.id); * sbField.Append(",Name"); * sbValue.AppendFormat(",'{0}'", oDecoderInfo.Name); * sbField.Append(",Ip"); * sbValue.AppendFormat(",'{0}'", oDecoderInfo.Ip); * sbField.Append(",Port"); * sbValue.AppendFormat(",{0}", oDecoderInfo.Port); * sbField.Append(",MaxDecodeChannelNo"); * sbValue.AppendFormat(",{0}", oDecoderInfo.MaxDecodeChannelNo); * * string cmdText = sbField.ToString() + " " + sbValue.ToString(); * try * { * // cmdText = cmdText.Replace("\r\n", ""); * return db.ExecuteNonQuery(CommandType.Text, cmdText); * * } * catch (Exception ex) * { * * throw ex; * }*/ StringBuilder sbField = new StringBuilder(); StringBuilder sbValue = new StringBuilder(); sbField.Append("INSERT INTO [DecoderInfo]("); sbValue.Append("values ("); //sbField.Append("[id]"); //sbValue.AppendFormat("'{0}'", oDecoderInfo.id); sbField.Append("[Name]"); sbValue.AppendFormat("'{0}'", oDecoderInfo.Name); sbField.Append(",[Ip]"); sbValue.AppendFormat(",'{0}'", oDecoderInfo.Ip); sbField.Append(",[Port]"); sbValue.AppendFormat(",{0}", oDecoderInfo.Port); sbField.Append(",[MaxDecodeChannelNo])"); sbValue.AppendFormat(",'{0}')", oDecoderInfo.MaxDecodeChannelNo); string cmdText = sbField.ToString() + " " + sbValue.ToString(); try { cmdText = cmdText.Replace("\r\n", ""); return(db.ExecuteNonQuery(CommandType.Text, cmdText)); } catch (Exception ex) { throw ex; } }
/// <summary> /// Gets a list of additionally registered WIC decoders /// </summary> /// <returns></returns> private IEnumerable <DecoderInfo> GetAdditionalDecoders() { var result = new List <DecoderInfo>(); foreach (var codecKey in GetCodecKeys()) { DecoderInfo decoderInfo = new DecoderInfo(); decoderInfo.FriendlyName = Convert.ToString(codecKey.GetValue("FriendlyName", "")); decoderInfo.FileExtensions = Convert.ToString(codecKey.GetValue("FileExtensions", "")); result.Add(decoderInfo); } return(result); }
public DecoderClientConnection(Socket socket) { string errMessage = ""; _socket = socket; Ip = ((IPEndPoint)socket.RemoteEndPoint).Address.ToString(); Port = ((IPEndPoint)socket.RemoteEndPoint).Port; DecoderInfo = DecoderBusiness.Instance.GetDecoderInfoByDecoderIP(ref errMessage, Ip); _networkStream = new NetworkStream(socket); LiveDecoderPacketHandle = new LiveDecoderPacketHandle(); DecoderStateHandle = new DecoderStateHandle(); _handlers = new IPacketHandler[] { LiveDecoderPacketHandle, DecoderStateHandle }; }
public frmDecoder(DecoderInfo decoderInfo) { InitializeComponent(); this.Text = "更新解码器"; simpleButtonOk.TabIndex = 0; this.textEditname.Text = decoderInfo.Name; this.textEditIp.Text = decoderInfo.Ip; this.textEditport.Text = decoderInfo.Port.ToString(); this.textEditmax.Text = decoderInfo.MaxDecodeChannelNo.ToString(); Opt = Util.Operateion.Update; decoderOldName = decoderInfo.Name; InitValidationRules(); }
public int Update(ref string errMessage, DecoderInfo DecoderInfo) { Database db = DatabaseFactory.CreateDatabase(); errMessage = ""; try { return(DecoderDataAccess.Update(db, DecoderInfo)); } catch (Exception ex) { errMessage = ex.Message + ex.StackTrace; logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace); return(-1); } }
/// <summary> /// Gets a list of additionally registered WIC decoders /// </summary> /// <returns></returns> public static IEnumerable <DecoderInfo> GetAdditionalDecoders() { var result = new List <DecoderInfo>(); string baseKeyPath; // If we are a 32 bit process running on a 64 bit operating system, // we find our config in Wow6432Node subkey if (Environment.Is64BitOperatingSystem && !Environment.Is64BitProcess) { baseKeyPath = "Wow6432Node\\CLSID"; } else { baseKeyPath = "CLSID"; } RegistryKey baseKey = Registry.ClassesRoot.OpenSubKey(baseKeyPath, false); if (baseKey != null) { var categoryKey = baseKey.OpenSubKey(WICDecoderCategory + "\\instance", false); if (categoryKey != null) { // Read the guids of the registered decoders var codecGuids = categoryKey.GetSubKeyNames(); foreach (var codecGuid in codecGuids) { // Read the properties of the single registered decoder var codecKey = baseKey.OpenSubKey(codecGuid); if (codecKey != null) { DecoderInfo decoderInfo = new DecoderInfo(); decoderInfo.FriendlyName = Convert.ToString(codecKey.GetValue("FriendlyName", "")); decoderInfo.FileExtensions = Convert.ToString(codecKey.GetValue("FileExtensions", "")); result.Add(decoderInfo); } } } } return(result); }
public static int Update(Database db, DecoderInfo oDecoderInfo) { StringBuilder sb = new StringBuilder(); sb.Append("update DecoderInfo set"); sb.AppendFormat(" Name='{0}'", oDecoderInfo.Name); //sb.AppendFormat(",id='{0}'", oDecoderInfo.id); sb.AppendFormat(",Ip='{0}'", oDecoderInfo.Ip); sb.AppendFormat(",Port={0}", oDecoderInfo.Port); sb.AppendFormat(",MaxDecodeChannelNo={0}", oDecoderInfo.MaxDecodeChannelNo); sb.AppendFormat(" where id={0}", oDecoderInfo.id); string cmdText = sb.ToString(); try { return(db.ExecuteNonQuery(CommandType.Text, cmdText)); } catch (Exception ex) { throw ex; } }
public Dictionary <int, DecoderInfo> GetDecoderInfoByName(ref string errMessage, string Name) { Database db = DatabaseFactory.CreateDatabase(); errMessage = ""; Dictionary <int, DecoderInfo> mylist = new Dictionary <int, DecoderInfo>(); try { DataSet ds = DecoderDataAccess.GetDecoderInfoByName(db, Name); DecoderInfo decoderInfo; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { decoderInfo = new DecoderInfo(ds.Tables[0].Rows[i]); DataSet dsCamera; CameraInfo oCamera; dsCamera = DecoderDataAccess.GetCameraInfoByDecoderId(db, decoderInfo.id); //DecoderDataAccess.GetCamInfoByCameraId(db,dsCamera.Tables[0].Rows[i].) decoderInfo.ListCameras = new Dictionary <int, CameraInfo>(); foreach (DataRow dr in dsCamera.Tables[0].Rows) { oCamera = new CameraInfo(dr); decoderInfo.ListCameras.Add(oCamera.CameraId, oCamera); } mylist.Add(decoderInfo.id, decoderInfo); } return(mylist); } catch (Exception ex) { errMessage = ex.Message + ex.StackTrace; logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace); return(null); } }
private void DecodeValue(byte[] bytes, DecoderInfo decoderInfo) { uint rtn = 0; var bitLength = decoderInfo.BitLength; var bitOffset = decoderInfo.StartBit; var signed = decoderInfo.Signed; var factor = decoderInfo.Factor; //Pass the number of bits over to our rtn value for (var i = 0; i < bitLength; ++i) { var b = bytes[(bitOffset + i) / 8]; if ((b & (1 << (7 - (bitOffset + i) % 8))) > 0) { rtn |= (uint)1 << (bitLength - 1 - i); } } decoderInfo.DecoderValue.Raw = rtn; //byte swap for big endian if (bitLength % 8 == 0 && bitLength > 8) { uint byteSwapped = 0; var swaps = bitLength / 8; for (var i = 0; i < swaps; ++i) { byteSwapped += rtn & 0xFF; rtn = rtn >> 8; if (i < swaps - 1) { byteSwapped = byteSwapped << 8; } } rtn = byteSwapped; } if (signed) { if (bitLength == 8) { decoderInfo.DecoderValue.Value = (sbyte)rtn * factor; } if (bitLength == 16) { decoderInfo.DecoderValue.Value = (short)rtn * factor; } if (bitLength == 32) { decoderInfo.DecoderValue.Value = (int)rtn * factor; } } else { decoderInfo.DecoderValue.Value = rtn * factor; } }
public bool LoadSettings() { var ofd = new OpenFileDialog { Filter = @"*.csv|*.csv", Multiselect = false }; DecoderGroups.Clear(); if (ofd.ShowDialog() != DialogResult.OK) { return(DecoderGroups.Count > 0); } DecoderGroup dg = null; using (var sr = new StreamReader(ofd.FileName)) { while (sr.EndOfStream == false) { var line = sr.ReadLine(); if (line == null) { continue; } var items = line.Split(','); if (items.Length == 6) //New Decode group { if (dg != null) { DecoderGroups.Add(dg); } //"Length,Sequence Number,Source Address,Source PAN ID,Destination PAN ID,Destination Address" dg = new DecoderGroup { Header = new ZigBeeDecoder.ZigBeeHeader { Len = byte.Parse(items[0]), SequenceNum = byte.Parse(items[1]), Src = ushort.Parse(items[2]), Pan = ushort.Parse(items[3]), DestPan = ushort.Parse(items[4]), DestAddr = ushort.Parse(items[5]) } }; } if (items.Length == 9) //new Decode info { //"Name,Start Bit,Bit Length,Start Byte,Byte Length,Signed,Factor,Unit,Notes" var di = new DecoderInfo { Name = items[0], StartBit = int.Parse(items[1]), BitLength = int.Parse(items[2]), StartByte = int.Parse(items[3]), ByteLength = float.Parse(items[4]), Signed = bool.Parse(items[5]), Factor = float.Parse(items[6]), Unit = items[7], Notes = items[8] }; dg?.DecoderInfoList.Add(di); } } DecoderGroups.Add(dg); } return(DecoderGroups.Count > 0); }
private void AddDecoderButton(object sender, EventArgs e) { if (!dxValidationProvider1.Validate()) { return; } //string errMessage = ""; DecoderInfo di = new DecoderInfo(); di.id = Id; di.Name = textEditname.Text; di.Port = int.Parse(textEditport.Text); di.Ip = textEditIp.Text; di.MaxDecodeChannelNo = int.Parse(textEditmax.Text); switch (Opt) { case Util.Operateion.Add: DecoderBusiness.Instance.Insert(ref errMessage, di); OperateLog ol = new OperateLog { HappenTime = DateTime.Now, OperateTypeId = (int)(OperateLogTypeId.DecoderAdd), OperateTypeName = OperateLogTypeName.DecoderAdd, Content = di.ToString(), Id = di.id, OperateUserName = MainForm.CurrentUser.UserName, ClientUserName = MainForm.CurrentUser.UserName, ClientUserId = MainForm.CurrentUser.UserId }; OperateLogBusiness.Instance.Insert(ref errMessage, ol); break; case Util.Operateion.Update: di = DecoderBusiness.Instance.GetDecoderInfoByDecoderId(ref errMessage, Id); di.Name = textEditname.Text; di.Port = int.Parse(textEditport.Text); di.Ip = textEditIp.Text; di.MaxDecodeChannelNo = int.Parse(textEditmax.Text); Id = DecoderBusiness.Instance.Update(ref errMessage, di); OperateLogBusiness.Instance.Insert(ref errMessage, new OperateLog { HappenTime = DateTime.Now, OperateTypeId = (int)(OperateLogTypeId.DecoderUpdate), OperateTypeName = OperateLogTypeName.DecoderUpdate, Content = di.ToString(), Id = di.id, OperateUserName = MainForm.CurrentUser.UserName, ClientUserName = MainForm.CurrentUser.UserName, ClientUserId = MainForm.CurrentUser.UserId }); break; case Util.Operateion.Delete: break; default: break; } Close(); Dispose(); }
public string GetDecoderXMLString(int decoderid) { string ret = "", errMessage = ""; DecoderInfo decoderInfo = GetDecoderInfoByDecoderId(ref errMessage, decoderid); if (decoderInfo != null) { //头,版本,编码信息 XmlDocument doc = new XmlDocument(); XmlNode docNode = doc.CreateXmlDeclaration("1.0", "gb2312", null); doc.AppendChild(docNode); //decoder XmlNode decoderNode = doc.CreateElement("Decoder"); XmlAttribute decoderAttribute = doc.CreateAttribute("id"); decoderAttribute.Value = decoderid.ToString(); decoderNode.Attributes.Append(decoderAttribute); doc.AppendChild(decoderNode); //cameras XmlNode camerasNode = doc.CreateElement("Cameras"); decoderNode.AppendChild(camerasNode); if (decoderInfo.ListCameras != null) { foreach (var VARIABLE in decoderInfo.ListCameras) { //camera XmlNode cameraNode = doc.CreateElement("Camera"); camerasNode.AppendChild(cameraNode); //id XmlElement idNode = doc.CreateElement("id"); idNode.InnerText = VARIABLE.Value.CameraId.ToString(); cameraNode.AppendChild(idNode); //name XmlElement nameNode = doc.CreateElement("Name"); nameNode.InnerText = VARIABLE.Value.Name; cameraNode.AppendChild(nameNode); //获取设备信息 DeviceInfo deviceInfo = DeviceBusiness.Instance.GetDeviceInfoByDeviceId(ref errMessage, VARIABLE.Value.DeviceId); //ip XmlElement ipNode = doc.CreateElement("ip"); ipNode.InnerText = deviceInfo.source; cameraNode.AppendChild(ipNode); //ip XmlElement portNode = doc.CreateElement("port"); portNode.InnerText = deviceInfo.Port.ToString(); cameraNode.AppendChild(portNode); //user XmlElement userNode = doc.CreateElement("username"); userNode.InnerText = deviceInfo.login; cameraNode.AppendChild(userNode); //password XmlElement pwdNode = doc.CreateElement("password"); pwdNode.InnerText = deviceInfo.pwd; cameraNode.AppendChild(pwdNode); //channel XmlElement channelNode = doc.CreateElement("channel"); channelNode.InnerText = VARIABLE.Value.ChannelNo.ToString(); cameraNode.AppendChild(channelNode); //width XmlElement widthNode = doc.CreateElement("width"); widthNode.InnerText = VARIABLE.Value.Width.ToString(); cameraNode.AppendChild(widthNode); //channel XmlElement heightNode = doc.CreateElement("height"); heightNode.InnerText = VARIABLE.Value.Height.ToString(); cameraNode.AppendChild(heightNode); } } ret = doc.InnerXml; } return(ret); }