コード例 #1
0
 public FlowManager(
     IConfiguration configuration,
     IStateManager stateManager,
     IContextProvider contextProvider,
     INamedSemaphore namedSemaphore,
     IActionProvider actionProvider,
     ISender sender,
     IDocumentSerializer documentSerializer,
     IEnvelopeSerializer envelopeSerializer,
     IArtificialIntelligenceExtension artificialIntelligenceExtension,
     IVariableReplacer variableReplacer,
     ILogger logger,
     ITraceManager traceManager,
     IUserOwnerResolver userOwnerResolver,
     IInputExpirationHandler inputExpirationHandler,
     Application application)
 {
     _configuration      = configuration;
     _stateManager       = stateManager;
     _contextProvider    = contextProvider;
     _namedSemaphore     = namedSemaphore;
     _actionProvider     = actionProvider;
     _sender             = sender;
     _documentSerializer = documentSerializer;
     _envelopeSerializer = envelopeSerializer;
     _artificialIntelligenceExtension = artificialIntelligenceExtension;
     _variableReplacer       = variableReplacer;
     _logger                 = logger;
     _traceManager           = traceManager;
     _userOwnerResolver      = userOwnerResolver;
     _inputExpirationHandler = inputExpirationHandler;
     _applicationIdentity    = application.Identity;
     _applicationNode        = application.Node;
 }
コード例 #2
0
    public async void InitFromMetadata(IActionProvider actionProvider, Base.ActionMetadata actionMetadata, Base.ActionPoint actionPoint)
    {
        InitDialog(actionProvider, actionMetadata, actionPoint);
        actionParameters = await Base.Parameter.InitActionParameters(actionProvider.GetProviderId(), actionParametersMetadata.Values.ToList(), DynamicContent, OnChangeParameterHandler, DynamicContentLayout, CanvasRoot, CurrentActionPoint, false);

        nameInput.SetValue(Base.ProjectManager.Instance.GetFreeActionName(actionMetadata.Name));
    }
コード例 #3
0
ファイル: StartUp.cs プロジェクト: MadratMax/TestWebFast
 private static void Dispose()
 {
     protocol = null;
     commandManager = null;
     actionProvider = null;
     testManager = null;
 }
コード例 #4
0
 private void BindConnections()
 {
     // First test if connections are possible
     if (_activeSection.ModuleType != null)
     {
         ModuleBase moduleInstance = base.ModuleLoader.GetModuleFromSection(_activeSection);
         if (moduleInstance is IActionProvider)
         {
             IActionProvider actionProvider = (IActionProvider)moduleInstance;
             // OK, show connections panel
             pnlConnections.Visible    = true;
             rptConnections.DataSource = _activeSection.Connections;
             rptConnections.DataBind();
             if (_activeSection.Connections.Count < actionProvider.GetOutboundActions().Count)
             {
                 hplNewConnection.Visible = true;
                 if (ActiveNode != null)
                 {
                     hplNewConnection.NavigateUrl =
                         String.Format("~/Admin/ConnectionEdit.aspx?NodeId={0}&SectionId={1}", ActiveNode.Id,
                                       _activeSection.Id);
                 }
                 else
                 {
                     hplNewConnection.NavigateUrl = String.Format("~/Admin/ConnectionEdit.aspx?SectionId={0}",
                                                                  _activeSection.Id);
                 }
             }
             else
             {
                 hplNewConnection.Visible = false;
             }
         }
     }
 }
コード例 #5
0
        //////////////////////////////////////////////////////////////////////////
        public static void GetActionByName(string ActionName, List<IActionProvider> ActiveObjects, out IActionProvider OutObj, out Action OutAct)
        {
            OutObj = null;
            OutAct = null;

            if(Actions.ContainsKey(ActionName))
            {
                List<Action> Acts = Actions[ActionName];

                // find nearest available object, if any
                foreach (IActionProvider Obj in ActiveObjects)
                {
                    foreach(Action Act in Acts)
                    {
                        if (Act.ContextType == Obj.GetType())
                        {
                            OutObj = Obj;
                            OutAct = Act;
                            return;
                        }
                    }
                }
            }
            return;
        }
