Exemple #1
0
        public void RequestLockOperation(RouterOutput output, RouterOutputLockType lockType, RouterOutputLockOperationType lockOperationType)
        {
            if (!outputs.Contains(output))
            {
                throw new ArgumentException();
            }
            string logMessage = string.Format("Router output {0} request. Router: [(#{1}) #2], destination: {3}.",
                                              translateLockOperation(lockType, lockOperationType), ID, Name, output.Index);

            LogDispatcher.I(LOG_TAG, logMessage);
            requestLockOperationImpl(output, lockType, lockOperationType);
        }
Exemple #2
0
        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;
            }
        }
 public void SetLock(RouterOutputLockType lockType, RouterOutputLockOperationType lockOperationType)
 {
     if (lockOperationType == RouterOutputLockOperationType.Unlock)
     {
         SetLock(0, VirtualLeitchRouter.PanelIdSetting.Value);
         return;
     }
     if (lockOperationType == RouterOutputLockOperationType.ForceUnlock)
     {
         SetLock(0, VirtualLeitchRouter.FORCE_UNLOCK_PANEL_ID);
         return;
     }
     if (lockType == RouterOutputLockType.Lock)
     {
         SetLock(1, VirtualLeitchRouter.PanelIdSetting.Value);
         return;
     }
     if (lockType == RouterOutputLockType.Protect)
     {
         SetLock(2, VirtualLeitchRouter.PanelIdSetting.Value);
         return;
     }
 }
Exemple #4
0
        protected void notifyLockChanged(int outputIndex, RouterOutputLockType lockType, RouterOutputLockState lockState)
        {
            RouterOutput output = outputs.FirstOrDefault(ro => (ro.Index == outputIndex));

            notifyLockChanged(outputs[outputIndex], lockType, lockState);
        }
Exemple #5
0
 protected abstract void requestLockOperationImpl(RouterOutput output, RouterOutputLockType lockType, RouterOutputLockOperationType lockOperationType);
Exemple #6
0
 private static string translateLockOperation(RouterOutputLockType lockType, RouterOutputLockOperationType lockOperationType)
 => string.Format(LOCK_OPERATION_TYPE_TRANSLATIONS[lockOperationType], LOCK_TYPE_TRANSLATIONS[lockType]);
        protected override void requestLockOperationImpl(RouterOutput output, RouterOutputLockType lockType, RouterOutputLockOperationType lockOperationType)
        {
            RouterOutputLockState newState = (lockOperationType == RouterOutputLockOperationType.Lock) ? RouterOutputLockState.Locked : RouterOutputLockState.Clear;

            notifyLockChanged(output, lockType, newState);
        }