public static AwaitableStateConfiguration <TState, TTrigger> PermitIf <TState, TTrigger>(
            this AwaitableStateConfiguration <TState, TTrigger> config, Func <Task <bool> > predicate, TTrigger trigger,
            TState resultingState, Action onTriggerAction)
        {
            Contract.NotNull(onTriggerAction != null, nameof(onTriggerAction));

            return(config.PermitIf(predicate, trigger, resultingState, t => onTriggerAction()));
        }
コード例 #2
0
        public static AwaitableStateConfiguration <TState, TTrigger> PermitIf <TState, TTrigger>(
            this AwaitableStateConfiguration <TState, TTrigger> config, Func <bool> predicate, TTrigger trigger,
            TState resultingState, Action onTriggerAction)
        {
            Contract.Requires <ArgumentNullException>(onTriggerAction != null, nameof(onTriggerAction));

            return(config.PermitIf(predicate, trigger, resultingState, t => onTriggerAction()));
        }
        public static AwaitableStateConfiguration <TState, TTrigger> PermitDynamic <TArgument, TState, TTrigger>(
            this AwaitableStateConfiguration <TState, TTrigger> config, ParameterizedTrigger <TTrigger, TArgument> trigger,
            Func <TArgument, DynamicState <TState> > targetStateFunc,
            Func <TArgument, Task> onTriggerAction)
        {
            Contract.NotNull(onTriggerAction != null, nameof(onTriggerAction));

            return(config.PermitDynamic(trigger, targetStateFunc, (t, a) => onTriggerAction(a)));
        }
        public static AwaitableStateConfiguration <TState, TTrigger> PermitDynamic <TState, TTrigger>(
            this AwaitableStateConfiguration <TState, TTrigger> config, TTrigger trigger,
            Func <Task <DynamicState <TState> > > targetStateFunc,
            Func <Task> onTriggerAction)
        {
            Contract.NotNull(onTriggerAction != null, nameof(onTriggerAction));

            return(config.PermitDynamic(trigger, targetStateFunc, t => onTriggerAction()));
        }
        public static AwaitableStateConfiguration <TState, TTrigger> PermitIf <TArgument, TState, TTrigger>(
            this AwaitableStateConfiguration <TState, TTrigger> config, Func <bool> predicate,
            ParameterizedTrigger <TTrigger, TArgument> trigger,
            TState resultingState, Action <TArgument> onTriggerAction)
        {
            Contract.NotNull(onTriggerAction != null, nameof(onTriggerAction));

            return(config.PermitIf(predicate, trigger, resultingState, (t, a) => onTriggerAction(a)));
        }
コード例 #6
0
        public static AwaitableStateConfiguration <TState, TTrigger> PermitDynamic <TState, TTrigger>(
            this AwaitableStateConfiguration <TState, TTrigger> config, TTrigger trigger,
            Func <DynamicState <TState> > targetStateFunc,
            Action onTriggerAction)
        {
            Contract.Requires <ArgumentNullException>(onTriggerAction != null, nameof(onTriggerAction));

            return(config.PermitDynamic(trigger, targetStateFunc, t => onTriggerAction()));
        }
コード例 #7
0
        public static AwaitableStateConfiguration <TState, TTrigger> PermitReentryIf <TArgument, TState, TTrigger>(
            this AwaitableStateConfiguration <TState, TTrigger> config, Func <Task <bool> > predicate,
            ParameterizedTrigger <TTrigger, TArgument> trigger,
            Action <TArgument> onTriggerAction)
        {
            Contract.Requires <ArgumentNullException>(onTriggerAction != null, nameof(onTriggerAction));

            return(config.PermitReentryIf(predicate, trigger, (t, a) => onTriggerAction(a)));
        }
        public static AwaitableStateConfiguration <TState, TTrigger> PermitReentry <TState, TTrigger>(this
                                                                                                      AwaitableStateConfiguration <TState, TTrigger> config, TTrigger trigger,
                                                                                                      Action onTriggerAction)
        {
            Contract.NotNull(onTriggerAction != null, nameof(onTriggerAction));

            return(config.PermitReentry(trigger, t => onTriggerAction()));
        }
        public static AwaitableStateConfiguration <TState, TTrigger> OnEntry <TState, TTrigger>(this
                                                                                                AwaitableStateConfiguration <TState, TTrigger> config, Func <Task> action)
        {
            Contract.NotNull(action != null, nameof(action));

            return(config.OnEntry(t => action()));
        }
コード例 #10
0
        public static AwaitableStateConfiguration <TState, TTrigger> Permit <TState, TTrigger, TArgument>(this
                                                                                                          AwaitableStateConfiguration <TState, TTrigger> config,
                                                                                                          ParameterizedTrigger <TTrigger, TArgument> trigger, TState resultingState,
                                                                                                          Func <TArgument, Task> onTriggerAction)
        {
            Contract.Requires <ArgumentNullException>(onTriggerAction != null, nameof(onTriggerAction));

            return(config.Permit(trigger, resultingState, (t, a) => onTriggerAction(a)));
        }
コード例 #11
0
        public static AwaitableStateConfiguration <TState, TTrigger> OnEntry <TState, TTrigger>(this
                                                                                                AwaitableStateConfiguration <TState, TTrigger> config, Func <Task> action)
        {
            Contract.Requires <ArgumentNullException>(action != null, nameof(action));

            return(config.OnEntry(t => action()));
        }
コード例 #12
0
        public static AwaitableStateConfiguration <TState, TTrigger> PermitReentry <TState, TTrigger>(this
                                                                                                      AwaitableStateConfiguration <TState, TTrigger> config, TTrigger trigger,
                                                                                                      Func <Task> onTriggerAction)
        {
            Contract.Requires <ArgumentNullException>(onTriggerAction != null, nameof(onTriggerAction));

            return(config.PermitReentry(trigger, t => onTriggerAction()));
        }