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); }
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; }
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"); } }); }
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"); } }); }