public static void StartRefreshThread(bool b_runasservice) { if (DBCacheEventProcess.dbcep_instance == null) { InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_Device", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_Device", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_Rack", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_Rack", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_ZONE", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_ZONE", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_BackupTask", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_BackupTask", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_User", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_User", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_GroupTask", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_GroupTask", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_Group", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_Group", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_Event", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_Event", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_Smtp", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_Smtp", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_SystemParameter", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_SystemParameter", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_DeviceVoltage", false); InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_DeviceVoltage", false); DBCacheEventProcess.dbcep_instance = new DBCacheEventProcess(); DBCacheEventProcess.dbcep_instance.run_as_service = b_runasservice; DBCacheEventProcess.dbcep_instance.Start(); } }
private void WorkThread(object state) { while (this._stopping == 0) { int num = WaitHandle.WaitAny(this._waitHandles, 500); if (num == 0) { break; } if (num == 1) { bool flag = false; if (this.run_as_service) { if (InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_BackupTask", false)) { flag = true; DBCacheStatus.BackupTask = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_Service_BackupTask", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_Device", false)) { flag = true; DBCacheStatus.Device = true; DBCacheStatus.Group = true; DBCacheStatus.ServiceRefreshFlag = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_Service_Device", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_DeviceVoltage", false)) { flag = true; DBCacheStatus.DeviceVoltage = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_Service_DeviceVoltage", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_Event", false)) { flag = true; DBCacheStatus.Event = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_Service_Event", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_Group", false)) { flag = true; DBCacheStatus.Group = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_Service_Group", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_GroupTask", false)) { flag = true; DBCacheStatus.GroupTask = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_Service_GroupTask", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_Rack", false)) { flag = true; DBCacheStatus.Rack = true; DBCacheStatus.Group = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_Service_Rack", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_Smtp", false)) { flag = true; DBCacheStatus.Smtp = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_Service_Smtp", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_SystemParameter", false)) { flag = true; DBCacheStatus.SystemParameter = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_Service_SystemParameter", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_User", false)) { flag = true; DBCacheStatus.User = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_Service_User", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_Service_ZONE", false)) { flag = true; DBCacheStatus.ZONE = true; DBCacheStatus.Group = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_Service_ZONE", false); } } else { if (InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_BackupTask", false)) { flag = true; DBCacheStatus.BackupTask = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_AP_BackupTask", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_Device", false)) { flag = true; DBCacheStatus.Device = true; DBCacheStatus.Group = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_AP_Device", false); DeviceInfo.SetRefreshFlag(1); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_DeviceVoltage", false)) { flag = true; DBCacheStatus.DeviceVoltage = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_AP_DeviceVoltage", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_Event", false)) { flag = true; DBCacheStatus.Event = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_AP_Event", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_Group", false)) { flag = true; DBCacheStatus.Group = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_AP_Group", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_GroupTask", false)) { flag = true; DBCacheStatus.GroupTask = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_AP_GroupTask", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_Rack", false)) { flag = true; DBCacheStatus.Rack = true; DBCacheStatus.Group = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_AP_Rack", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_Smtp", false)) { flag = true; DBCacheStatus.Smtp = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_AP_Smtp", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_SystemParameter", false)) { flag = true; DBCacheStatus.SystemParameter = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_AP_SystemParameter", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_User", false)) { flag = true; DBCacheStatus.User = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_AP_User", false); } if (InterProcessEvent.getGlobalEvent("DBSyncEventName_AP_ZONE", false)) { flag = true; DBCacheStatus.ZONE = true; DBCacheStatus.Group = true; InterProcessEvent.setGlobalEvent("DBSyncEventName_AP_ZONE", false); } } if (flag) { DBCacheStatus._dbSyncEvent.Reset(); } else { Thread.Sleep(500); } } } DebugCenter.GetInstance().appendToFile("[" + this._threadName + "] thread end"); this._stoppedEvent.Set(); }