/// <summary> /// Handles Messages sent from a host sub-engine to its clients /// </summary> /// <param name="Command"></param> /// <param name="pMessage"></param> public override void HandleMessage(ICDEThing sender, object pIncoming) { if (!(pIncoming is TheProcessMessage pMsg)) { return; } try { string[] cmd = pMsg.Message.TXT.Split(':'); switch (cmd[0]) //string 2 cases { case "CDE_INITIALIZED": MyBaseEngine.SetInitialized(pMsg.Message); return; case "GET_NODECPUINFO": if (MyServiceHealth != null) { //MyServiceHealth.SendCPUInfo(pMsg.Message.GetOriginator()); MyServiceHealth.SendCPUInfo(pMsg.Message); } break; case "GET_NODEISMHEALTH": if (MyServiceHealth != null) { //MyServiceHealth.SendHealthInfo(pMsg.Message.GetOriginator()); MyServiceHealth.SendHealthInfo(pMsg.Message); } break; case "REFRESH_DASH": MyPCVitalsDashboard.Reload(pMsg, true); break; default: break; } } catch (Exception e) { TheBaseAssets.MySYSLOG.WriteToLog(8032, TSM.L(eDEBUG_LEVELS.ESSENTIALS) ? null : new TSM(MyBaseEngine.GetEngineName(), "ProcessServiceMessage Error", eMsgLevel.l1_Error, e.ToString())); } }
void sinkFileReceived(ICDEThing pThing, object pFileName) { TheProcessMessage pMsg = pFileName as TheProcessMessage; if (pMsg?.Message == null) { return; } try { string tGuid = $"THH{Guid.NewGuid()}"; //File.Copy(TheCommonUtils.cdeFixupFileName(pMsg.Message.TXT), TheCommonUtils.cdeFixupFileName($"/cache/{tGuid}")); CreateTHHUx(tGuid, TheCommonUtils.cdeFixupFileName(pMsg.Message.TXT)); TheCommCore.PublishToOriginator(pMsg.Message, new TSM(eEngineName.NMIService, "NMI_TOAST", string.Format("KPI File ({0}) received - Creating UX", pMsg.Message.TXT))); MyPCVitalsDashboard.Reload(pMsg, true); } catch (Exception) { TheCommCore.PublishToOriginator(pMsg.Message, new TSM(eEngineName.NMIService, "NMI_ERROR", $"KPI File ({pMsg.Message.TXT}) received but creating UX failed!")); } }