コード例 #6
0
        private void Page_Load(object sender, EventArgs e)
        {
            if (Context.Request.QueryString["SectionId"] != null)
            {
                Title = "Add connection";

                // Get section data
                _activeSection = (Section)base.CoreRepository.GetObjectById(typeof(Section),
                                                                            Int32.Parse(
                                                                                Context.Request.QueryString["SectionId"
                                                                                ]));

                ModuleBase moduleInstance = base.ModuleLoader.GetModuleFromSection(_activeSection);
                if (moduleInstance is IActionProvider)
                {
                    _activeActionProvider = moduleInstance as IActionProvider;

                    if (!IsPostBack)
                    {
                        BindSection();
                        BindCompatibleSections();
                    }
                }
                else
                {
                    ShowError("The module that is connected to the section doesn't support outgoing connections.");
                }
            }
        }
コード例 #7
0
ファイル: StateTests.cs プロジェクト: emprax/St8-ment
        public async Task ApplyShouldReturnSuccessResponseWhenActionHandlerWasSuccessfullyProcessed()
        {
            // Arrange
            var action = new TestAction(nameof(ApplyShouldReturnNoMatchingActionResponseWhenProviderReturnsFalse));

            Mock.Get(this.reducer)
            .Setup(r => r.TryGetProvider(TestStateId.New, out It.Ref <IActionProvider <TestStateSubject> > .IsAny))
            .Callback(new StateOutputCallback <TestStateSubject>((StateId id, out IActionProvider <TestStateSubject> provider) =>
            {
                provider = this.provider;
            }))
            .Returns(true);

            Mock.Get(this.provider)
            .Setup(p => p.TryGet(out It.Ref <IActionHandler <TestAction, TestStateSubject> > .IsAny))
            .Callback(new ActionOutputCallback <TestAction, TestStateSubject>((out IActionHandler <TestAction, TestStateSubject> handler) =>
            {
                handler = this.handler;
            }))
            .Returns(true);

            Mock.Get(this.handler)
            .Setup(h => h.Execute(action, It.Is <IStateView <TestStateSubject> >(x => x.StateId == TestStateId.New && x.Subject == this.context)))
            .ReturnsAsync(TestStateId.Processing);

            Mock.Get(this.reducer)
            .Setup(r => r.SetState(It.Is <StateId>(x => x.Name == TestStateId.Processing.Name), this.context));

            // Act
            var result = await this.state.Apply(action);

            // Assert
            Assert.Equal(StateResponse.Success.Id, result?.Id);
        }
コード例 #8
0
 //////////////////////////////////////////////////////////////////////////
 public void DeactivateObject(IActionProvider Obj)
 {
     if (ActiveObjects.Contains(Obj))
     {
         ActiveObjects.Remove(Obj);
     }
 }
コード例 #9
0
 //////////////////////////////////////////////////////////////////////////
 public void ActivateObject(IActionProvider Obj)
 {
     if (!ActiveObjects.Contains(Obj))
     {
         ActiveObjects.Insert(0, Obj);
     }
 }
コード例 #10
0
        private void resources_CallManager_IncomingCallNotification(int callId, string number, string info)
        {
            _log.Info("Incoming call with id '{0}' from '{1}', info: {2}", callId, number, info);

            //HACK: how to discover accountid?
            IAccount        account        = _resources.Configurator.Accounts[0];
            IActionProvider actionProvider = null;

            if (account != null && typeof(IActionProvider).IsAssignableFrom(account.GetType()))
            {
                actionProvider = (IActionProvider)account;
            }


            SIPIncomingCall call = new SIPIncomingCall(this, _resources, callId, number, actionProvider);

            call.CallState = CallState.Ringing;

            lock (_calls)
            {
                _calls.Add(call);
            }
            if (OnIncomingCall != null)
            {
                OnIncomingCall(call);
            }
        }
コード例 #11
0
 public AutoFillAction(IActionProvider actionProvider, IEnumerable <IWebElement> elements, object seedWith)
 {
     _actionProvider   = actionProvider;
     _elements         = elements;
     _seedWith         = seedWith;
     _isSimpleSeed     = IsSeedSimple();
     _constraintHelper = _actionProvider.UsingFixture.Data.Locate <IConstraintHelper>();
 }
