コード例 #1
0
        public static PipelineAction Create(Pipeline pipeline, XmlNode node)
        {
            _ActionType act = GetActionType(node);

            switch (act)
            {
            case _ActionType.Add: return(new PipelineAddAction(pipeline, node));

            case _ActionType.Clr: return(new PipelineClearAction(pipeline, node));

            case _ActionType.Nop: return(new PipelineNopAction(pipeline, node));

            case _ActionType.OrgField: return(new PipelineFieldAction(pipeline, node));

            case _ActionType.Field: return(new PipelineFieldAction2(pipeline, node));

            case _ActionType.Emit: return(new PipelineEmitAction(pipeline, node));

            case _ActionType.ErrorHandler: return(new PipelineErrorAction(pipeline, node));

            case _ActionType.Except: return(new PipelineExceptionAction(pipeline, node));

            case _ActionType.Del: return(new PipelineDeleteAction(pipeline, node));

            case _ActionType.Cat: return(new PipelineCategorieAction(pipeline, node));

            case _ActionType.Cond: return(new PipelineConditionAction(pipeline, node));

            case _ActionType.CheckExist: return(new PipelineCheckExistAction(pipeline, node));

            case _ActionType.Forward: return(new PipelineForwardAction(pipeline, node));

            case _ActionType.Split: return(new PipelineSplitAction(pipeline, node));

            case _ActionType.EmitVars: return(new PipelineEmitVarsAction(pipeline, node));

            case _ActionType.Remove: return(new PipelineRemoveAction(pipeline, node));
            }
            act.ThrowUnexpected();
            return(null); //Keep compiler happy
        }
コード例 #2
0
        public static _ActionType GetActionType(XmlNode node)
        {
            _ActionType type = node.ReadEnum("@type", (_ActionType)0);

            if (type != 0)
            {
                return(type);
            }

            if (node.SelectSingleNode("@add") != null)
            {
                return(_ActionType.Add);
            }
            if (node.SelectSingleNode("@nop") != null)
            {
                return(_ActionType.Nop);
            }
            if (node.SelectSingleNode("@emitexisting") != null)
            {
                return(_ActionType.Emit);
            }
            return(_ActionType.Field);
        }
コード例 #3
0
 private void ManageTimer(_ActionType action)
 {
     _timer.Enabled = action == _ActionType.Add || CredentialCount > 0;
 }