static InterpretedAtrAdapter()
        {
            IPropertyAdapterFactory <InterpretedAtrAdapter> PropertyFactory = ObservableObject.GetPropertyAdapterFactory <InterpretedAtrAdapter>();

            InterpretedAtrAdapter.globalInterfaceBytesAdapter = PropertyFactory.Create(
                nameof(InterpretedAtrAdapter.GlobalInterfaceBytes),
                instance => new GlobalInterfaceBytesAdapter(instance.atr.GlobalInterfaceBytes)
                );
            InterpretedAtrAdapter.protocolParametersAdapter = PropertyFactory.Create(
                nameof(InterpretedAtrAdapter.ProtocolParameters),
                instance => instance.atr.ProtocolParameters,
                (instance, parameter) => ProtocolParameterAdapterBase.GetObject(parameter)
                );
            InterpretedAtrAdapter.historicalCharactersAdapter = PropertyFactory.Create(
                nameof(InterpretedAtrAdapter.HistoricalCharacters),
                instance => AtrHistoricalBytesAdapterBase.GetObject(instance.atr.HistoricalCharacters, instance)
                );
            InterpretedAtrAdapter.possibleTypesToIndicateAdditionallyAdapter = PropertyFactory.Create(
                nameof(InterpretedAtrAdapter.PossibleTypesToIndicateAdditionally),
                instance => EnumerationAdapter <ProtocolType> .Items.Where(
                    type => type != ProtocolType.RfuF &&
                    instance.atr.ProtocolParameters.Any(_ => _.ProtocolType == type) == false
                    )
                );
        }
        static T1ProtocolParameterAdapter()
        {
            IPropertyAdapterFactory <T1ProtocolParameterAdapter> PropertyFactory = ObservableObject.GetPropertyAdapterFactory <T1ProtocolParameterAdapter>();

            T1ProtocolParameterAdapter.informationFieldSizeAdapter = PropertyFactory.Create(
                nameof(T1ProtocolParameterAdapter.InformationFieldSize),
                instance => instance.protocolParameters.IfscValue,
                (instance, value) => instance.protocolParameters.Ifsc = value
                );
            T1ProtocolParameterAdapter.informationFieldSizeIsDefaultAdapter = PropertyFactory.Create(
                nameof(T1ProtocolParameterAdapter.InformationFieldSizeIsDefault),
                instance => instance.protocolParameters.Ifsc.HasValue == false
                );
            T1ProtocolParameterAdapter.characterWaitingTimeAdapter = PropertyFactory.Create(
                nameof(T1ProtocolParameterAdapter.CharacterWaitingTime),
                instance => instance.protocolParameters.CwiValue
                );
            T1ProtocolParameterAdapter.blockWaitingTimeAdapter = PropertyFactory.Create(
                nameof(T1ProtocolParameterAdapter.BlockWaitingTime),
                instance => instance.protocolParameters.BwiValue
                );
            T1ProtocolParameterAdapter.blockAndCharacterWaitingTimeIsDefaultAdapter = PropertyFactory.Create(
                nameof(T1ProtocolParameterAdapter.BlockAndCharacterWaitingTimeIsDefault),
                instance => instance.protocolParameters.Bwi.HasValue == false && instance.protocolParameters.Cwi.HasValue == false
                );
            T1ProtocolParameterAdapter.redundancyCodeAdapter = PropertyFactory.Create(
                nameof(T1ProtocolParameterAdapter.RedundancyCode),
                instance => EnumerationAdapter <RedundancyCodeType> .GetInstanceFor(instance.protocolParameters.RedundancyCodeValue),
                (instance, value) => instance.protocolParameters.RedundancyCode = value
                );
            T1ProtocolParameterAdapter.redundancyCodeIsDefaultAdapter = PropertyFactory.Create(
                nameof(T1ProtocolParameterAdapter.RedundancyCodeIsDefault),
                instance => instance.protocolParameters.RedundancyCode.HasValue == false
                );
        }
Example #3
0
        static TokenizedAtrAdapter()
        {
            IPropertyAdapterFactory <TokenizedAtrAdapter> PropertyFactory = ObservableObject.GetPropertyAdapterFactory <TokenizedAtrAdapter>();

            TokenizedAtrAdapter.preambleAdapter = PropertyFactory.Create(
                nameof(TokenizedAtrAdapter.Preamble),
                instance => new AtrPreambleTokenAdapter(instance.tokenizedAtr.Preamble)
                );
            TokenizedAtrAdapter.interfaceByteGroupsAdapter = PropertyFactory.Create(
                nameof(TokenizedAtrAdapter.InterfaceBytesGroups),
                instance => instance.tokenizedAtr.InterfaceByteGroups,
                (instance, group) => new AtrInterfaceByteGroupTokenAdapter(group)
                );
            TokenizedAtrAdapter.historicalCharactersAdapter = PropertyFactory.Create(
                nameof(TokenizedAtrAdapter.HistoricalCharacters),
                instance => new AtrHistoricalCharactersTokenAdapter(instance.tokenizedAtr.HistoricalCharacters)
                );
            TokenizedAtrAdapter.checksumAdapter = PropertyFactory.Create(
                nameof(TokenizedAtrAdapter.Checksum),
                instance => new AtrChecksumTokenAdapter(instance.tokenizedAtr.AtrChecksum)
                );
            TokenizedAtrAdapter.extraBytesAdapter = PropertyFactory.Create(
                nameof(TokenizedAtrAdapter.ExtraBytes),
                instance => new AtrExtraBytesAdapter(instance.tokenizedAtr.ExtraBytes)
                );
        }
