Exemplo n.º 1
0
 public void AppendTransactAction(IActionParam config)
 {
     lock (mTransactActionList.SyncRoot)
     {
         mTransactActionList.Add(config);
     }
 }
Exemplo n.º 2
0
        public static void DoPreProcessing()
        {
            string commandFile = @"E:\SourceCode\40copoka\DPP\Source\UnitTests\CommandLineAction.UnitTest\Output\CommandLineAction.UnitTest.exe";

            var action = new ActionParam <string>()
            {
                ParamName = ActionParamNamesCore.Action,
                Value     = ActionsCore.RunCommandLine
            };

            var prm = new IActionParam[]
            {
                action,
                new ActionParam <string>()
                {
                    ParamName = ActionParamNamesCore.PathToFile, Value = commandFile
                },
                new ActionParam <string>()
                {
                    ParamName = ActionParamNamesCore.DataValue, Value = string.Empty
                },
                new ActionParam <ActionProcessCommandLineDelegate>()
                {
                    ParamName = ActionParamNamesCore.OutputDataReceivedDelegate, Value = OnOutputCommandLine
                },
                new ActionParam <ActionProcessCommandLineDelegate>()
                {
                    ParamName = ActionParamNamesCore.ErrorDataReceivedDelegate, Value = OnErrorCommandLine
                }
            };

            var procc = new ActionProcessor(prm);
            var res   = procc.Process <StringActionResult>();
        }
Exemplo n.º 3
0
 public void AppendAlarmAction(IActionParam config)
 {
     lock (mAlarmActionList.SyncRoot)
     {
         mAlarmActionList.Add(config);
     }
 }
Exemplo n.º 4
0
        protected void DoAfterAction(object source, IActionParam param)
        {
            try
            {
                //CLocalSystem.WriteDebugLog(string.Format("CAction({0}).DoAfterAction({1})", Name, param.Name));

                if (OnAfterAction != null)
                {
                    if (CLocalSystem.MainForm != null)
                    {
                        MethodInvoker form_invoker = delegate
                        {
                            OnAfterAction(SystemContext, Name, source, param);
                        };
                        CLocalSystem.MainForm.Invoke(form_invoker);
                    }
                    else
                    {
                        OnAfterAction(SystemContext, Name, source, param);
                    }
                }
            }
            catch (Exception e)
            {
                CLocalSystem.WriteErrorLog(string.Format("CAction({0}).DoAfterAction Exception: {1}", Name, e));
            }
        }
Exemplo n.º 5
0
        protected override bool ExecuteAction(object source, IActionParam param)
        {
            IMonitorAlarm alarm = source as IMonitorAlarm;

            if (alarm != null)
            {
                //CLocalSystem.WriteDebugLog(string.Format("{0} CForegroundAction({1}).ExecuteAction: Sender={2}, AlarmID={3}, ActionParam={4}", Config.Desc, Name, alarm.Sender, alarm.ID, param.Name));

                if (mBoxManager == null)
                {
                    mBoxManager = Config.GetValue("BoxManager") as IBoxManager;
                }

                if (mBoxManager != null)
                {
                    int index = alarm.Monitor.Config.IntValue("BoxIndex");
                    if (index >= 0)
                    {
                        lock (mLockObj)
                        {
                            mBoxManager.ActiveIndex = index;
                        }
                        return(true);
                    }
                }
            }
            return(false);
        }
Exemplo n.º 6
0
 public bool Execute(object source, IActionParam param)
 {
     if (IsActive && param != null && param.Enabled)
     {
         mSyncActionEvent.BeginInvoke(SystemContext, Name, source, param, null, null);
         return(true);
     }
     return(false);
 }
Exemplo n.º 7
0
        public bool Execute(IMonitorAlarm alarm, IActionParam param)
        {
            if (alarm != null && IsActive && param != null && param.Enabled)
            {
                CLocalSystem.WriteDebugLog(string.Format("{0} CMonitorAction({1}).Execute: Sender={2}, AlarmID={3}, ActionParam={4}", Config.Desc, Name, alarm.Sender, alarm.ID, param.Name));

                return(Execute((object)alarm, param));
            }
            return(false);
        }
Exemplo n.º 8
0
 public IActionParam[] GetTransactActionList()
 {
     lock (mTransactActionList.SyncRoot)
     {
         if (mTransactActionList.Count > 0)
         {
             IActionParam[] list = new IActionParam[mTransactActionList.Count];
             mTransactActionList.CopyTo(list);
             return(list);
         }
         return(null);
     }
 }
