//---------------------------------------------------------------------------------------// /// <summary> /// /// </summary> /// <param name="labEquipmentConfiguration"></param> public DeviceGeneric(LabEquipmentConfiguration labEquipmentConfiguration, string deviceName) { const string methodName = "DeviceGeneric"; Logfile.WriteCalled(logLevel, STR_ClassName, methodName); try { /* * Check that parameters are valid */ if (labEquipmentConfiguration == null) { throw new ArgumentNullException(LabEquipmentConfiguration.ClassName); } /* * Get the device configuration from the XML string */ XmlDocument xmlDocument = XmlUtilities.GetDocumentFromString(labEquipmentConfiguration.GetXmlDeviceConfiguration(deviceName)); this.xmlNodeDevice = XmlUtilities.GetRootNode(xmlDocument, LabConsts.STRXML_Device); this.deviceName = deviceName; /* * Get the initialise information */ XmlNode xmlNodeInitialise = XmlUtilities.GetChildNode(this.xmlNodeDevice, LabConsts.STRXML_Initialise); this.initialiseEnabled = XmlUtilities.GetChildValueAsBool(xmlNodeInitialise, LabConsts.STRXML_InitialiseEnabled); this.initialiseDelay = XmlUtilities.GetChildValueAsInt(xmlNodeInitialise, LabConsts.STRXML_InitialiseDelay); } catch (Exception ex) { Logfile.WriteError(ex.Message); throw ex; } Logfile.WriteCompleted(logLevel, STR_ClassName, methodName); }
//---------------------------------------------------------------------------------------// /// <summary> /// /// </summary> /// <param name="labEquipmentConfiguration"></param> public DriverGeneric(LabEquipmentConfiguration labEquipmentConfiguration) { const String methodName = "DriverGeneric"; Logfile.WriteCalled(logLevel, STR_ClassName, methodName); try { /* * Check that parameters are valid */ if (labEquipmentConfiguration == null) { throw new ArgumentNullException(LabEquipmentConfiguration.ClassName); } /* * Get the driver configuration from the XML String */ XmlDocument xmlDocument = XmlUtilities.GetDocumentFromString(labEquipmentConfiguration.GetXmlDriverConfiguration(this.DriverName)); XmlNode nodeRoot = XmlUtilities.GetRootNode(xmlDocument, LabConsts.STRXML_Driver); /* * Get the execution times for each of the driver states */ XmlNode xmlNodeExecutionTimes = XmlUtilities.GetChildNode(nodeRoot, LabConsts.STRXML_ExecutionTimes); this.executionTimes = ExecutionTimes.ToObject(XmlUtilities.ToXmlString(xmlNodeExecutionTimes)); /* * Get the experiment results XML template */ XmlNode xmlNodeExperimentResults = XmlUtilities.GetChildNode(nodeRoot, LabConsts.STRXML_ExperimentResults); this.xmlExperimentResultsTemplate = XmlUtilities.ToXmlString(xmlNodeExperimentResults); /* * Initialise local variables */ this.completionTime = DateTime.Now; this.executionId = 0; this.executionStatusLock = new Object(); this.executionStatus = new ExecutionStatus(); this.executionStatus.ExecuteStatus = ExecutionStatus.Status.Created; this.executionStatus.TimeRemaining = this.executionTimes.TotalExecutionTime; this.cancelled = false; /* * Save a copy of the driver XML node for the derived class */ this.xmlNodeDriver = nodeRoot.Clone(); /* * Get the experiment validation from the XML String */ xmlDocument = XmlUtilities.GetDocumentFromString(labEquipmentConfiguration.XmlValidation); nodeRoot = XmlUtilities.GetRootNode(xmlDocument, LabConsts.STRXML_Validation); /* * Save a copy of the experiment validation XML node for the derived class */ this.xmlNodeValidation = nodeRoot.Clone(); } catch (Exception ex) { Logfile.WriteError(ex.Message); throw ex; } String logMessage = String.Format(STRLOG_ExecutionStatus_arg5, executionStatus.ExecutionId, Enum.GetName(typeof(ExecutionStatus.Status), executionStatus.ExecuteStatus), Enum.GetName(typeof(ExecutionStatus.Status), executionStatus.ResultStatus), executionStatus.TimeRemaining, executionStatus.ErrorMessage); Logfile.WriteCompleted(logLevel, STR_ClassName, methodName, logMessage); }
//---------------------------------------------------------------------------------------// public DeviceGeneric(LabEquipmentConfiguration labEquipmentConfiguration) : this(labEquipmentConfiguration, STR_ClassName) { }