Example #1
0
        public GuardedSynchronizationJob(ISynchronizationJob <TLeft, TRight> inner)
        {
            if (inner == null)
            {
                throw new ArgumentNullException("inner");
            }

            Inner = inner;
        }
Example #2
0
        public LeftGuardedSynchronizationJob(ISynchronizationJob <TLeft, TRight> inner, ObservingFunc <TLeft, bool> guard)
            : base(inner)
        {
            if (guard == null)
            {
                throw new ArgumentNullException("guard");
            }

            Guard = guard;
        }
Example #3
0
            public Dependency(ISynchronizationJob <TLeft, TRight> inner, SynchronizationComputation <TLeft, TRight> computation, SynchronizationDirection direction, INotifyValue <bool> tracker)
            {
                Inner       = inner;
                Computation = computation;
                Direction   = direction;
                Tracker     = tracker;

                if (tracker.Value)
                {
                    Current = Inner.Perform(Computation, Direction, Computation.SynchronizationContext);
                }

                Tracker.ValueChanged += Tracker_ValueChanged;
            }