public void LoadSettingsFromXML(string fileName) { try { SerializableTestingParameters userParameters = null; if (!File.Exists(fileName)) { View.ShowError(string.Format("File not found: {0}", fileName)); return; } XmlSerializer serializer = new XmlSerializer(typeof(SerializableTestingParameters)); FileStream stream = null; try { stream = new FileStream(fileName, FileMode.Open); userParameters = (SerializableTestingParameters)serializer.Deserialize(stream); } catch (Exception exc) { View.ShowError(exc); View.ShowError(string.Format("Parameters loading failed: {0}", exc.Message)); return; } finally { if (stream != null) { stream.Close(); } } // update context { DeviceEnvironment devEnv = ContextController.GetDeviceEnvironment(); if (userParameters.Advanced != null) { devEnv.TestSettings.AdvancedSettings = ParseAdvancedSettings(userParameters.Advanced); devEnv.TestSettings.RawAdvancedSettings = new List <XmlElement>(userParameters.Advanced); } if (userParameters.Device != null) { DiscoveredDevices devices = ContextController.GetDiscoveredDevices(); devices.ServiceAddress = userParameters.Device.DeviceServiceAddress; } if (userParameters.SessionInfo != null) { } if (userParameters.TestParameters != null) { TestParameters testParameters = userParameters.TestParameters; devEnv.Credentials.UserName = testParameters.UserName; devEnv.Credentials.Password = testParameters.Password; devEnv.EnvironmentSettings.DnsIpv4 = testParameters.DnsIpv4; devEnv.EnvironmentSettings.DnsIpv6 = testParameters.DnsIpv6; devEnv.EnvironmentSettings.GatewayIpv4 = testParameters.DefaultGatewayIpv4; devEnv.EnvironmentSettings.GatewayIpv6 = testParameters.DefaultGatewayIpv6; devEnv.EnvironmentSettings.NtpIpv4 = testParameters.NtpIpv4; devEnv.EnvironmentSettings.NtpIpv6 = testParameters.NtpIpv6; devEnv.TestSettings.EventTopic = testParameters.EventTopic; devEnv.TestSettings.MetadataFilter = testParameters.MetadataFilter; devEnv.TestSettings.OperationDelay = testParameters.OperationDelay; devEnv.TestSettings.Password1 = testParameters.Password1; devEnv.TestSettings.Password2 = testParameters.Password2; devEnv.TestSettings.PTZNodeToken = testParameters.PTZNodeToken; devEnv.TestSettings.RecordingToken = testParameters.RecordingToken; devEnv.TestSettings.RecoveryDelay = testParameters.TimeBetweenRequests; devEnv.TestSettings.RelayOutputDelayTimeMonostable = testParameters.RelayOutputDelayTime; devEnv.TestSettings.SearchTimeout = testParameters.SearchTimeout; devEnv.TestSettings.SecureMethod = testParameters.SecureMethod; devEnv.TestSettings.SubscriptionTimeout = testParameters.SubscriptionTimeout; devEnv.TestSettings.TopicNamespaces = testParameters.TopicNamespaces; devEnv.TestSettings.UseEmbeddedPassword = testParameters.UseEmbeddedPassword; devEnv.TestSettings.VideoSourceToken = testParameters.VideoSourceToken; devEnv.Timeouts.InterTests = testParameters.TimeBetweenTests; devEnv.Timeouts.Message = testParameters.MessageTimeout; devEnv.Timeouts.Reboot = testParameters.RebootTimeout; } UpdateView(); } if (SettingsLoaded != null) { SettingsLoaded(this, new EventArgs()); } } catch (Exception exc) { View.ShowError(exc); } }
public void SaveAsXML(string fileName) { // save; SerializableTestingParameters parameters = new SerializableTestingParameters(); { parameters.Advanced = GetAdvancedSettings().ToArray(); parameters.Device = new DeviceParameters(); DiscoveredDevices devices = ContextController.GetDiscoveredDevices(); parameters.Device.DeviceIP = (null != devices.DeviceAddress) ? devices.DeviceAddress.ToString() : ""; parameters.Device.DeviceServiceAddress = devices.ServiceAddress; DeviceInfo devInfo = ContextController.GetSetupInfo().DevInfo; parameters.Device.Model = devInfo != null ? devInfo.Model : string.Empty; { parameters.Output = new Output(); parameters.Output.CreateNestedFolder = true; parameters.Output.Directory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); parameters.Output.FeatureDefinitionLog = "FeatureDefinitionLog.xml"; parameters.Output.Report = "TestReport.pdf"; parameters.Output.TestLog = "TestLog.xml"; } { SetupInfo info = ContextController.GetSetupInfo(); if (info != null) { parameters.SessionInfo = new SessionInfo(); parameters.SessionInfo.MemberInfo = info.MemberInfo; parameters.SessionInfo.OtherInformation = info.OtherInfo; parameters.SessionInfo.TesterInfo = info.TesterInfo; } } { parameters.TestParameters = new TestParameters(); parameters.TestParameters.Address = devices.NIC.IP.ToString(); DeviceEnvironment env = ContextController.GetDeviceEnvironment(); if (env.EnvironmentSettings != null) { parameters.TestParameters.DefaultGatewayIpv4 = env.EnvironmentSettings.GatewayIpv4; parameters.TestParameters.DefaultGatewayIpv6 = env.EnvironmentSettings.GatewayIpv6; parameters.TestParameters.DnsIpv4 = env.EnvironmentSettings.DnsIpv4; parameters.TestParameters.DnsIpv6 = env.EnvironmentSettings.DnsIpv6; parameters.TestParameters.NtpIpv4 = env.EnvironmentSettings.NtpIpv4; parameters.TestParameters.NtpIpv6 = env.EnvironmentSettings.NtpIpv6; } if (env.Credentials != null) { parameters.TestParameters.UserName = env.Credentials.UserName; parameters.TestParameters.Password = env.Credentials.Password; } if (env.Timeouts != null) { parameters.TestParameters.MessageTimeout = env.Timeouts.Message; parameters.TestParameters.RebootTimeout = env.Timeouts.Reboot; parameters.TestParameters.TimeBetweenTests = env.Timeouts.InterTests; } if (env.TestSettings != null) { parameters.TestParameters.EventTopic = env.TestSettings.EventTopic; parameters.TestParameters.TopicNamespaces = env.TestSettings.TopicNamespaces; parameters.TestParameters.OperationDelay = env.TestSettings.OperationDelay; parameters.TestParameters.Password1 = env.TestSettings.Password1; parameters.TestParameters.Password2 = env.TestSettings.Password2; parameters.TestParameters.PTZNodeToken = env.TestSettings.PTZNodeToken; parameters.TestParameters.RelayOutputDelayTime = env.TestSettings.RelayOutputDelayTimeMonostable; parameters.TestParameters.SecureMethod = env.TestSettings.SecureMethod; parameters.TestParameters.SubscriptionTimeout = env.TestSettings.SubscriptionTimeout; parameters.TestParameters.TimeBetweenRequests = env.TestSettings.RecoveryDelay; parameters.TestParameters.UseEmbeddedPassword = env.TestSettings.UseEmbeddedPassword; parameters.TestParameters.VideoSourceToken = env.TestSettings.VideoSourceToken; parameters.TestParameters.SearchTimeout = env.TestSettings.SearchTimeout; parameters.TestParameters.RecordingToken = env.TestSettings.RecordingToken; parameters.TestParameters.MetadataFilter = env.TestSettings.MetadataFilter; } } } XmlSerializer serializer = new XmlSerializer(typeof(SerializableTestingParameters)); FileStream stream = null; try { stream = new FileStream(fileName, FileMode.OpenOrCreate); serializer.Serialize(stream, parameters); } catch (Exception exc) { View.ShowError(exc); return; } finally { if (stream != null) { stream.Close(); } } // open in NotePad, if needed if (View.OpenFileForEditing) { ProcessStartInfo ProcessInfo; Process Process; try { ProcessInfo = new ProcessStartInfo("Notepad.exe", fileName); ProcessInfo.CreateNoWindow = false; ProcessInfo.UseShellExecute = true; Process = Process.Start(ProcessInfo); } catch (System.Exception ex) { View.ShowError(ex); } } }