Example #4
0
        static AtrTokenAdapterBase()
        {
            IPropertyAdapterFactory <AtrTokenAdapterBase> PropertyFactory = ObservableObject.GetPropertyAdapterFactory <AtrTokenAdapterBase>();

            AtrTokenAdapterBase.bytesAdapter = PropertyFactory.Create(
                nameof(AtrTokenAdapterBase.Bytes),
                instance => instance.atrToken != null ? instance.atrToken.Bytes.ToHexString(" ") : null
                );
        }
        static UnknownProtocolParameterAdapter()
        {
            IPropertyAdapterFactory <UnknownProtocolParameterAdapter> PropertyFactory = ObservableObject.GetPropertyAdapterFactory <UnknownProtocolParameterAdapter>();

            UnknownProtocolParameterAdapter.protocolTypeAdapter = PropertyFactory.Create(
                nameof(UnknownProtocolParameterAdapter.ProtocolType),
                instance => EnumerationAdapter <ProtocolType> .GetInstanceFor(instance.protocolParameters.ProtocolType)
                );
        }
Example #6
0
        static ProtocolParameterAdapterBase()
        {
            IPropertyAdapterFactory <ProtocolParameterAdapterBase> PropertyFactory = ObservableObject.GetPropertyAdapterFactory <ProtocolParameterAdapterBase>();

            ProtocolParameterAdapterBase.protocolParameterBytes = PropertyFactory.Create(
                nameof(ProtocolParameterAdapterBase.ProtocolParameterBytes),
                instance => instance.protocolParameters.ParameterBytes,
                (instance, parameterByte) => ProtocolParameterByteAdapterBase.GetObject(parameterByte)
                );
        }
        static ModelValueNodeAdapter()
        {
            IPropertyAdapterFactory <ModelValueNodeAdapter> Factory = ObservableObject.GetPropertyAdapterFactory <ModelValueNodeAdapter>();

            ModelValueNodeAdapter.typenameAdapter = Factory.Create(
                nameof(ModelValueNodeAdapter.Typename),
                instance => instance.model.Type == null ? "<null>" : instance.model.Type.Name
                );
            ModelValueNodeAdapter.valueAdapter = Factory.Create(
                nameof(ModelValueNodeAdapter.Value),
                instance => instance.model.Value
                );
        }
        static T0ProtocolParameterAdapter()
        {
            IPropertyAdapterFactory <T0ProtocolParameterAdapter> PropertyFactory = ObservableObject.GetPropertyAdapterFactory <T0ProtocolParameterAdapter>();

            T0ProtocolParameterAdapter.waitingTimeIntegerAdapter = PropertyFactory.Create(
                nameof(T0ProtocolParameterAdapter.WaitingTimeInteger),
                instance => instance.protocolParameters.WaitingTimeIntegerValue,            // read value or default
                (instance, value) => instance.protocolParameters.WaitingTimeInteger = value // set fix value
                );
            T0ProtocolParameterAdapter.waitingTimeIntegerIsDefaultAdapter = PropertyFactory.Create(
                nameof(T0ProtocolParameterAdapter.WaitingTimeIntegerIsDefault),
                instance => instance.protocolParameters.WaitingTimeInteger.HasValue == false
                );
        }
        static ModelGroupAdapter()
        {
            IPropertyAdapterFactory <ModelGroupAdapter> Factory = ObservableObject.GetPropertyAdapterFactory <ModelGroupAdapter>();

            ModelGroupAdapter.modelsAdapter = Factory.Create(
                nameof(ModelGroupAdapter.Models),
                instance => instance.Group.Models,
                (instance, model) => new ModelInfoAdapter(instance, model)
                );
            ModelGroupAdapter.nameAdapter = Factory.Create(
                nameof(ModelGroupAdapter.Name),
                instance => instance.Group.Name,
                (instance, value) => instance.Group.Name = value
                );
        }
        static AtrProprietaryHistoricalBytesAdapter()
        {
            IPropertyAdapterFactory <AtrProprietaryHistoricalBytesAdapter> PropertyFactory = ObservableObject.GetPropertyAdapterFactory <AtrProprietaryHistoricalBytesAdapter>();

            AtrProprietaryHistoricalBytesAdapter.structureIndicatorAdapter = PropertyFactory.Create(
                nameof(AtrProprietaryHistoricalBytesAdapter.CategoryIndicator),
                instance => instance.historicalCharacters.CategoryIndicator.ToHexString(),
                (instance, value) => Helper.SetAsHexByteValue(value, _ => instance.historicalCharacters.CategoryIndicator = _)
                );

            AtrProprietaryHistoricalBytesAdapter.dataAdapter = PropertyFactory.Create(
                nameof(AtrProprietaryHistoricalBytesAdapter.Bytes),
                instance => instance.historicalCharacters.Bytes.ToHexString(" "),
                (instance, value) => Helper.SetAsHexValue(value, 0, 15, _ => instance.historicalCharacters.Bytes = _)
                );
        }
