// 删除节点配置信息 public ActionResult Delete(string Mac) { ADevice device = new ADevice(); var rs = device.select(Mac); if (rs != null) { device.delete(Mac); if (device.select(Mac) == null) { return(Content(JsonConvert.SerializeObject(new { code = 1, des = "删除成功", }))); } else { return(Content(JsonConvert.SerializeObject(new { code = 0, des = "删除失败", }))); } } else { return(Content(JsonConvert.SerializeObject(new { code = -1, des = "不存在此节点", }))); } }
// 修改节点配置信息 public ActionResult Update(equipment_information node) { ADevice device = new ADevice(); device.update(node); return(Content(JsonConvert.SerializeObject(new { code = 1, des = "修改成功" }))); }
/// <summary> /// Adds a device to specified slot index. INDEX MUST BE 1 - 16. /// </summary> /// <param name="device"></param> /// <param name="index"></param> public void AddDevice(ADevice device, ushort index) { if (index == 0 || index > 16) { return; } if (m_Devices[index - 1] != null) { m_Devices[index - 1].Dispose(); m_Devices[index - 1] = null; } m_Devices[index - 1] = device; foreach (Segment segment in m_References) { if (((segment.Reference & MemoryReferenceInfo.ReferenceType) == MemoryReferenceInfo.Device) && ((segment.Reference & MemoryReferenceInfo.DeviceIndex) == (MemoryReferenceInfo)index)) { GetDeviceMemoryReference(segment, index); } } }
// =================================================================================================== // Device Functions // =================================================================================================== internal void Device_RaiseIRQ(ADevice device) { int device_index = -1; for (int i = 0; i < m_Devices.Length; i++) { if (m_Devices[i] == device) { device_index = i + 1; } } if (device_index == -1) { // device raising irq does not exist on bus - should never occur } else { if (!m_DevicesRaisingIRQ.Contains((ushort)device_index)) { m_DevicesRaisingIRQ.Add((ushort)device_index); } } }
// 按节点查询Type public ActionResult ShowTypeByMac(string mac) { ADevice device = new ADevice(); var rs = device.returnType(mac); if (rs != null) { return(Content(JsonConvert.SerializeObject(new { code = 1, des = "查询成功", data = rs, }))); } else { return(Content(JsonConvert.SerializeObject(new { code = 0, des = "查询失败", }))); } }
// 显示全部节点配置 public ActionResult ShowAll() { ADevice device = new ADevice(); var rs = device.select_all(); if (rs != null) { return(Content(JsonConvert.SerializeObject(new { code = 1, des = "显示成功", data = rs, }))); } else { return(Content(JsonConvert.SerializeObject(new { code = 0, des = "显示失败", }))); } }
// 添加节点配置信息 public ActionResult Add(equipment_information node) { ADevice device = new ADevice(); var rs = device.select(node.MAC); // 本来没有该节点 if (rs == null) { device.insert(node); if (device.select(node.MAC) != null) { return(Content(JsonConvert.SerializeObject(new { code = 1, des = "添加成功", }))); } else { return(Content(JsonConvert.SerializeObject(new { code = 0, des = "添加失败,未添加到数据库" }))); } } else // 本来有该节点 { return(Content(JsonConvert.SerializeObject(new { code = -1, des = "添加失败,系统已有该节点", }))); } }
/// <summary> /// Adds a device to specified slot index. INDEX MUST BE 1 - 16. /// </summary> /// <param name="device"></param> /// <param name="index"></param> public void AddDevice(ADevice device, ushort index) { if (index == 0 || index > 16) return; if (m_Devices[index - 1] != null) { m_Devices[index - 1].Dispose(); m_Devices[index - 1] = null; } m_Devices[index - 1] = device; foreach (Segment segment in m_References) { if (((segment.Reference & MemoryReferenceInfo.ReferenceType) == MemoryReferenceInfo.Device) && ((segment.Reference & MemoryReferenceInfo.DeviceIndex) == (MemoryReferenceInfo)index)) { GetDeviceMemoryReference(segment, index); } } }
// =================================================================================================== // Device Functions // =================================================================================================== internal void Device_RaiseIRQ(ADevice device) { int device_index = -1; for (int i = 0; i < m_Devices.Length; i++) if (m_Devices[i] == device) device_index = i + 1; if (device_index == -1) { // device raising irq does not exist on bus - should never occur } else { if (!m_DevicesRaisingIRQ.Contains((ushort)device_index)) m_DevicesRaisingIRQ.Add((ushort)device_index); } }