コード例 #12
0
ファイル: StartUp.cs プロジェクト: MadratMax/TestWebFast
 public static void InitializeApp()
 {
     CheckData();
     protocol = new Protocol();
     commandManager = new CommandManager(protocol);
     actionProvider = new ActionProvider(commandManager);
     testManager = new TestManager(actionProvider);
 }
コード例 #13
0
ファイル: SIPCall.cs プロジェクト: deveck/Deveck.TAM
		public SIPCall(SIPCallProvider callProvider, SipekResources resources, int sipekCallId, IActionProvider actionProvider)
		{
			_resources = resources;
			_sipekCallId = sipekCallId;
			_callProvider = callProvider;
			_actionProvider = actionProvider;
			_date = DateTime.Now;
		}
コード例 #14
0
ファイル: SIPCall.cs プロジェクト: goupviet/Deveck.TAM
 public SIPCall(SIPCallProvider callProvider, SipekResources resources, int sipekCallId, IActionProvider actionProvider)
 {
     _resources      = resources;
     _sipekCallId    = sipekCallId;
     _callProvider   = callProvider;
     _actionProvider = actionProvider;
     _date           = DateTime.Now;
 }
コード例 #15
0
ファイル: StateTests.cs プロジェクト: emprax/St8-ment
        public StateTests()
        {
            this.reducer  = Mock.Of <IStateReducer <TestStateSubject> >(MockBehavior.Strict);
            this.provider = Mock.Of <IActionProvider <TestStateSubject> >(MockBehavior.Strict);
            this.handler  = Mock.Of <IActionHandler <TestAction, TestStateSubject> >(MockBehavior.Strict);
            this.context  = new TestStateSubject();

            this.state = new State <TestStateSubject>(TestStateId.New, this.context, this.reducer);
        }
コード例 #16
0
        protected override void OnExecute(IActionProvider provider, IContext context)
        {
            for (int i = 0; i < m_actions.Count; i++)
            {
                IAction action = m_actions[i];

                action.Execute(provider, context);
            }
        }
コード例 #17
0
        public RecordActionsState(BaseController controller, int actionsCount)
        {
            this.controller   = controller;
            this.attacker     = controller.Attacker;
            this.actionsCount = actionsCount;
            timePassed        = 0;

            this.timer = (float)Global.config.GetValue("Config", "AttackTime");
        }
コード例 #18
0
 public BuildingPlanExecutionJob(IServiceProvider service) : base(service)
 {
     _buildingRepository = service.GetService <IBuildingRepository>();
     _villageRepository  = service.GetService <IVillageRepository>();
     _mapper             = service.GetService <IMapper>();
     _actionProvider     = service.GetService <IActionProvider>();
     _commandFactory     = service.GetService <ICommandFactory>();
     _unitRepository     = service.GetService <IUnitRepository>();
 }
コード例 #19
0
        public XmlActionPatternProvider(string xmlPath, IActionProvider actionProvider, IPatternProvider patternProvider)
        {
            if (xmlPath == null) throw new ArgumentNullException("xmlPath");
            if (actionProvider == null) throw new ArgumentNullException("actionProvider");
            if (patternProvider == null) throw new ArgumentNullException("patternProvider");

            _ActionProvider = actionProvider;
            _PatternProvider = patternProvider;
            LoadXml(XmlReader.Create(xmlPath));
        }
コード例 #20
0
        public PageBaseFactory(IWebDriver driver, IActionProvider action, IBaseElement element)
        {
            Contract.Requires(driver != null);
            Contract.Requires(action != null);
            Contract.Requires(element != null);

            _driver  = driver;
            _element = PageOperation(_driver, element);
            _action  = action;
        }
コード例 #21
0
        public XmlActionPatternProvider(Stream xmlStream, IActionProvider actionProvider, IPatternProvider patternProvider)
        {
            if (xmlStream == null) throw new ArgumentNullException("xmlStream");
            if (actionProvider == null) throw new ArgumentNullException("actionProvider");
            if (patternProvider == null) throw new ArgumentNullException("patternProvider");

            _ActionProvider = actionProvider;
            _PatternProvider = patternProvider;
            LoadXml(XmlReader.Create(xmlStream));
        }
