/// <summary> /// 刷新有变化的执行器 /// </summary> /// <param name="remoteRunnerInfo"></param> /// <returns></returns> public bool RefreshRunner(RemoteRunnerInfo remoteRunnerInfo) { bool isAllLegal = true; if (remoteRunnerInfo == null) { return(false); } if (remoteRunnerInfo.RunnerStateList == null) { return(false); } if (remoteRunnerInfo.RunnerStateList.Length > 0) { this.BeginUpdate(); foreach (RunnerState tempRunnerState in remoteRunnerInfo.RunnerStateList) { if (tempRunnerState != null) { isAllLegal = false; } if (!UpdataRunner(tempRunnerState)) { isAllLegal = false; } } this.EndUpdate(); } return(isAllLegal); }
/// <summary> /// 刷新全部执行器 /// </summary> /// <param name="remoteRunnerInfo"></param> /// <returns></returns> public bool RefreshAllRunner(RemoteRunnerInfo remoteRunnerInfo) { if (remoteRunnerInfo == null) { return(false); } if (remoteRunnerInfo.RunnerStateList == null) { return(false); } if (remoteRunnerInfo.RunnerStateList.Length > 0) { this.BeginUpdate(); ClearAllRunner(); foreach (RunnerState tempRunnerState in remoteRunnerInfo.RunnerStateList) { if (tempRunnerState == null) { ClearAllRunner(); return(false); } AddRunner(tempRunnerState); } this.EndUpdate(); } return(true); }
public void ReportState(RemoteRunnerInfo remoteRunnerInfo) { if (OnRunnerStateChange != null) { this.OnRunnerStateChange(this, remoteRunnerInfo); } }
/// <summary> /// 获取当前Client所有Runner状态(提供内部使用,不会捕捉错误) /// </summary> private void GetAllRunnerInforEx() { RemoteRunnerInfo nowRemoteRunnerInfo = executeServiceClient.GetAllRunnerSate(); if (nowRemoteRunnerInfo != null) { PutAllRunnerInfor(nowRemoteRunnerInfo); } }
public void UpdataRemoteRunnerView(RemoteRunnerInfo remoteRunnerInfo) { if (this.InvokeRequired) { this.Invoke(new Action <RemoteRunnerInfo>(UpdataRemoteRunnerView), remoteRunnerInfo); } else { RemoteRunnerView.RefreshRunner(remoteRunnerInfo); } }
void remoteClient_OnRunnerStateChange(RemoteClient sender, RemoteRunnerInfo remoteRunnerInfo) { if (this.TreeControl.InvokeRequired) { this.TreeControl.Invoke(new Func <RemoteRunnerInfo, bool>(RefreshRunner), remoteRunnerInfo); } else { RefreshRunner(remoteRunnerInfo); } }
/// <summary> /// 报告当前Client所有Runner状态 /// </summary> /// <param name="remoteRunnerInfo"></param> private void PutAllRunnerInfor(RemoteRunnerInfo remoteRunnerInfo) { if (OnPutAllRunnerInfor != null) { this.OnPutAllRunnerInfor(this, remoteRunnerInfo); } if (showWindow != null) { showWindow.RefreshRemoteRunnerView(remoteRunnerInfo); } }
/// <summary> /// 获取当前Client所有Runner状态 /// </summary> public void GetAllRunnerInfor() { if (ExecuteServiceClientState == CommunicationState.Opened) { try { RemoteRunnerInfo nowRemoteRunnerInfo = executeServiceClient.GetAllRunnerSate(); if (nowRemoteRunnerInfo != null) { PutAllRunnerInfor(nowRemoteRunnerInfo); } } catch (Exception ex) { SetClientErrorInfo(ex.Message); } } else { SetClientErrorInfo("连接未打开"); } }
/// <summary> /// 处理收到的双工回调(仅报告有变化的Runner) /// </summary> void executeServiceCallback_OnRunnerStateChange(ExecuteServiceCallback sender, RemoteRunnerInfo remoteRunnerInfo) { if (OnRunnerStateChange != null) { this.OnRunnerStateChange(this, remoteRunnerInfo); } if (remoteRunnerInfo == null) { if (showWindow != null) { showWindow.ShowError("Null Data" + "\r\n"); } return; } if (remoteRunnerInfo.RunnerStateList != null) { if (showWindow != null) { showWindow.UpdataRemoteRunnerView(remoteRunnerInfo); } } }