コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
 public void ReportState(RemoteRunnerInfo remoteRunnerInfo)
 {
     if (OnRunnerStateChange != null)
     {
         this.OnRunnerStateChange(this, remoteRunnerInfo);
     }
 }
コード例 #4
0
        /// <summary>
        /// 获取当前Client所有Runner状态(提供内部使用,不会捕捉错误)
        /// </summary>
        private void GetAllRunnerInforEx()
        {
            RemoteRunnerInfo nowRemoteRunnerInfo = executeServiceClient.GetAllRunnerSate();

            if (nowRemoteRunnerInfo != null)
            {
                PutAllRunnerInfor(nowRemoteRunnerInfo);
            }
        }
コード例 #5
0
 public void UpdataRemoteRunnerView(RemoteRunnerInfo remoteRunnerInfo)
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new Action <RemoteRunnerInfo>(UpdataRemoteRunnerView), remoteRunnerInfo);
     }
     else
     {
         RemoteRunnerView.RefreshRunner(remoteRunnerInfo);
     }
 }
コード例 #6
0
 void remoteClient_OnRunnerStateChange(RemoteClient sender, RemoteRunnerInfo remoteRunnerInfo)
 {
     if (this.TreeControl.InvokeRequired)
     {
         this.TreeControl.Invoke(new Func <RemoteRunnerInfo, bool>(RefreshRunner), remoteRunnerInfo);
     }
     else
     {
         RefreshRunner(remoteRunnerInfo);
     }
 }
コード例 #7
0
 /// <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);
     }
 }
コード例 #8
0
 /// <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("连接未打开");
     }
 }
コード例 #9
0
 /// <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);
         }
     }
 }