コード例 #22
0
        public XmlActionPatternProvider(XmlReader xmlReader, IActionProvider actionProvider, IPatternProvider patternProvider)
        {
            if (xmlReader == null) throw new ArgumentNullException("xmlReader");
            if (actionProvider == null) throw new ArgumentNullException("actionProvider");
            if (patternProvider == null) throw new ArgumentNullException("patternProvider");

            _ActionProvider = actionProvider;
            _PatternProvider = patternProvider;
            LoadXml(xmlReader);
        }
コード例 #23
0
    public async void CreateNewAction(string action_id, IActionProvider actionProvider, string newName = null)
    {
        try {
            ActionMetadata    actionMetadata   = actionProvider.GetActionMetadata(action_id);
            List <IParameter> actionParameters = await Base.Parameter.InitActionParameters(actionProvider.GetProviderId(),
                                                                                           actionMetadata.ParametersMetadata.Values.ToList(), HiddenPlace, OnChangeParameterHandler, HiddenPlaceLayout, HiddenPlace, currentActionPoint, false, CanvasGroup);

            string newActionName;

            if (string.IsNullOrEmpty(newName))
            {
                newActionName = Base.ProjectManager.Instance.GetFreeActionName(actionMetadata.Name);
            }
            else
            {
                newActionName = Base.ProjectManager.Instance.GetFreeActionName(newName);
            }
            if (Base.Parameter.CheckIfAllValuesValid(actionParameters))
            {
                List <IO.Swagger.Model.ActionParameter> parameters = new List <IO.Swagger.Model.ActionParameter>();
                foreach (IParameter actionParameter in actionParameters)
                {
                    if (!actionMetadata.ParametersMetadata.TryGetValue(actionParameter.GetName(), out Base.ParameterMetadata actionParameterMetadata))
                    {
                        Base.Notifications.Instance.ShowNotification("Failed to create new action", "Failed to get metadata for action parameter: " + actionParameter.GetName());
                        return;
                    }
                    IO.Swagger.Model.ActionParameter ap = new IO.Swagger.Model.ActionParameter(name: actionParameter.GetName(), value: JsonConvert.SerializeObject(actionParameter.GetValue()), type: actionParameter.GetCurrentType());
                    parameters.Add(ap);
                }
                try {
                    addedActionName = newActionName;
                    Hide();
                    AREditorResources.Instance.LeftMenuProject.SetActiveSubmenu(AREditorResources.Instance.LeftMenuProject.CurrentSubmenuOpened);

                    await Base.WebsocketManager.Instance.AddAction(currentActionPoint.GetId(), parameters, Base.Action.BuildActionType(
                                                                       actionProvider.GetProviderId(), actionMetadata.Name), newActionName, actionMetadata.GetFlows(newActionName));

                    foreach (Transform t in HiddenPlace.transform)
                    {
                        if (!t.CompareTag("Persistent"))
                        {
                            Destroy(t.gameObject);
                        }
                    }
                } catch (Base.RequestFailedException e) {
                    Base.Notifications.Instance.ShowNotification("Failed to add action", e.Message);
                    addedActionName = null;
                }
            }
        } catch (Base.RequestFailedException e) {
            Base.Notifications.Instance.ShowNotification("Failed to add action", e.Message);
        }
    }
コード例 #24
0
        public XmlActionPatternProvider(Assembly assembly, string resourceName, IActionProvider actionProvider, IPatternProvider patternProvider)
        {
            if (assembly == null) throw new ArgumentNullException("assembly");
            if (actionProvider == null) throw new ArgumentNullException("actionProvider");
            if (patternProvider == null) throw new ArgumentNullException("patternProvider");

            _ActionProvider = actionProvider;
            _PatternProvider = patternProvider;
            Stream stream = assembly.GetManifestResourceStream(resourceName);
            LoadXml(XmlReader.Create(stream));
        }
コード例 #25
0
        public RateItViewModel(IShortcutService shortcutService, IActionProvider actionProvider, ISegmentSupervisor segmentSupervisor, IMessageBoxService messageBoxService, EditorController editorController)
        {
            _actionProvider    = actionProvider;
            _segmentSupervisor = segmentSupervisor;
            _messageBoxService = messageBoxService;
            _editorController  = editorController;
            _shortcutService   = shortcutService;

            Initialize();
            UpdateActionTooltips();
        }
