public static void cbAutoReconnect(int lLoginID, string pchDVRIP, int nDVRPort, IntPtr dwUser) { ProtocolDHAlarm instrument = listInstrument.Find(x => x.device.ip == pchDVRIP); if (instrument != null) { CLIENT_StartListenEx(lLoginID); instrument.OnConnectEH(instrument.device, 0); } }
public static void cbDisConnectFunc(int lLoginID, string pchDVRIP, int nDVRPort, IntPtr dwUser) { ProtocolDHAlarm instrument = listInstrument.Find(x => x.device.ip == pchDVRIP); if (instrument != null) { CLIENT_StopListen(lLoginID); instrument.OnConnectEH(instrument.device, 1); } }
public static ProtocolDriver CreateInstance(Device device) { ProtocolDriver driver = null; switch (device.key) { case DEVICE_KEY.FBG: driver = new ProtocolFbg(device); break; case DEVICE_KEY.DVS: case DEVICE_KEY.DTS: driver = new ProtocolDVS(device); break; case DEVICE_KEY.INANTER: driver = new ProtocolInanter(device); break; case DEVICE_KEY.ES: driver = new ProtocolEs(device); break; case DEVICE_KEY.HK: driver = new ProtocolHK(device); break; case DEVICE_KEY.MOXA_2K: driver = new ProtocolMoxa(device); break; case DEVICE_KEY.JDEX: driver = new ProtocolJDExpand(device); break; case DEVICE_KEY.VIDEO: driver = new ProtocolVideo(device); break; case DEVICE_KEY.HKAI: driver = new ProtocolHKAI(device); break; case DEVICE_KEY.DHAlarm: driver = new ProtocolDHAlarm(device); break; default: break; } return(driver); }
public static bool cbMessageCallBack(int lCommand, int lLoginID, IntPtr pBuf, uint dwBufLen, string pchDVRIP, int nDVRPort, IntPtr dwUser) { ProtocolDHAlarm instrument = listInstrument.Find(x => x.device.ip == pchDVRIP); if (instrument == null) { return(true); } switch (lCommand) { case 0x2175: //DH_ALARM_ALARM_EX2 break; case 0x3183: ALARM_INPUT_SOURCE_SIGNAL_INFO alarmInput = (ALARM_INPUT_SOURCE_SIGNAL_INFO)Marshal.PtrToStructure(pBuf, typeof(ALARM_INPUT_SOURCE_SIGNAL_INFO)); Sensor sensor = instrument.FindSensorBySID(1, alarmInput.nChannelID); if (sensor != null) { if (alarmInput.nAction == 0) { STATUS_INFO old = instrument.listAlarm.Find(x => x.id == sensor.id); if (old == null) { STATUS_INFO info = new STATUS_INFO(); info.no = (int)sensor.id; info.id = sensor.id; info.name = sensor.name; info.status = STATUS_TYPE.ALARM; info.time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); info.type = MONITOR_TYPE.io; info.confidence = 100; instrument.OnObjectStatusEH(info); instrument.listAlarm.Add(info); } } else if (alarmInput.nAction == 1) { STATUS_INFO old = instrument.listAlarm.Find(x => x.id == sensor.id); if (old != null) { instrument.listAlarm.Remove(old); } } } break; /* * case 0x3195: * ALARM_MODULE_LOST_INFO lostInfo = (ALARM_MODULE_LOST_INFO)Marshal.PtrToStructure(pBuf, typeof(ALARM_MODULE_LOST_INFO)); * for (int i = 0; i < lostInfo.nAddr; i++) * { * Sensor sensorError = instrument.FindSensorBySID(1, lostInfo.anAddr[i]); * if (sensorError != null) * { * if (lostInfo.bOnline) * { * ERROR_INFO old = instrument.listError.Find(x => x.id == sensorError.id); * if (old != null) * { * ERROR_INFO info = new ERROR_INFO(); * info.id = sensorError.id; * info.name = sensorError.name; * info.status = STATUS_TYPE.NORMAL; * info.starttime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); * info.type = OBJECT_TYPE.sensor; * instrument.OnObjectErrorEH(info); * instrument.listError.Remove(old); * } * } * else * { * ERROR_INFO old = instrument.listError.Find(x => x.id == sensorError.id); * if (old == null) * { * ERROR_INFO info = new ERROR_INFO(); * info.id = sensorError.id; * info.name = sensorError.name; * info.status = STATUS_TYPE.ERROR; * info.starttime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); * info.type = OBJECT_TYPE.sensor; * instrument.OnObjectErrorEH(info); * instrument.listError.Add(info); * } * } * } * } * break; */ } return(true); }