Exemplo n.º 9
0
        protected override bool ExecuteAction(object source, IActionParam param)
        {
            //System.Console.Out.WriteLine("CPTZAction.ExecuteAction: Action=" + Config.Desc);
            CLocalSystem.WriteDebugLog(string.Format("CPTZAction({0}[{1}]).ExecuteAction", Config.Desc, Name));

            IVisionAlarm alarm = source as IVisionAlarm;

            if (alarm != null)
            {
                //System.Console.Out.WriteLine("CPTZAction.ExecuteAction: Sender=" + alarm.Sender + ", AlarmID=" + alarm.ID);
                CLocalSystem.WriteDebugLog(string.Format("CPTZAction({0}).ExecuteAction: Sender={1}, AlarmID={2}, ActionParam={3}", Name, alarm.Sender, alarm.ID, param.Name));

                //alarm.OnTransactAlarm += new TransactAlarm(DoTransactAlarm);

                if (System.Threading.Monitor.TryEnter(mPTZLockObj))
                {
                    try
                    {
                        IVisionMonitorConfig vmc = alarm.Monitor.Config as IVisionMonitorConfig;
                        if (vmc != null)
                        {
                            IConfigManager <IVideoSourceConfig> vsConfigManager = vmc.SystemContext.VideoSourceConfigManager;
                            if (vsConfigManager != null)
                            {
                                CVideoSourceConfig vcConfig = vsConfigManager.GetConfig(vmc.VisionParamConfig.VSName) as CVideoSourceConfig;
                                if (vcConfig != null)
                                {
                                    string vsName = vcConfig.StrValue("PTZVSName");

                                    CLocalSystem.WriteDebugLog(string.Format("CPTZAction({0}).ExecuteAction: PTZVSName={1}", Config.Desc, vsName));

                                    if (!vsName.Equals(""))
                                    {
                                        IVideoSourceConfig ptzvsConfig = vsConfigManager.GetConfig(vsName);
                                        if (ptzvsConfig != null)
                                        {
                                            return(StartPTZ(ptzvsConfig, alarm.AreaIndex));
                                        }
                                    }
                                }
                            }
                        }
                    }
                    finally
                    {
                        System.Threading.Monitor.Exit(mPTZLockObj);
                    }
                }
            }
            return(false);
        }
Exemplo n.º 10
0
        protected override bool ExecuteAction(object source, IActionParam param)
        {
            IMonitorAlarm alarm = source as IMonitorAlarm;

            if (alarm != null)
            {
                //CLocalSystem.WriteDebugLog(string.Format("{0} CSoundAction({1}).ExecuteAction: Sender={2}, AlarmID={3}, ActionParam={4}", Config.Desc, Name, alarm.Sender, alarm.ID, param.Name));

                alarm.OnTransactAlarm += new TransactAlarm(DoTransactAlarm);

                return(StartPlay(alarm as IVisionAlarm));
            }
            return(false);
        }
Exemplo n.º 11
0
        protected override bool ExecuteAction(object source, IActionParam param)
        {
            //System.Console.Out.WriteLine("CLampAction.ExecuteAction: Action=" + Config.Desc);

            IMonitorAlarm alarm = source as IMonitorAlarm;

            if (alarm != null)
            {
                //System.Console.Out.WriteLine("CLampAction.ExecuteAction: Sender=" + alarm.Sender + ", AlarmID=" + alarm.ID);

                alarm.OnTransactAlarm += new TransactAlarm(DoTransactAlarm);

                return(StartAlarmOut());
            }
            return(false);
        }
Exemplo n.º 12
0
        public void CopySrtmRasterToStoreage(IEnumerable <string> rasterFiles, bool replaceExisted)
        {
            if (rasterFiles == null)
            {
                throw new FileLoadException("Srtm files were not defined");
            }

            var action = new ActionParam <string>()
            {
                ParamName = ActionParamNamesCore.Action,
                Value     = ActionsEnum.demCopyRaster.ToString()
            };

            var prm = new IActionParam[]
            {
                action,
                new ActionParam <IEnumerable <string> >()
                {
                    ParamName = ActionParameters.Files, Value = rasterFiles.ToArray()
                },
                new ActionParam <bool>()
                {
                    ParamName = ActionParameters.ReplaceOnExists, Value = replaceExisted
                },
                new ActionParam <ResterStorageTypesEnum>()
                {
                    ParamName = ActionParameters.ResterStorageType, Value = ResterStorageTypesEnum.Srtm
                },
            };

            var procc = new ActionProcessor(prm);
            var res   = procc.Process <CopyRasterResult>();

            foreach (var line in res.Result.Log)
            {
                log.InfoEx(line);
            }

            if (res.Result.CopoedFiles.Count() != rasterFiles.Count())
            {
                throw new FormatException("Not all SRTM files were coppied");
            }
        }