コード例 #26
0
        protected override void OnExecute(IActionProvider provider, IContext context)
        {
            if (provider.Current.TryGet(out IActionCommandList <TCommand> commands))
            {
                for (int i = 0; i < commands.Count; i++)
                {
                    TCommand command = commands.Get(i);

                    OnExecute(provider, context, command);
                }
            }
        }
コード例 #27
0
        public DeathState(BaseController controller, IActionProvider deadman)
        {
            this.deadman    = deadman;
            this.controller = controller;
            timePassed      = 0;
            deadman.Reset();

            koSound = (AudioStreamPlayer)this.controller.GetNode("Sounds").GetNode("KOSound");
            koSound.Play();
            deadman.Animate(Action.Death);
            controller.ResetKOLabel();
        }
コード例 #28
0
        public void ActionAdded(IO.Swagger.Model.Action projectAction, string parentId)
        {
            ActionPoint     actionPoint    = GetActionPoint(parentId);
            IActionProvider actionProvider = GetActionProvider(Action.ParseActionType(projectAction.Type).Item1);

            Base.Action action = SpawnAction(projectAction.Id, projectAction.Name, Action.ParseActionType(projectAction.Type).Item2, actionPoint, actionProvider);
            // updates name of the action
            action.ActionUpdateBaseData(projectAction);
            // updates parameters of the action
            action.ActionUpdate(projectAction);
            OnProjectChanged?.Invoke(this, EventArgs.Empty);
        }
コード例 #29
0
ファイル: Fixture.cs プロジェクト: DDdgf/SeleniumFixture
        private void SetupDependencyInjection(IWebDriver webDriver,
                                              SeleniumFixtureConfiguration configuration,
                                              DefaultFixtureConfiguration dataConfiguration)
        {
            Data = new SimpleFixture.Fixture(dataConfiguration);

            Data.Return(this);
            Data.Return(webDriver);
            Data.Return(configuration.BaseAddress).WhenNamed("BaseAddress");
            Data.Return(() => Data.Configuration.Locate <IConstraintHelper>());

            Driver = webDriver;

            Data.Behavior.Add((r, o) =>
            {
                if (o.GetType().IsValueType || o is string)
                {
                    return(o);
                }

                PageFactory.InitElements(webDriver, o);

                return(o);
            });

            Data.Behavior.Add(ImportPropertiesOnLocate);

            _actionProvider = new FixtureActionProvider(this);

            Data.Return(_actionProvider);

            if (Configuration.ExecuteValidate)
            {
                Data.Behavior.Add(ValidateBehavior);
            }

            Data.Export <AutoFillAction>().As <IAutoFillAction>();
            Data.Export <AutoFillAsActionProvider>().As <IAutoFillAsActionProvider>();
            Data.Export <ClearAction>().As <IClearAction>();
            Data.Export <ClickAction>().As <IClickAction>();
            Data.Export <DoubleClickAction>().As <IDoubleClickAction>();
            Data.Export <FillAction>().As <IFillAction>();
            Data.Export <GetAction>().As <IGetAction>();
            Data.Export <MouseMoveAction>().As <IMouseMoveAction>();
            Data.Export <NavigateAction>().As <INavigateAction>();
            Data.Export <SendToAction>().As <ISendToAction>();
            Data.Export <SwitchAction>().As <ISwitchToAction>();
            Data.Export <TakeScreenshotAction>().As <ITakeScreenshotAction>();
            Data.Export <WaitAction>().As <IWaitAction>();
            Data.Export <YieldsAction>().As <IYieldsAction>();
        }
コード例 #30
0
		public CoreEngine(IUIEngine uiEngine, IField field, IPlayer player, IActionProvider actionProvider = null, IMovement movement = null, ISolvedChecker solvedChecker = null)
		{
			this._uiEngine = uiEngine;
			this._inputProvider = uiEngine.InputProvider;
			this._field = field;
			this._player = player;
            this._highScores = HighScores.Instance;

			this.ActionProvider = actionProvider ?? new DefaultActionProvider(this);
			this.Movement = movement ?? new BackwardMovement(field);
			this.SolvedChecker = solvedChecker ?? new DefaultSolvedChecker();

			this.AttachUIToEvents();
		}
