コード例 #1
0
ファイル: Request.cs プロジェクト: wpmyj/c3
        /// <summary>
        ///
        /// </summary>
        /// <param name="parameter"></param>
        /// <param name="cbWrapper"></param>
        /// <returns></returns>
        public ExecuteResult Execute(ExecuteArgs executeArgs, CallbackWrapper cbWrapper)
        {
            if (Executeing != null)
            {
                ExecuteEventArgs e = new ExecuteEventArgs();
                e.ExecuteArgs = executeArgs;
                if (cbWrapper != null)
                {
                    e.CallbackWrapper = cbWrapper;
                }

                Executeing(this, e);

                return(e.Result);
            }
            else
            {
                return(null);
            }
        }
コード例 #2
0
ファイル: LocalController.cs プロジェクト: hkiaipc/C3
        public ExecuteResult Doit(ExecuteArgs args)
        {
            if (args == null)
            {
                throw new ArgumentNullException("args");
            }

            this._executeArgs = args;
            int deviceID = args.DeviceID;
            IDevice device = SoftManager.GetSoft().Hardware.FindDevice(deviceID);

            ExecuteResult r = null;
            if (StringHelper.Equal(args.ExecuteName, DefineExecuteNames.IsReady))
            {
                if (device == null)
                {
                    string s = string.Format(RemoteStrings.NotFindDeviceByID, deviceID);
                    r = ExecuteResult.CreateFailExecuteResult(s);
                }
                else
                {
                    if (device.Station.CommuniPort != null &&
                            device.Station.CommuniPort.IsOpened)
                    {
                        r = ExecuteResult.CreateSuccessExecuteResult();
                    }
                    else
                    {
                        r = ExecuteResult.CreateFailExecuteResult(RemoteStrings.NotConnection);
                    }
                }
            }
            else
            {
                Debug.Assert(device != null);
                TaskExecutor te = new TaskExecutor();
                te.Ended += new EventHandler(te_Ended);
                r = te.Execute(device, args.ExecuteName, args.KeyValues);
            }
            return r;
        }
コード例 #3
0
ファイル: Request.cs プロジェクト: hkiaipc/C3
        /// <summary>
        /// 
        /// </summary>
        /// <param name="parameter"></param>
        /// <param name="cbWrapper"></param>
        /// <returns></returns>
        public ExecuteResult Execute(ExecuteArgs executeArgs, CallbackWrapper cbWrapper)
        {
            if (Executeing != null)
            {
                ExecuteEventArgs e = new ExecuteEventArgs();
                e.ExecuteArgs = executeArgs;
                if (cbWrapper != null)
                {
                    e.CallbackWrapper = cbWrapper;
                }

                Executeing(this, e);

                return e.Result;
            }
            else
            {
                return null;
            }
        }
コード例 #4
0
ファイル: RemoteClient.cs プロジェクト: hkiaipc/C3
 /// <summary>
 /// 
 /// </summary>
 public ExecuteResult Doit(ExecuteArgs args)
 {
     RemoteObject obj = this.GetRemoteObject();
     CallbackWrapper w = new CallbackWrapper(new ResultDelegate(Target));
     return obj.Execute(args, w);
 }