Example #1
0
        protected ImagingOptions20 GetImagingOptions(string VideoSourceToken)
        {
            ImagingPortClient client = ImagingClient;

            if (client == null)
            {
                return(null);
            }

            ImagingOptions20 options = null;

            try
            {
                RunStep(() => { options = client.GetOptions(VideoSourceToken); }, "Get Imaging Options");
            }
            catch (Exception exc)
            {
                RethrowIfStop(exc);
                LogStepEvent(string.Format("Imaging GetOptions not supported ({0})", exc.Message));
                StepFailed(exc);
            }

            DoRequestDelay();
            return(options);
        }
Example #2
0
        protected ImagingOptions20 GetOptions(string token, string stepName)
        {
            ImagingOptions20 options = null;

            RunStep(() => { options = Client.GetOptions(token); }, stepName);
            DoRequestDelay();
            return(options);
        }
 public Model(
     string profToken, string sourceToken, ImagingOptions20 options, MoveOptions20 moveOptions
     )
 {
     this.profToken   = profToken;
     this.sourceToken = sourceToken;
     this.options     = options;
     this.moveOptions = moveOptions;
 }
Example #4
0
        public override ImagingOptions20 GetOptions(string VideoSourceToken)
        {
            CheckActionSupported();

            CheckSourceExists(VideoSourceToken);

            ImagingOptions20 options = new ImagingOptions20();

            //options.BacklightCompensation = new BacklightCompensationOptions20();
            //options.BacklightCompensation.Mode = new Imaging.BacklightCompensationMode[]{Imaging.BacklightCompensationMode.OFF, Imaging.BacklightCompensationMode.ON};
            //options.BacklightCompensation.Level = new Imaging.FloatRange() { Min = 2, Max = 5 };

            options.Brightness = new Imaging.FloatRange()
            {
                Min = 0, Max = 255
            };
            options.ColorSaturation = new Imaging.FloatRange()
            {
                Min = 0, Max = 255
            };
            options.Contrast = new Imaging.FloatRange()
            {
                Min = 0, Max = 255
            };

            //options.IrCutFilterModes = new Imaging.IrCutFilterMode[]{Imaging.IrCutFilterMode.ON};

            //options.Exposure = new ExposureOptions20();
            //options.Exposure.Mode = new Imaging.ExposureMode[]{Imaging.ExposureMode.AUTO, Imaging.ExposureMode.MANUAL };
            //options.Exposure.ExposureTime = new Imaging.FloatRange() { Min = 2, Max = 5 };
            //options.Exposure.Gain = new Imaging.FloatRange() { Min = 2, Max = 5 };
            //options.Exposure.Iris = new Imaging.FloatRange() { Min = 2, Max = 5 };
            //options.Exposure.MaxExposureTime = new Imaging.FloatRange() { Min = 2, Max = 5 };
            //options.Exposure.MaxGain = new Imaging.FloatRange() { Min = 2, Max = 5 };
            //options.Exposure.MaxIris = new Imaging.FloatRange() { Min = 2, Max = 5 };
            //options.Exposure.MinExposureTime = new Imaging.FloatRange() { Min = 2, Max = 5 };
            //options.Exposure.MinGain = new Imaging.FloatRange() { Min = 2, Max = 5 };
            //options.Exposure.MinIris = new Imaging.FloatRange() { Min = 2, Max = 5 };
            //options.Exposure.Priority = new Imaging.ExposurePriority[]{Imaging.ExposurePriority.FrameRate};

            //options.Focus = new FocusOptions20();
            //options.Focus.AutoFocusModes = new Imaging.AutoFocusMode[] {Imaging.AutoFocusMode.AUTO, Imaging.AutoFocusMode.MANUAL};

            //options.Focus.DefaultSpeed = new Imaging.FloatRange();
            //options.Focus.FarLimit = new Imaging.FloatRange();
            //options.Focus.NearLimit = new Imaging.FloatRange();

            //options.Sharpness = new Imaging.FloatRange();
            //options.WideDynamicRange = new WideDynamicRangeOptions20();
            //options.WideDynamicRange.Mode = new Imaging.WideDynamicMode[]{Imaging.WideDynamicMode.OFF};

            //options.WhiteBalance = new WhiteBalanceOptions20();
            //options.WhiteBalance.Mode = new Imaging.WhiteBalanceMode[]{Imaging.WhiteBalanceMode.AUTO};

            return(options);
        }
        public void SetImagingSettingsTest()
        {
            ImagingSettings20 backup = null;
            string            token  = string.Empty;

            RunTest(
                () =>
            {
                VideoSource[] sources = GetAndValidateVideoSources();

                for (int i = 0; i < sources.Length; i++)
                {
                    ImagingOptions20 options = GetOptions(sources[i].token);

                    if (options == null)
                    {
                        continue;
                    }

                    ValidateImagingOptions(options);

                    ImagingSettings20 initialSettings = GetImagingSettings(sources[i].token);

                    ImagingSettings20 settings = GenerateImagingSettings(options, initialSettings);

                    SetImagingSettings(sources[i].token, settings, false);

                    ImagingSettings20 actualSettings = GetImagingSettings(sources[i].token);

                    // compare settings
                    string dump;
                    bool bEqual = ImagingSettingsEqual(settings, actualSettings, true, out dump);
                    if (!bEqual)
                    {
                        // save for restoring
                        // if equal, restoring will be done after passing Assert
                        backup = initialSettings;
                        token  = sources[i].token;
                    }
                    Assert(bEqual,
                           string.Format("Expected and actual settings are different.\n{0}",
                                         dump), "Compare settings");

                    SetImagingSettings(sources[i].token, initialSettings, false, "Restore imaging settings");
                }
            },
                () =>
            {
                if (backup != null)
                {
                    SetImagingSettings(token, backup, false, "Restore imaging settings");
                }
            });
        }
