using System; namespace ArchestrAServices.Contract; public static class EnumFactory { public static DataType IntToDataType(ushort iValue) { try { return (DataType)iValue; } catch (Exception) { return DataType.TypeUnknown; } } public static ushort DataTypeToInt(DataType eValue) { return (ushort)eValue; } public static DataQualityType IntToDataQualityType(ushort iValue) { try { return (DataQualityType)iValue; } catch (Exception) { return DataQualityType.Uncertain; } } public static ushort DataQualityTypeToInt(DataQualityType eValue) { return (ushort)eValue; } public static ItemIdentityType IntToItemIdentityType(ushort iValue) { try { return (ItemIdentityType)iValue; } catch (Exception) { return ItemIdentityType.Other; } } public static ushort ItemIdentityTypeToInt(ItemIdentityType eValue) { return (ushort)eValue; } public static ItemReferenceType IntToItemReferenceType(ushort iValue) { try { return (ItemReferenceType)iValue; } catch (Exception) { return ItemReferenceType.Other; } } public static ushort ItemReferenceTypeToInt(ItemReferenceType eValue) { return (ushort)eValue; } public static SubscriptionStateType IntToSubscriptionStateType(ushort iValue) { try { return (SubscriptionStateType)iValue; } catch (Exception) { return SubscriptionStateType.SubsUnknown; } } public static ushort SubscriptionStateTypeToInt(SubscriptionStateType eValue) { return (ushort)eValue; } public static WriteCapabilityType IntToWriteCapabilityType(ushort iValue) { try { return (WriteCapabilityType)iValue; } catch (Exception) { return WriteCapabilityType.WriteUnknown; } } public static ushort WriteCapabilityTypeToInt(WriteCapabilityType eValue) { return (ushort)eValue; } public static OpcQualityMask IntToOpcQualityMask(ushort iValue) { try { return (OpcQualityMask)iValue; } catch (Exception) { return OpcQualityMask.MAGELLAN_QUALITY_INITIALIZING; } } public static ushort OpcQualityMaskToInt(OpcQualityMask eValue) { return (ushort)eValue; } public static MonitoredItem MakeDeleteMonitoredItem(ItemIdentity Item) { MonitoredItem result = default(MonitoredItem); result.Item = Item; result.SampleInterval = 0uL; result.Active = 0; result.TimeDeadband = 0uL; result.ValueDeadband = default(Variant); result.ValueDeadband.Type = DataTypeToInt(DataType.TypeUnknown); result.ValueDeadband.Length = 0; result.ValueDeadband.Payload = null; result.UserData = default(Variant); result.UserData.Type = DataTypeToInt(DataType.TypeUnknown); result.UserData.Length = 0; result.UserData.Payload = null; return result; } }