コード例 #31
0
 public virtual void Init(IO.Swagger.Model.Action projectAction, ActionMetadata metadata, ActionPoint ap, IActionProvider actionProvider)
 {
     ActionPoint    = ap;
     this.metadata  = metadata;
     ActionProvider = actionProvider;
     Data           = projectAction;
     UpdateName(Data.Name);
     if (actionProvider != null)
     {
         UpdateType();
     }
     //UpdateRotation(null);
     SelectorItem = SelectorMenu.Instance.CreateSelectorItem(this);
 }
コード例 #32
0
 public static void RegisterContext(string contextName, IActionProvider obj, params string[] properties)
 {
     Contexts[contextName] = obj;
     obj.PropertyChanged += (s, e) =>
     {
         if (properties.Contains(e.PropertyName))
             Refresh();
     };
     Actions[contextName] = new List<CharmAction>();
     foreach (var item in obj.ProvideActions())
     {
         Actions[contextName].Add(item);
     }
 }
コード例 #33
0
        public NegateActionsState(BaseController controller, List <Action> recordedActions)
        {
            this.controller      = controller;
            this.defender        = controller.Defender;
            this.attacker        = this.controller.Attacker;
            this.recordedActions = recordedActions;
            timePassed           = 0;
            iterator             = 0;

            this.timer = (float)Global.config.GetValue("Config", "DefendTime");

            gruntSound = (AudioStreamPlayer)this.controller.GetNode("Sounds").GetNode("GruntSound");
            evadeSound = (AudioStreamPlayer)this.controller.GetNode("Sounds").GetNode("EvadeSound");
        }
コード例 #34
0
        public TestManager(IActionProvider actionProvider)
        {
            this.actionProvider = actionProvider;
            this.testFiles      = TestFiles.GetTestCollection();
            this.testNames      = TestFiles.GetTestNames();
            this.pageFiles      = new DataProvider().GetPageFiles();
            this.cases          = new TestCaseParser(testFiles).GetCases();
            this.testResults    = new TestResults(testNames);

            InitializePages();
            InitializeTests();

            this.validator = new Validator(this);
        }
コード例 #35
0
    public void InitDialog(IActionProvider actionProvider, Base.ActionMetadata actionMetadata, Base.ActionPoint actionPoint) {
        this.actionMetadata = actionMetadata;
        CurrentActionPoint = actionPoint;
        this.actionProvider = actionProvider;
        actionParametersMetadata = new Dictionary<string, Base.ActionParameterMetadata>();
        foreach (IO.Swagger.Model.ActionParameterMeta meta in actionMetadata.Parameters) {
            actionParametersMetadata.Add(meta.Name, new Base.ActionParameterMetadata(meta));
        }

        foreach (Transform t in DynamicContent.transform) {
            Destroy(t.gameObject);
        }
        nameInput.SetLabel("Name", "Name of the action");
        nameInput.SetType("string");
    }
コード例 #36
0
ファイル: App.xaml.cs プロジェクト: erikhoj/TimeLoggingApp
        public App()
        {
            _actionProvider = new PropertyActionProvider(this);

            actions = _actionProvider.GetActions();

            actionLog = _actionProvider.GetActionLog();

            actions.actionDeleted += actionLog.OnActionRemoved;

            Logging.logger.WriteMessage(actionLog);

            InitializeComponent();

            MainPage = new NavigationPage(new TimeLoggingApp.MainPage());
        }
コード例 #37
0
        //////////////////////////////////////////////////////////////////////////
        public bool Invoke(IActionProvider Provider, object Sender)
        {
            try
            {
                ActionParam Param = new ActionParam();
                Param.Type      = ActionParam.QueryType.Invoke;
                Param.Processed = false;

                Method.Invoke(Provider, new object[] { Param });
                return(Param.Processed);
            }
            catch
            {
                return(false);
            }
        }