Example #6
0
        internal StepType GetOptionsTest(out ImagingOptions20 target, out SoapException ex, out int Timeout, string VideoSourceToken)
        {
            StepType res = StepType.None;

            Timeout = 0;
            ex      = null;
            bool   passed     = true;
            string logMessage = "";

            //Get step list for command
            XmlNodeList m_testList = m_TestCommon.GetStepsForCommand("Imaging20.GetOptions");

            if (m_testList != null)
            {
                //Get current step
                XmlNode test = m_testList[m_commandCount[GetOptions]];

                #region Serialization Temp
                //Media.VideoEncoderConfigurationOptions dsr = new Media.VideoEncoderConfigurationOptions();
                //dsr.JPEG = new Media.JpegOptions();
                //XmlSerializer serializer = new XmlSerializer(typeof(Media.VideoEncoderConfigurationOptions));
                //XmlReader sr = XmlReader.Create(new StringReader(test.SelectNodes("ResponseParameters")[0].InnerXml));
                //TextWriter textWriter = new StreamWriter("c:\\2.txt");
                //serializer.Serialize(textWriter, dsr);
                #endregion //Serialization Temp

                #region Analyze request

                //VideoSourceToken
                CommonCompare.StringCompare("RequestParameters/VideoSourceToken", "VideoSourceToken", VideoSourceToken, ref logMessage, ref passed, test);

                #endregion //Analyze request

                //Generate response
                object targetObj;
                res    = m_TestCommon.GenerateResponseStepTypeNotVoid(test, out targetObj, out ex, out Timeout, typeof(ImagingOptions20));
                target = (ImagingOptions20)targetObj;

                //Log message
                m_TestCommon.writeToLog(test, logMessage, passed);

                Increment(m_testList.Count, GetOptions);
            }
            else
            {
                res     = StepType.None;
                Timeout = 0;
                target  = null;
                ex      = null;
                res     = StepType.None;
            }
            return(res);
        }
        public void GetImagingOptionsTest()
        {
            RunTest(
                () =>
            {
                VideoSource[] sources = GetAndValidateVideoSources();

                for (int i = 0; i < sources.Length; i++)
                {
                    ImagingOptions20 options = null;
                    options = GetOptions(sources[i].token);

                    Assert(options != null, "No imaging options received", "Check if the DUT sent imaging options");

                    ValidateImagingOptions(options);
                }
            });
        }
            public static Model Create(
                string profToken,
                string sourceToken,
                ImagingOptions20 options,
                ImagingSettings20 settings,
                MoveOptions20 moveOptions
                )
            {
                var _this = new Model();

                _this.profToken       = profToken;
                _this.sourceToken     = sourceToken;
                _this.options         = options;
                _this.moveOptions     = moveOptions;
                _this.origin.settings = settings;
                _this.RevertChanges();

                return(_this);
            }
        public void GetOptionsInvalidTokenTest()
        {
            RunTest(
                () =>
            {
                VideoSource[] sources = GetAndValidateVideoSources();

                string[] tokens = sources.Select(s => s.token).ToArray();

                string invalidToken = tokens.GetNonMatchingString();

                RunStep(
                    () =>
                {
                    ImagingOptions20 options = Client.GetOptions(invalidToken);
                }, "Get options - negative test",
                    new ValidateTypeFault(ValidateInvalidTokenFault));

                DoRequestDelay();
            });
        }
        public void SetImagingSettingsInvalidSettingsTest()
        {
            ImagingSettings20 backup = null;
            string            token  = string.Empty;

            RunTest(
                () =>
            {
                VideoSource[] sources = GetAndValidateVideoSources();

                for (int i = 0; i < sources.Length; i++)
                {
                    ImagingOptions20 options = GetOptions(sources[i].token);

                    Assert(options != null, "No imaging options received", "Check if the DUT sent imaging options");

                    ImagingSettings20 initialSettings = GetImagingSettings(sources[i].token);

                    Assert(initialSettings != null, "No initial settings received", "Check if the DUT sent imaging settings");

                    ValidateImagingOptions(options);
                    ImagingSettings20 settings = GenerateInvalidImagingSettings(options);

                    RunStep(
                        () =>
                    {
                        Client.SetImagingSettings(sources[i].token, settings, false);
                    }, "Set imaging settings",
                        new ValidateTypeFault(
                            (FaultException fault, out string reason)
                            =>
                    {
                        if (fault == null)
                        {
                            reason = "No fault received";
                            return(false);
                        }

                        // SettingsInvalid
                        return(fault.IsValidOnvifFault("Sender/InvalidArgVal/SettingsInvalid", out reason));
                    }));

                    DoRequestDelay();

                    ImagingSettings20 actualSettings = GetImagingSettings(sources[i].token);

                    Assert(actualSettings != null, "No current settings received", "Check if the DUT sent imaging settings");

                    string dump;
                    bool bEqual = ImagingSettingsEqual(initialSettings, actualSettings, false, out dump);
                    if (!bEqual)
                    {
                        // save for restoring
                        backup = initialSettings;
                        token  = sources[i].token;
                    }
                    Assert(bEqual,
                           string.Format("Expected and actual settings are different.\n{0}",
                                         dump), "Check that settings have not been changed");
                }
            },
                () =>
            {
                if (backup != null)
                {
                    SetImagingSettings(token, backup, false, "Restore imaging settings");
                }
            });
        }