Exemplo n.º 13
0
        public ActionParam <T> GetParameter <T>(string key, T defaultVal)
        {
            ActionParam <T> paramVale = new ActionParam <T>();

            paramVale.Value = defaultVal;
            if (this.ContainsParam(key))
            {
                IActionParam val = this.prosessingActionParams.Single(s => s.ParamName.Equals(key));

                ////TODO: Сделать проверку на возможность конвертирования значения в тип
                //// т.к. переданное значение часто не соответствует типу параметра,
                //// включая случаи, когда параметр пустой (...&param=&...)
                //if (!String.IsNullOrEmpty(val.ToString()))
                //{
                ActionParam <T> param = (ActionParam <T>)Convert.ChangeType(val, typeof(ActionParam <T>), null);
                paramVale = param;
                //}
            }
            return(paramVale);
        }
Exemplo n.º 14
0
        public object ToType(Type conversionType, IFormatProvider provider)
        {
            if (conversionType.Equals(this.GetType()))
            {
                return(this);
            }

            //Get property info for Value poperty
            PropertyInfo pi = conversionType.GetProperty(VALUR_PROPERTY_NAME);

            //Create a new ActionParam
            ConstructorInfo ctor = conversionType.GetConstructors().First(c => c.GetParameters().Count() == 0);

            LoadedActions.ObjectActivator <IActionParam> createdActivator = LoadedActions.GetActivator <IActionParam>(ctor);
            IActionParam art = createdActivator();


            //Convert the value into new type of ActionParam
            pi.SetValue(art, Convert.ChangeType(this.Value, pi.PropertyType, System.Globalization.CultureInfo.InvariantCulture), null);

            return(art);
        }
Exemplo n.º 15
0
 public bool Execute(IActionParam param)
 {
     return(Execute(null, param));
 }
Exemplo n.º 16
0
        protected override bool ExecuteAction(object source, IActionParam param)
        {
            try
            {
                CMonitorAlarm alarm = source as CMonitorAlarm;
                if (alarm != null)
                {
                    //CLocalSystem.WriteDebugLog(string.Format("{0} CHKAlarmOutAction({1}).ExecuteAction: Sender={2}, AlarmID={3}, ActionParam={4}", Config.Desc, Name, alarm.Sender, alarm.ID, param.Name));

                    AlarmClient alarmClient = GetAlarmClient();
                    if (alarmClient == null)
                    {
                        IVisionMonitorConfig vmc = alarm.Monitor.Config as IVisionMonitorConfig;
                        if (vmc != null)
                        {
                            IVideoSourceConfig vsConfig = vmc.SystemContext.VideoSourceConfigManager.GetConfig(vmc.VisionParamConfig.VSName);
                            alarmClient = GetAlarmClient(vsConfig);
                        }
                    }

                    if (alarmClient != null)
                    {
                        int outputPort = -1;
                        if (param.IsExist("OutputPort"))
                        {
                            outputPort = param.IntValue("OutputPort");
                        }
                        else
                        {
                            outputPort = AlarmOutConfig.OutputPort;
                        }

                        string key = CAlarmOut.GetKey(alarmClient, outputPort);

                        CAlarmOut alarmOut = mAlarmOutTable[key] as CAlarmOut;
                        if (alarmOut == null)
                        {
                            lock (mAlarmOutTable.SyncRoot)
                            {
                                alarmOut = mAlarmOutTable[key] as CAlarmOut;
                                if (alarmOut == null)
                                {
                                    alarmOut = new CAlarmOut(alarmClient, outputPort);
                                    mAlarmOutTable.Add(alarmOut.Key, alarmOut);
                                }
                            }
                        }

                        alarm.Property.SetValue("_AlarmOutObj", alarmOut);
                        alarm.OnTransactAlarm += new TransactAlarm(DoTransactAlarm);

                        alarmOut.StartAlarmOut();
                    }
                    else
                    {
                        CLocalSystem.WriteErrorLog(string.Format("CHKAlarmOutAction({0}).ExecuteAction: Sender={1} 无法获取报警输出对象!", Name, alarm.Sender));
                    }
                }
            }
            catch (Exception e)
            {
                CLocalSystem.WriteErrorLog(string.Format("CHKAlarmOutAction({0}).ExecuteAction Excepton: {1}", Name, e));
            }
            return(false);
        }
