public void AppendTransactAction(IActionParam config) { lock (mTransactActionList.SyncRoot) { mTransactActionList.Add(config); } }
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>(); }
public void AppendAlarmAction(IActionParam config) { lock (mAlarmActionList.SyncRoot) { mAlarmActionList.Add(config); } }
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)); } }
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); }
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); }
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); }
public IActionParam[] GetTransactActionList() { lock (mTransactActionList.SyncRoot) { if (mTransactActionList.Count > 0) { IActionParam[] list = new IActionParam[mTransactActionList.Count]; mTransactActionList.CopyTo(list); return(list); } return(null); } }
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); }
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); }
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); }
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"); } }
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: Сделать проверку на возможность конвертирования значения в тип //// т.к. переданное значение часто не соответствует типу параметра, //// включая случаи, когда параметр пустой (...¶m=&...) //if (!String.IsNullOrEmpty(val.ToString())) //{ ActionParam <T> param = (ActionParam <T>)Convert.ChangeType(val, typeof(ActionParam <T>), null); paramVale = param; //} } return(paramVale); }
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); }
public bool Execute(IActionParam param) { return(Execute(null, param)); }
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); }
protected virtual bool ExecuteAction(object source, IActionParam param) { return(true); }
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)); } }
private void DoAfterAction(IMonitorSystemContext context, string name, object source, IActionParam param) { if (OnAfterAction != null) { OnAfterAction(context, name, source, param); } }
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); }