Example #11
0
        static ModelPropertyNodeAdapter()
        {
            IPropertyAdapterFactory <ModelPropertyNodeAdapter> Factory = ObservableObject.GetPropertyAdapterFactory <ModelPropertyNodeAdapter>();

            ModelPropertyNodeAdapter.internalValueAdapter = Factory.Create(
                nameof(ModelPropertyNodeAdapter.InternalValue),
                instance => ModelNodeBaseAdapter.GetAdapter(instance, instance.propertyNode.Value)
                );
            ModelPropertyNodeAdapter.modelAdapter = Factory.Create(
                nameof(ModelPropertyNodeAdapter.Model),
                instance => instance.InternalValue.Model
                );
            ModelPropertyNodeAdapter.nameAdapter = Factory.Create(
                nameof(ModelPropertyNodeAdapter.Name),
                instance => instance.propertyNode.Name
                );
            ModelPropertyNodeAdapter.typenameAdapter = Factory.Create(
                nameof(ModelPropertyNodeAdapter.Typename),
                instance => instance.InternalValue.Typename
                );
            ModelPropertyNodeAdapter.valueAdapter = Factory.Create(
                nameof(ModelPropertyNodeAdapter.Value),
                instance => instance.InternalValue.Value
                );
            ModelPropertyNodeAdapter.hasValueAdapter = Factory.Create(
                nameof(ModelPropertyNodeAdapter.HasValue),
                instance => instance.InternalValue.HasValue
                );
            ModelPropertyNodeAdapter.supportsValidationAdapter = Factory.Create(
                nameof(ModelPropertyNodeAdapter.SupportsValidation),
                instance => instance.propertyNode.SupportsValidation
                );
            ModelPropertyNodeAdapter.validationSeverityAdapter = Factory.Create(
                nameof(ModelPropertyNodeAdapter.ValidationSeverity),
                instance => instance.propertyNode.ValidationSeverity
                );
            ModelPropertyNodeAdapter.validationResultsAdapter = Factory.Create(
                nameof(ModelPropertyNodeAdapter.ValidationResults),
                instance => instance.propertyNode.ValidationResults,
                (instance, message) => message
                );
            ModelPropertyNodeAdapter.childrenAdapter = Factory.Create(
                nameof(ModelPropertyNodeAdapter.Children),
                instance => instance.InternalValue.Children
                );
        }
Example #12
0
        static ModelInfoAdapter()
        {
            IPropertyAdapterFactory <ModelInfoAdapter> Factory = ObservableObject.GetPropertyAdapterFactory <ModelInfoAdapter>();

            ModelInfoAdapter.typeNameAdapter = Factory.Create(
                nameof(ModelInfoAdapter.TypeName),
                instance => instance.Model.Root.Type != null ? instance.Model.Root.Type.Name : "null"
                );
            ModelInfoAdapter.rootAdapter = Factory.Create(
                nameof(ModelInfoAdapter.Root),
                instance => ModelNodeBaseAdapter.GetAdapter(instance, instance.Model.Root)
                );
            ModelInfoAdapter.nameAdapter = Factory.Create(
                nameof(ModelInfoAdapter.Name),
                instance => instance.Model.Name,
                (instance, value) => instance.Model.Name = value
                );
        }
Example #13
0
        static AtrInvalidHistoricalBytesAdapter()
        {
            IPropertyAdapterFactory <AtrInvalidHistoricalBytesAdapter> PropertyFactory = ObservableObject.GetPropertyAdapterFactory <AtrInvalidHistoricalBytesAdapter>();

            AtrInvalidHistoricalBytesAdapter.parseErrorAdapter = PropertyFactory.Create(
                nameof(AtrInvalidHistoricalBytesAdapter.ParseError),
                instance => instance.historicalCharacters.ParseError.Error
                );

            AtrInvalidHistoricalBytesAdapter.preErrorDataAdapter = PropertyFactory.Create(
                nameof(AtrInvalidHistoricalBytesAdapter.PreErrorData),
                instance => instance.historicalCharacters.Bytes.Take(instance.historicalCharacters.ParseError.Index).ToHexString(" ")
                );
            AtrInvalidHistoricalBytesAdapter.errorDataAdapter = PropertyFactory.Create(
                nameof(AtrInvalidHistoricalBytesAdapter.ErrorData),
                instance => instance.historicalCharacters.Bytes.Skip(instance.historicalCharacters.ParseError.Index).Take(1).ToHexString(" ")
                );
            AtrInvalidHistoricalBytesAdapter.postErrorDataAdapter = PropertyFactory.Create(
                nameof(AtrInvalidHistoricalBytesAdapter.PostErrorData),
                instance => instance.historicalCharacters.Bytes.Skip(instance.historicalCharacters.ParseError.Index + 1).ToHexString(" ")
                );
        }