Exemplo n.º 17
0
 protected virtual bool ExecuteAction(object source, IActionParam param)
 {
     return(true);
 }
Exemplo n.º 18
0
        private void DoActionEvent(IMonitorSystemContext context, string name, object source, IActionParam param)
        {
            try
            {
                if (IsActive && param != null && param.Enabled)
                {
                    DoBeforeAction(source, param);

                    if (ExecuteAction(source, param))
                    {
                        DoAfterAction(source, param);
                    }
                }
            }
            catch (Exception e)
            {
                CLocalSystem.WriteErrorLog(string.Format("CAction({0}).DoActionEvent Exception: {1}", Name, e));
            }
        }
Exemplo n.º 19
0
 private void DoAfterAction(IMonitorSystemContext context, string name, object source, IActionParam param)
 {
     if (OnAfterAction != null)
     {
         OnAfterAction(context, name, source, param);
     }
 }
Exemplo n.º 20
0
        protected override bool ExecuteAction(object source, IActionParam param)
        {
            IVisionAlarm alarm = source as IVisionAlarm;

            if (alarm != null)
            {
                //CLocalSystem.WriteDebugLog(string.Format("{0} CHKPTZAction({1}).ExecuteAction: Sender={2}, AlarmID={3}, ActionParam={4}", Config.Desc, Name, alarm.Sender, alarm.ID, param.Name));

                try
                {
                    IConfigManager <IVideoSourceConfig> vsConfigManager = null;

                    string vsName = param.StrValue("VSName");
                    if (vsName.Equals(""))
                    {
                        vsName = PTZConfig.VSName;
                        if (vsName.Equals(""))
                        {
                            IVisionMonitorConfig vmc = alarm.Monitor.Config as IVisionMonitorConfig;
                            if (vmc != null)
                            {
                                vsConfigManager = vmc.SystemContext.VideoSourceConfigManager;
                                if (vsConfigManager != null)
                                {
                                    CVideoSourceConfig vcConfig = vsConfigManager.GetConfig(vmc.VisionParamConfig.VSName) as CVideoSourceConfig;
                                    if (vcConfig != null)
                                    {
                                        vsName = vcConfig.StrValue("PTZVSName");
                                    }

                                    if (vsName.Equals(""))
                                    {
                                        CLocalSystem.WriteWarnLog(string.Format("{0} CHKPTZAction({1}).ExecuteAction Failed: {2}({3})未设置属性\"PTZVSName\"", Config.Desc, Name, vcConfig.Desc, vcConfig.Name));
                                        return(false);
                                    }
                                }
                            }
                        }
                    }

                    if (!vsName.Equals(""))
                    {
                        if (vsConfigManager == null)
                        {
                            vsConfigManager = Config.SystemContext.VideoSourceConfigManager;
                        }

                        IVideoSourceConfig ptzvsConfig = vsConfigManager.GetConfig(vsName);
                        if (ptzvsConfig != null)
                        {
                            CLocalSystem.WriteDebugLog(string.Format("{0} CHKPTZAction({1}).ExecuteAction: PTZVSName={2}", Config.Desc, Name, vsName));

                            return(StartPTZ(ptzvsConfig, alarm.AreaIndex));
                        }
                        else
                        {
                            CLocalSystem.WriteWarnLog(string.Format("{0} CHKPTZAction({1}).ExecuteAction Failed: PTZVSName({2})所指向的视频源不存在!", Config.Desc, Name, vsName));
                        }
                    }
                    else
                    {
                        CLocalSystem.WriteWarnLog(string.Format("{0} CHKPTZAction({1}).ExecuteAction Failed: 未设置PTZ视频源!", Config.Desc, Name));
                    }
                }
                catch (Exception e)
                {
                    CLocalSystem.WriteErrorLog(string.Format("CHKPTZAction({0}).ExecuteAction Exception: {1}", Config.Desc, e));
                }
            }
            return(false);
        }