Esempio n. 1
0
        public bool SetJobMediaMode(JobMediaMode mode)
        {
            bool success = false;

            if (mode == JobMediaMode.Unknown)
            {
                throw new ArgumentException($"Cannot set Job Media Mode to '{mode}'.", nameof(mode));
            }
            //Get current mode but set to allow PJL
            string currentPJLMode = AllowPJLAnyway();

            JobMediaMode currentState = GetJobMediaMode();

            if (currentState == mode)
            {
                LogDebug($"Job media mode already set to '{mode}' - no change required.");
                success = true;
            }
            else
            {
                LogDebug($"Job media mode set to '{currentState}', setting to '{mode}'.");
                int tries = 0;
                while (currentState != mode && tries++ < 3)
                {
                    try
                    {
                        using (PjlMessenger pjl = new PjlMessenger(_address, _port))
                        {
                            pjl.Connect();
                            pjl.SendCommand(_commands[mode]);
                        }
                    }
                    catch (Exception ex)
                    {
                        LogWarn("Unable to set job media mode.", ex);
                    }
                    currentState = GetJobMediaMode();

                    if (currentState != mode)
                    {
                        LogDebug($"Job media mode failed to set. Attempt {tries}. Retrying...");
                    }
                }

                if (GetJobMediaMode() == mode)
                {
                    LogDebug($"Job media mode '{mode}' set successfully.");
                    success = true;
                }
                else
                {
                    LogWarn($"Failed to set job media mode '{mode}'.");
                    success = false;
                }
            }
            RestorePJL(currentPJLMode);
            return(success);
        }
Esempio n. 2
0
 public JobMediaMode GetJobMediaMode()
 {
     try
     {
         using (PjlMessenger pjl = new PjlMessenger(_address, _port))
         {
             pjl.Connect();
             string response = pjl.SendInquire(SettingsManagerResource.JediPaperlessInquire);
             return(response.Contains("ON") ? JobMediaMode.Paper : JobMediaMode.Paperless);
         }
     }
     catch (Exception ex)
     {
         LogWarn("Unable to get job media mode.", ex);
         return(JobMediaMode.Unknown);
     }
 }
        public bool SetJobMediaMode(JobMediaMode mode)
        {
            if (mode == JobMediaMode.Unknown)
            {
                throw new ArgumentException($"Cannot set Job Media Mode to {mode}.", nameof(mode));
            }

            try
            {
                using (PjlMessenger pjl = new PjlMessenger(_address, _port))
                {
                    pjl.Connect();
                    pjl.SendCommand(_commands[mode]);
                }
                return(true);
            }
            catch (Exception ex)
            {
                LogWarn("Unable to set job media mode.", ex);
                return(false);
            }
        }