protected void notifyLockChanged(RouterOutput output, RouterOutputLockType lockType, RouterOutputLockState lockState) { if (!outputs.Contains(output)) { throw new ArgumentException(); } switch (lockType) { case RouterOutputLockType.Lock: output.LockStateUpdateFromRouter(lockState); break; case RouterOutputLockType.Protect: output.ProtectStateUpdateFromRouter(lockState); break; } }
protected void notifyLockChanged(int outputIndex, RouterOutputLockType lockType, RouterOutputLockState lockState) { RouterOutput output = outputs.FirstOrDefault(ro => (ro.Index == outputIndex)); notifyLockChanged(outputs[outputIndex], lockType, lockState); }
protected override void requestLockOperationImpl(RouterOutput output, RouterOutputLockType lockType, RouterOutputLockOperationType lockOperationType) { RouterOutputLockState newState = (lockOperationType == RouterOutputLockOperationType.Lock) ? RouterOutputLockState.Locked : RouterOutputLockState.Clear; notifyLockChanged(output, lockType, newState); }