コード例 #38
0
 public static void RegisterContext(string contextName, IActionProvider obj, params string[] properties)
 {
     Contexts[contextName] = obj;
     obj.PropertyChanged  += (s, e) =>
     {
         if (properties.Contains(e.PropertyName))
         {
             Refresh();
         }
     };
     Actions[contextName] = new List <CharmAction>();
     foreach (var item in obj.ProvideActions())
     {
         Actions[contextName].Add(item);
     }
 }
コード例 #39
0
        //////////////////////////////////////////////////////////////////////////
        public State GetState(IActionProvider Provider)
        {
            try
            {
                ActionParam Param = new ActionParam();
                Param.Type = ActionParam.QueryType.GetState;
                Param.Processed = false;

                Method.Invoke(Provider, new object[] { Param });
                if (Param.Processed) return Param.State;
                else return State.Sensitive;
            }
            catch
            {
                return State.Sensitive;
            }
        }
コード例 #40
0
ファイル: Engine.cs プロジェクト: Infarch/MyPerlModules
        public void DoWorkAsync(IActionProvider provider)
        {
            exitState = ExitState.NORMAL;
            CancellationToken token = tokenSource.Token;

            Task mainTask = Task.Factory.StartNew(() =>
            {
                while (true)
                {
                    if (token.IsCancellationRequested) break;
                    try
                    {
                        Action[] actions = provider.GetActions();
                        if (actions.Length == 0) break;
                        List<Task> tasks = new List<Task>();
                        foreach (Action action in actions)
                        {
                            if (token.IsCancellationRequested) break;
                            try
                            {
                                Task subtask = Task.Factory.StartNew(action, token);
                                subtask.ContinueWith(TaskFailed, TaskContinuationOptions.OnlyOnFaulted);
                                tasks.Add(subtask);
                            }
                            catch
                            {
                                exitState = ExitState.ERROR;
                                tokenSource.Cancel();
                                break;
                            }
                        }
                        try
                        {
                            Task.WaitAll(tasks.ToArray(), tokenSource.Token);
                        }
                        catch (OperationCanceledException){}
                    }
                    catch
                    {
                        exitState = ExitState.ERROR;
                        break;
                    }
                }
            }, TaskCreationOptions.LongRunning);
            mainTask.ContinueWith(Done, scheduler);
        }
コード例 #41
0
        //////////////////////////////////////////////////////////////////////////
        public bool CustomBuild(IActionProvider Provider, ToolStripItemCollection Items, bool AsMenu)
        {
            try
            {
                ActionParam Param = new ActionParam();
                Param.Type = ActionParam.QueryType.CustomBuild;
                Param.Items = Items;
                Param.BuildAsMenu = AsMenu;
                Param.Processed = false;

                Method.Invoke(Provider, new object[] { Param });
                return Param.Processed;
            }
            catch
            {
                return false;
            }
        }
コード例 #42
0
        //////////////////////////////////////////////////////////////////////////
        public bool LoadData(IActionProvider Provider, ActionData Data)
        {
            try
            {
                ActionParam Param = new ActionParam();
                Param.Type = ActionParam.QueryType.SaveData;
                Param.Processed = false;
                Param.Data = Data;

                Method.Invoke(Provider, new object[] { Param });
                return Param.Processed;
            }
            catch
            {
                return false;
            }
        }
コード例 #43
0
 //////////////////////////////////////////////////////////////////////////
 public void ActivateObject(ActiveObjectSlot Slot, IActionProvider Obj)
 {
     ActiveObjectSlots[(int)Slot] = Obj;
     StripBuilder.RefreshManagedToolStrips();
 }
コード例 #44
0
        //////////////////////////////////////////////////////////////////////////
        public bool Invoke(IActionProvider Provider, object Sender)
        {
            try
            {
                ActionParam Param = new ActionParam();
                Param.Type = ActionParam.QueryType.Invoke;
                Param.Processed = false;

                Method.Invoke(Provider, new object[] { Param });
                return Param.Processed;
            }
            catch
            {
                return false;
            }
        }
コード例 #45
0
        public static void RemoveHandler(IActionProvider provider, ActionEventHandler handler)
        {
            if (!map.ContainsKey(provider))
            {
                return;
            }

            ActionDispatcher dispatcher = map[provider];
            dispatcher.ActionEvent -= handler;
            if (dispatcher.ActionEvent.GetInvocationList().Length == 0)
            {
                dispatcher.Release();
                map.Remove(provider);
            }
        }