Example #14
0
        static SpuTypeEtsiCodingAdapter()
        {
            IPropertyAdapterFactory <SpuTypeEtsiCodingAdapter> PropertyFactory = ObservableObject.GetPropertyAdapterFactory <SpuTypeEtsiCodingAdapter>();

            SpuTypeEtsiCodingAdapter.lowImpedanceOnIoLineAvailableAdapter = PropertyFactory.Create(
                nameof(SpuTypeEtsiCodingAdapter.LowImpedanceOnIoLineAvailable),
                instance => instance.etsiCoding.LowImpedanceOnIoLineAvailable
                );

            SpuTypeEtsiCodingAdapter.interChipUsbSupportedAdapter = PropertyFactory.Create(
                nameof(SpuTypeEtsiCodingAdapter.InterChipUsbSupported),
                instance => instance.etsiCoding.InterChipUsbSupported
                );

            SpuTypeEtsiCodingAdapter.clfInterfaceSupportedAdapter = PropertyFactory.Create(
                nameof(SpuTypeEtsiCodingAdapter.ClfInterfaceSupported),
                instance => instance.etsiCoding.ClfInterfaceSupported
                );

            SpuTypeEtsiCodingAdapter.secureChannelSupportAdapter = PropertyFactory.Create(
                nameof(SpuTypeEtsiCodingAdapter.SecureChannelSupport),
                instance => EnumerationAdapter <EtsiSpuSecureChannelSupport> .GetInstanceFor(instance.etsiCoding.SecureChannelSupport)
                );
        }
        static GlobalInterfaceBytesAdapter()
        {
            IPropertyAdapterFactory <GlobalInterfaceBytesAdapter> PropertyFactory = ObservableObject.GetPropertyAdapterFactory <GlobalInterfaceBytesAdapter>();

            GlobalInterfaceBytesAdapter.protocolParameterBytes = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.ProtocolParameterBytes),
                instance => instance.globalInterfaceBytes.ParameterBytes,
                (instance, parameterByte) => ProtocolParameterByteAdapterBase.GetObject(parameterByte)
                );

            GlobalInterfaceBytesAdapter.diAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.Di),
                instance => EnumerationAdapter <Di> .GetInstanceFor(instance.globalInterfaceBytes.DiValue),
                (instance, value) => instance.globalInterfaceBytes.SetDiFiFmax(value, instance.globalInterfaceBytes.FiFmaxValue)
                );
            GlobalInterfaceBytesAdapter.fiFmaxAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.FiFmax),
                instance => EnumerationAdapter <FiFmax> .GetInstanceFor(instance.globalInterfaceBytes.FiFmaxValue),
                (instance, value) => instance.globalInterfaceBytes.SetDiFiFmax(instance.globalInterfaceBytes.DiValue, value)
                );
            GlobalInterfaceBytesAdapter.etuAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.Etu),
                instance => GlobalInterfaceBytesAdapter.CalculateEtu(instance.globalInterfaceBytes.FiFmaxValue, instance.globalInterfaceBytes.DiValue)
                );
            GlobalInterfaceBytesAdapter.diFiIsDefaultAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.DiFiIsDefault),
                instance => instance.globalInterfaceBytes.Di.HasValue == false && instance.globalInterfaceBytes.FiFmax.HasValue == false
                );
            GlobalInterfaceBytesAdapter.extraGuardTimeAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.ExtraGuardTime),
                instance => instance.globalInterfaceBytes.ExtraGuardTimeValue,
                (instance, value) => instance.globalInterfaceBytes.ExtraGuardTime = value
                );
            GlobalInterfaceBytesAdapter.extraGuardTimeIsDefaultAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.ExtraGuardTimeIsDefault),
                instance => instance.globalInterfaceBytes.ExtraGuardTime.HasValue == false
                );

            GlobalInterfaceBytesAdapter.specificModeSupportedAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.SpecificModeSupported),
                instance => instance.globalInterfaceBytes.CanChangeNegotiableSpecificMode.HasValue ||
                instance.globalInterfaceBytes.SpecificModeImplicitFiDi.HasValue ||
                instance.globalInterfaceBytes.SpecificModeProtocol.HasValue
                );
            GlobalInterfaceBytesAdapter.canChangeNegotiableSpecificModeAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.CanChangeNegotiableSpecificMode),
                instance => instance.globalInterfaceBytes.CanChangeNegotiableSpecificMode.HasValue
                          ? instance.globalInterfaceBytes.CanChangeNegotiableSpecificMode.Value
                          : false
                );
            GlobalInterfaceBytesAdapter.specificModeImplicitFiDiAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.SpecificModeImplicitFiDi),
                instance => instance.globalInterfaceBytes.SpecificModeImplicitFiDi.HasValue
                          ? instance.globalInterfaceBytes.SpecificModeImplicitFiDi.Value
                          : false
                );
            GlobalInterfaceBytesAdapter.specificModeProtocolAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.SpecificModeProtocol),
                instance => instance.globalInterfaceBytes.SpecificModeProtocol.HasValue
                          ? EnumerationAdapter <ProtocolType> .GetInstanceFor(instance.globalInterfaceBytes.SpecificModeProtocol.Value)
                          : null
                );
            GlobalInterfaceBytesAdapter.clockStopSupportAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.ClockStopSupport),
                instance => EnumerationAdapter <ClockStopSupport> .GetInstanceFor(instance.globalInterfaceBytes.ClockStopSupportValue)
                );
            GlobalInterfaceBytesAdapter.clockStopSupportAndOperatingConditionsIsDefaultAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.ClockStopSupportAndOperatingConditionsIsDefault),
                instance => instance.globalInterfaceBytes.ClockStopSupport.HasValue == false || instance.globalInterfaceBytes.OperatingConditions.HasValue == false
                );
            GlobalInterfaceBytesAdapter.operatingConditionsAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.OperatingConditions),
                instance => EnumerationAdapter <OperatingConditions> .GetInstanceFor(instance.globalInterfaceBytes.OperatingConditionsValue)
                );
            GlobalInterfaceBytesAdapter.spuUseAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.SpuUse),
                instance => EnumerationAdapter <SpuUse> .GetInstanceFor(instance.globalInterfaceBytes.SpuUseValue)
                );
            GlobalInterfaceBytesAdapter.spuUseIsDefaultAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.SpuUseIsDefault),
                instance => instance.globalInterfaceBytes.SpuUse.HasValue == false
                );
            GlobalInterfaceBytesAdapter.spuUseIsNotUsedAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.SpuUseIsNotUsed),
                instance => instance.globalInterfaceBytes.SpuUse == Classes.ATR.SpuUse.NotUsed
                );
            GlobalInterfaceBytesAdapter.spuUseIsStandardAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.SpuUseIsStandard),
                instance => instance.globalInterfaceBytes.SpuUse == Classes.ATR.SpuUse.Standard
                );
            GlobalInterfaceBytesAdapter.spuUseIsProprietaryAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.SpuUseIsProprietary),
                instance => instance.globalInterfaceBytes.SpuUse == Classes.ATR.SpuUse.Proprietary
                );
            GlobalInterfaceBytesAdapter.spuIsInUseAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.SpuIsInUse),
                instance => instance.globalInterfaceBytes.SpuUseValue != Classes.ATR.SpuUse.NotUsed
                );
            GlobalInterfaceBytesAdapter.spuTypeAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.SpuType),
                instance => instance.globalInterfaceBytes.SpuType != null ? instance.globalInterfaceBytes.SpuType.Value.ToHexString() : null
                );
            GlobalInterfaceBytesAdapter.spuTypeEtsiCodingAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.SpuTypeEtsiCoding),
                instance => instance.globalInterfaceBytes.SpuType != null && instance.globalInterfaceBytes.SpuType.EtsiCoding != null ? new SpuTypeEtsiCodingAdapter(instance.globalInterfaceBytes, instance.globalInterfaceBytes.SpuType.EtsiCoding) : null
                );

            GlobalInterfaceBytesAdapter.isVppConnectedAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.IsVppConnected),
                instance => instance.globalInterfaceBytes.IsVppConnected
                );
            GlobalInterfaceBytesAdapter.isVppConnectedisDefaultAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.IsVppConnectedIsDefault),
                instance => instance.globalInterfaceBytes.IsVppConnected.HasValue == false
                );
            GlobalInterfaceBytesAdapter.vppProgrammingVoltageAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.VppProgrammingVoltage),
                instance => instance.globalInterfaceBytes.VppProgrammingVoltage != null?instance.globalInterfaceBytes.VppProgrammingVoltage.Value.ToString("F1"):null
                );
            GlobalInterfaceBytesAdapter.vppProgrammingCurrentAdapter = PropertyFactory.Create(
                nameof(GlobalInterfaceBytesAdapter.VppProgrammingCurrent),
                instance => EnumerationAdapter <VppProgrammingCurrent> .GetInstanceFor(instance.globalInterfaceBytes.VppProgrammingCurrent)
                );
        }
Example #16
0
        static AtrViewerModel()
        {
            EnumerationAdapter <ProtocolType> .Items = new[]
            {
                new EnumerationAdapter <ProtocolType>(ProtocolType.T0, "T=0", "T=0 (half duplex)"),
                new EnumerationAdapter <ProtocolType>(ProtocolType.T1, "T=1", "T=1 (half duplex)"),
                new EnumerationAdapter <ProtocolType>(ProtocolType.T2, "T=2", "T=2 (future full duplex)"),
                new EnumerationAdapter <ProtocolType>(ProtocolType.T3, "T=3", "T=3 (future full duplex)"),
                new EnumerationAdapter <ProtocolType>(ProtocolType.T4, "T=4", "T=4 (enhanced half duplex)"),
                new EnumerationAdapter <ProtocolType>(ProtocolType.T5, "T=5", "T=5 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <ProtocolType>(ProtocolType.T6, "T=6", "T=6 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <ProtocolType>(ProtocolType.T7, "T=7", "T=7 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <ProtocolType>(ProtocolType.T8, "T=8", "T=8 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <ProtocolType>(ProtocolType.T9, "T=9", "T=9 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <ProtocolType>(ProtocolType.T10, "T=10", "T=10 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <ProtocolType>(ProtocolType.T11, "T=11", "T=11 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <ProtocolType>(ProtocolType.T12, "T=12", "T=12 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <ProtocolType>(ProtocolType.T13, "T=13", "T=13 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <ProtocolType>(ProtocolType.T14, "T=14", "T=14 (proprietary)"),
                new EnumerationAdapter <ProtocolType>(ProtocolType.RfuF, "0xF", "0xF (RFU, only used to indicate global extended interface bytes)")
            };
            EnumerationAdapter <InterfaceByteGroupType> .Items = new[]
            {
                new EnumerationAdapter <InterfaceByteGroupType>(InterfaceByteGroupType.T0, "T=0", "T=0 (half duplex)"),
                new EnumerationAdapter <InterfaceByteGroupType>(InterfaceByteGroupType.T1, "T=1", "T=1 (half duplex)"),
                new EnumerationAdapter <InterfaceByteGroupType>(InterfaceByteGroupType.T2, "T=2", "T=2 (future full duplex)"),
                new EnumerationAdapter <InterfaceByteGroupType>(InterfaceByteGroupType.T3, "T=3", "T=3 (future full duplex)"),
                new EnumerationAdapter <InterfaceByteGroupType>(InterfaceByteGroupType.T4, "T=4", "T=4 (enhanced half duplex)"),
                new EnumerationAdapter <InterfaceByteGroupType>(InterfaceByteGroupType.T5, "T=5", "T=5 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <InterfaceByteGroupType>(InterfaceByteGroupType.T6, "T=6", "T=6 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <InterfaceByteGroupType>(InterfaceByteGroupType.T7, "T=7", "T=7 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <InterfaceByteGroupType>(InterfaceByteGroupType.T8, "T=8", "T=8 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <InterfaceByteGroupType>(InterfaceByteGroupType.T9, "T=9", "T=9 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <InterfaceByteGroupType>(InterfaceByteGroupType.T10, "T=10", "T=10 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <InterfaceByteGroupType>(InterfaceByteGroupType.T11, "T=11", "T=11 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <InterfaceByteGroupType>(InterfaceByteGroupType.T12, "T=12", "T=12 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <InterfaceByteGroupType>(InterfaceByteGroupType.T13, "T=13", "T=13 (RFU ISO/IEC JTC 1/SC 17)"),
                new EnumerationAdapter <InterfaceByteGroupType>(InterfaceByteGroupType.T14, "T=14", "T=14 (proprietary)"),
                new EnumerationAdapter <InterfaceByteGroupType>(InterfaceByteGroupType.Global, "global", "global"),
                new EnumerationAdapter <InterfaceByteGroupType>(InterfaceByteGroupType.GlobalExtended, "global extended (T=15)", "global extended (T=15)")
            };
            EnumerationAdapter <ClockStopSupport> .Items = new[]
            {
                new EnumerationAdapter <ClockStopSupport>(ClockStopSupport.NotSupported, "Not supported", "Not supported"),
                new EnumerationAdapter <ClockStopSupport>(ClockStopSupport.NoPreference, "No preference", "No preference"),
                new EnumerationAdapter <ClockStopSupport>(ClockStopSupport.StateH, "State H", "High level state"),
                new EnumerationAdapter <ClockStopSupport>(ClockStopSupport.StateL, "State L", "Low level state")
            };
            EnumerationAdapter <SpuUse> .Items = new[]
            {
                new EnumerationAdapter <SpuUse>(SpuUse.NotUsed, "Not used", "Not used"),
                new EnumerationAdapter <SpuUse>(SpuUse.Standard, "Standard", "Standard"),
                new EnumerationAdapter <SpuUse>(SpuUse.Proprietary, "Proprietary", "Proprietary")
            };
            EnumerationAdapter <OperatingConditions> .Items = new[]
            {
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.AOnly, "A only", "Class A only"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.BOnly, "B only", "Class B only"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.COnly, "C only", "Class C only"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.AandB, "A and B", "Class A and B"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.BandC, "B and C", "Class B and C"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.ABandC, "A, B and C", "Classes A, B and C"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu05, "0x05", "0x05 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu08, "0x08", "0x08 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu09, "0x09", "0x09 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_0A, "0x0A", "0x0A (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_0B, "0x0B", "0x0B (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_0C, "0x0C", "0x0C (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_0D, "0x0D", "0x0D (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_0E, "0x0E", "0x0E (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_0F, "0x0F", "0x0F (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu10, "0x10", "0x10 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu11, "0x11", "0x11 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu12, "0x12", "0x12 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu13, "0x13", "0x13 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu14, "0x14", "0x14 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu15, "0x15", "0x15 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu16, "0x16", "0x16 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu17, "0x17", "0x17 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu18, "0x18", "0x18 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu19, "0x19", "0x19 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_1A, "0x1A", "0x1A (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_1B, "0x1B", "0x1B (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_1C, "0x1C", "0x1C (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_1D, "0x1D", "0x1D (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_1E, "0x1E", "0x1E (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_1F, "0x1F", "0x1F (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu20, "0x20", "0x20 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu21, "0x21", "0x21 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu22, "0x22", "0x22 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu23, "0x23", "0x23 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu24, "0x24", "0x24 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu25, "0x25", "0x25 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu26, "0x26", "0x26 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu27, "0x27", "0x27 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu28, "0x28", "0x28 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu29, "0x29", "0x29 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_2A, "0x2A", "0x2A (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_2B, "0x2B", "0x2B (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_2C, "0x2C", "0x2C (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_2D, "0x2D", "0x2D (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_2E, "0x2E", "0x2E (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_2F, "0x2F", "0x2F (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu30, "0x30", "0x30 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu31, "0x31", "0x31 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu32, "0x32", "0x32 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu33, "0x33", "0x33 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu34, "0x34", "0x34 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu35, "0x35", "0x35 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu36, "0x36", "0x36 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu37, "0x37", "0x0x37 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu38, "0x38", "0x38 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu39, "0x39", "0x39 (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_3A, "0x3A", "0x3A (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_3B, "0x3B", "0x3B (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_3C, "0x3C", "0x3C (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_3D, "0x3D", "0x3D (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_3E, "0x3E", "0x3E (RFU)"),
                new EnumerationAdapter <OperatingConditions>(OperatingConditions.Rfu_3F, "0x3F", "0x3F (RFU)")
            };
            EnumerationAdapter <VppProgrammingCurrent> .Items = new[]
            {
                new EnumerationAdapter <VppProgrammingCurrent>(VppProgrammingCurrent.Current25, "25", "25 mA"),
                new EnumerationAdapter <VppProgrammingCurrent>(VppProgrammingCurrent.Current50, "50", "50 mA"),
                new EnumerationAdapter <VppProgrammingCurrent>(VppProgrammingCurrent.Rfu10, "10b", "10b (RFU, was 100 mA)"),
                new EnumerationAdapter <VppProgrammingCurrent>(VppProgrammingCurrent.Rfu11, "11b", "11b (RFU)")
            };
            EnumerationAdapter <RedundancyCodeType> .Items = new[]
            {
                new EnumerationAdapter <RedundancyCodeType>(RedundancyCodeType.Crc, "CRC", "CRC (Cyclic Redundancy Check)"),
                new EnumerationAdapter <RedundancyCodeType>(RedundancyCodeType.Lrc, "LRC", "LRC (Longitudinal Redundancy Check)"),
            };

            EnumerationAdapter <FiFmax> .Items = new[]
            {
                new EnumerationAdapter <FiFmax>(FiFmax.Fi372FMax4, "0", "0 (F=372, 4 MHz)"),
                new EnumerationAdapter <FiFmax>(FiFmax.Fi372FMax5, "1", "1 (F=372, 5 MHz)"),
                new EnumerationAdapter <FiFmax>(FiFmax.Fi558FMax6, "2", "2 (F=558, 6 MHz)"),
                new EnumerationAdapter <FiFmax>(FiFmax.Fi744FMax8, "3", "3 (F=744, 8 MHz)"),
                new EnumerationAdapter <FiFmax>(FiFmax.Fi1116FMax12, "4", "4 (F=1116, 12 MHz)"),
                new EnumerationAdapter <FiFmax>(FiFmax.Fi1488FMax16, "5", "5 (F=1488, 16 MHz)"),
                new EnumerationAdapter <FiFmax>(FiFmax.Fi1860FMax20, "6", "6 (F=1860, 20 MHz)"),
                new EnumerationAdapter <FiFmax>(FiFmax.Rfu7, "7", "7 (RFU)"),
                new EnumerationAdapter <FiFmax>(FiFmax.Rfu8, "8", "8 (RFU)"),
                new EnumerationAdapter <FiFmax>(FiFmax.Fi512FMax5, "9", "9 (F=512, 5 MHz)"),
                new EnumerationAdapter <FiFmax>(FiFmax.Fi768FMax7P5, "A", "A (F=768, 7.5 MHz)"),
                new EnumerationAdapter <FiFmax>(FiFmax.Fi1024FMax10, "B", "B (F=1024, 10 MHz)"),
                new EnumerationAdapter <FiFmax>(FiFmax.Fi1536FMax15, "C", "C (F=1536, 15 MHz)"),
                new EnumerationAdapter <FiFmax>(FiFmax.Fi2048FMax20, "D", "D (F=2048, 20 MHz)"),
                new EnumerationAdapter <FiFmax>(FiFmax.RfuE, "E", "E (RFU)"),
                new EnumerationAdapter <FiFmax>(FiFmax.RfuF, "F", "F (RFU)")
            };

            EnumerationAdapter <Di> .Items = new[]
            {
                new EnumerationAdapter <Di>(Di.Rfu0, "0", "0 (= RFU)"),
                new EnumerationAdapter <Di>(Di.Di1, "1", "1 (D=1)"),
                new EnumerationAdapter <Di>(Di.Di2, "2", "2 (D=2)"),
                new EnumerationAdapter <Di>(Di.Di4, "3", "3 (D=4)"),
                new EnumerationAdapter <Di>(Di.Di8, "4", "4 (D=8)"),
                new EnumerationAdapter <Di>(Di.Di16, "5", "5 (D=16)"),
                new EnumerationAdapter <Di>(Di.Di32, "6", "6 (D=32)"),
                new EnumerationAdapter <Di>(Di.Di64, "7", "7 (D=64)"),
                new EnumerationAdapter <Di>(Di.Di12, "8", "8 (D=12)"),
                new EnumerationAdapter <Di>(Di.Di20, "9", "9 (D=20)"),
                new EnumerationAdapter <Di>(Di.RfuA, "A", "A (RFU)"),
                new EnumerationAdapter <Di>(Di.RfuB, "B", "B (RFU)"),
                new EnumerationAdapter <Di>(Di.RfuC, "C", "C (RFU)"),
                new EnumerationAdapter <Di>(Di.RfuD, "D", "D (RFU)"),
                new EnumerationAdapter <Di>(Di.RfuE, "E", "E (RFU)"),
                new EnumerationAdapter <Di>(Di.RfuF, "F", "F (RFU)")
            };

            EnumerationAdapter <EtsiSpuSecureChannelSupport> .Items = new[]
            {
                new EnumerationAdapter <EtsiSpuSecureChannelSupport>(EtsiSpuSecureChannelSupport.NotIndicated, "Not indicated", "Support not indicated"),
                new EnumerationAdapter <EtsiSpuSecureChannelSupport>(EtsiSpuSecureChannelSupport.SecureChannelSupported, "Secure Channel", "Secure Channel supported as defined in TS 102 484"),
                new EnumerationAdapter <EtsiSpuSecureChannelSupport>(EtsiSpuSecureChannelSupport.SecuredApduRequired, "Secured APDU", "Secured APDU - Platform to Platform required as defined in TS 102 484"),
                new EnumerationAdapter <EtsiSpuSecureChannelSupport>(EtsiSpuSecureChannelSupport.Rfu01, "01b (RFU)", "01b (RFU)"),
            };

            EnumerationAdapter <HistoricalCharacterTypes> .Items = new[]
            {
                new EnumerationAdapter <HistoricalCharacterTypes>(HistoricalCharacterTypes.CompactTlv, "Compact TLV", "Compact TLV (00/80)"),
                new EnumerationAdapter <HistoricalCharacterTypes>(HistoricalCharacterTypes.DirDataReference, "Dir Data Reference", "Dir Data Reference (10)"),
                new EnumerationAdapter <HistoricalCharacterTypes>(HistoricalCharacterTypes.Proprietary, "Proprietary", "Proprietary (01-0A/11-7F/90-FF)"),
                new EnumerationAdapter <HistoricalCharacterTypes>(HistoricalCharacterTypes.Rfu, "RFU", "RFU (81-8F)"),
                new EnumerationAdapter <HistoricalCharacterTypes>(HistoricalCharacterTypes.No, "No", "No historical characters"),
            };

            IPropertyAdapterFactory <AtrViewerModel> PropertyFactory = ObservableObject.GetPropertyAdapterFactory <AtrViewerModel>();

            AtrViewerModel.tokenizedAtrAdapter = PropertyFactory.Create(
                nameof(AtrViewerModel.TokenizedAtr),
                instance => new TokenizedAtrAdapter(instance.Atr.TokenizedAtr)
                );

            AtrViewerModel.interpretedAtrAdapter = PropertyFactory.Create(
                nameof(AtrViewerModel.InterpretedAtr),
                instance => new InterpretedAtrAdapter(instance.Atr)
                );
        }