コード例 #46
0
 public static void AddHandler(IActionProvider provider, ActionEventHandler handler)
 {
     ActionDispatcher dispatcher;
     if (map.ContainsKey(provider))
     {
         dispatcher = map[provider];
     }
     else
     {
         dispatcher = new ActionDispatcher(provider);
         map.Add(provider, dispatcher);
     }
     dispatcher.ActionEvent += handler;
 }
コード例 #47
0
ファイル: SIPIncomingCall.cs プロジェクト: deveck/Deveck.TAM
		public SIPIncomingCall(SIPCallProvider callProvider, SipekResources resources, int sipekCallId, String remoteIdentifier, IActionProvider actionProvider)
			:base(callProvider, resources, sipekCallId, actionProvider)
		{
			_remoteIdentifier = remoteIdentifier;	
			
		}
コード例 #48
0
        //////////////////////////////////////////////////////////////////////////
        public bool Invoke(IActionProvider Provider, object Sender)
        {
            #if !DEBUG
            try
            {
            #endif
                ActionParam Param = new ActionParam();
                Param.Type = ActionParam.QueryType.Invoke;
                Param.Sender = Sender;
                Param.Processed = false;

                Method.Invoke(Provider, new object[] { Param });
                return Param.Processed;
            #if !DEBUG
            }
            catch(Exception e)
            {
                MessageBox.Show("Error invoking command:\n\n" + e.InnerException.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }
            #endif
        }
コード例 #49
0
        //////////////////////////////////////////////////////////////////////////
        public ActionState GetState(IActionProvider Provider, object Sender)
        {
            try
            {
                ActionParam Param = new ActionParam();
                Param.Type = ActionParam.QueryType.GetState;
                Param.Sender = Sender;
                Param.State = new ActionState(true, true);

                Method.Invoke(Provider, new object[] { Param });
                return Param.State;
            }
            catch
            {
                return new ActionState(false);
            }
        }
コード例 #50
0
        //////////////////////////////////////////////////////////////////////////
        public ActionData SaveData(IActionProvider Provider)
        {
            try
            {
                ActionParam Param = new ActionParam();
                Param.Type = ActionParam.QueryType.SaveData;
                Param.Processed = false;
                Param.Data = null;

                Method.Invoke(Provider, new object[] { Param });
                if (Param.Processed) return Param.Data;
                else return null;
            }
            catch
            {
                return null;
            }
        }
コード例 #51
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Context.Request.QueryString["SectionId"] != null)
            {
                Title = "Add connection";

                ModuleBase moduleInstance = ModuleLoader.GetModuleFromSection(_activeSection);
                if (moduleInstance is IActionProvider)
                {
                    _activeActionProvider = moduleInstance as IActionProvider;

                    if (! IsPostBack)
                    {
                        BindSection();
                        BindCompatibleSections();
                    }
                }
                else
                {
                    ShowError("The module that is connected to the section doesn't support outgoing connections.");
                }
            }
        }
コード例 #52
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            if (Context.Request.QueryString["SectionId"] != null)
            {
                this.Title = "Add connection";

                // Get section data
                this._activeSection = (Section)base.CoreRepository.GetObjectById(typeof(Section),
                    Int32.Parse(Context.Request.QueryString["SectionId"]));

                ModuleBase moduleInstance = base.ModuleLoader.GetModuleFromSection(this._activeSection);
                if (moduleInstance is IActionProvider)
                {
                    this._activeActionProvider = moduleInstance as IActionProvider;

                    if (! this.IsPostBack)
                    {
                        BindSection();
                        BindCompatibleSections();
                    }
                }
                else
                {
                    ShowError("The module that is connected to the section doesn't support outgoing connections.");
                }
            }
        }
コード例 #53
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ActionDispatcher"/> class.
 /// </summary>
 /// <param name="provider">The provider.</param>
 protected ActionDispatcher(IActionProvider provider)
 {
     provider.Target = this;
     provider.Action = ObjectiveCRuntime.Selector("doAction:");
 }