public ClassicBasisFactoryConfiguration(string ID)
            : base(ID)
        {
            itemAlgorithms = ConfigurationFactory.CreateStringOptionUniqueConfigurationItem(idAlgorithms);
            itemAlgorithms.Selection = itemAlgorithmDefault;
            //string[] AllRandomnessAlgoritms = RandomnessFactory.CollectAllAlgorithmID();
            //foreach (string RandomnessAlgorithm in AllRandomnessAlgoritms)
            //{itemDefaultAlgorithm.Options.Add(RandomnessAlgorithm);}
            this.addObject(itemAlgorithms);

            itemSeed = ConfigurationFactory.CreateIntegerConfigurationItem(idSeed);
            itemSeed.MaxValue = itemSeedMax;
            itemSeed.MinValue = itemSeedMin;
            itemSeed.Value = (int)System.DateTime.UtcNow.Ticks;
            this.addObject(itemSeed);

            itemCapacity = ConfigurationFactory.CreateIntegerConfigurationItem(idCapacity);
            itemCapacity.MaxValue = itemCapacityMax;
            itemCapacity.MinValue = itemCapacityMin;
            itemCapacity.Value = itemCapacityValue;
            this.addObject(itemCapacity);

            itemMin = ConfigurationFactory.CreateIntegerConfigurationItem(idMin);
            itemMin.MaxValue = itemMinMax;
            itemMin.MinValue = itemMinMin;
            itemMin.Value = itemMinValue;
            this.addObject(itemMin);

            itemMax = ConfigurationFactory.CreateIntegerConfigurationItem(idMax);
            itemMax.MaxValue = itemMaxMax;
            itemMax.MinValue = itemMaxMin;
            itemMax.Value = itemMaxValue;
            this.addObject(itemMax);
        }
        public BB84ProtocolFactoryConfiguration(string ID)
            : base(ID)
        {
            itemLogEnabled = ConfigurationFactory.CreateBoolConfigurationItem(idLogEnabled);
            itemLogEnabled.Value = itemLogEnabledValue;
            this.addObject(itemLogEnabled);

            itemBulkLog = ConfigurationFactory.CreateBoolConfigurationItem(idBulkLog);
            itemBulkLog.Value = itemBulkLogValue;
            this.addObject(itemBulkLog);

            itemDelta = ConfigurationFactory.CreateIntegerConfigurationItem(idDelta);
            itemDelta.MaxValue = itemDeltaMax;
            itemDelta.MinValue = itemDeltaMin;
            itemDelta.Value = itemDeltaValue;
            itemDelta.Comment = itemDeltaComment;
            this.addObject(itemDelta);

            itemPerformKeyPartialComparison = ConfigurationFactory.CreateBoolConfigurationItem(idPerformKeyPartialComparison);
            itemPerformKeyPartialComparison.Value = itemPerformKeyPartialComparisonValue;
            this.addObject(itemPerformKeyPartialComparison);

            itemPerformPrivacyAmplification = ConfigurationFactory.CreateBoolConfigurationItem(idPerformPrivacyAmplification);
            itemPerformPrivacyAmplification.Value = itemPerformPrivacyAmplificationValue;
            this.addObject(itemPerformPrivacyAmplification);

            itemErrorToleranceLevel = ConfigurationFactory.CreateFloatConfigurationItem(idErrorToleranceLevel);
            itemErrorToleranceLevel.MaxValue = itemErrorToleranceLevelMax;
            itemErrorToleranceLevel.MinValue = itemErrorToleranceLevelMin;
            itemErrorToleranceLevel.Value = itemErrorToleranceLevelValue;
            this.addObject(itemErrorToleranceLevel);
        }
        public RandomnessAlgorithmConfiguration(string ID)
            : base(ID)
        {
            itemUseDefaultConfiguration = ConfigurationFactory.CreateBoolConfigurationItem(idUseGlobalConfiguration);
            itemUseDefaultConfiguration.Value = itemUseDefaultConfigurationValue;
            this.addObject(itemUseDefaultConfiguration);

            itemSeed = ConfigurationFactory.CreateIntegerConfigurationItem(idSeed);
            itemSeed.MaxValue = ((IntegerConfigurationItem)RandomnessAlgorithmFactory.Configuration.findProperty(RandomnessAlgorithmFactory.Configuration.idSeed)).MaxValue;
            itemSeed.MinValue = ((IntegerConfigurationItem)RandomnessAlgorithmFactory.Configuration.findProperty(RandomnessAlgorithmFactory.Configuration.idSeed)).MinValue;
            itemSeed.Value = RandomnessAlgorithmFactory.Configuration.Seed;
            this.addObject(itemSeed);

            itemCapacity = ConfigurationFactory.CreateIntegerConfigurationItem(idCapacity);
            itemCapacity.MaxValue = ((IntegerConfigurationItem)RandomnessAlgorithmFactory.Configuration.findProperty(RandomnessAlgorithmFactory.Configuration.idCapacity)).MaxValue;
            itemCapacity.MinValue = ((IntegerConfigurationItem)RandomnessAlgorithmFactory.Configuration.findProperty(RandomnessAlgorithmFactory.Configuration.idCapacity)).MinValue;
            itemCapacity.Value = RandomnessAlgorithmFactory.Configuration.Capacity;
            this.addObject(itemCapacity);

            itemMin = ConfigurationFactory.CreateIntegerConfigurationItem(idMin);
            itemMin.MaxValue = ((IntegerConfigurationItem)RandomnessAlgorithmFactory.Configuration.findProperty(RandomnessAlgorithmFactory.Configuration.idMin)).MaxValue;
            itemMin.MinValue = ((IntegerConfigurationItem)RandomnessAlgorithmFactory.Configuration.findProperty(RandomnessAlgorithmFactory.Configuration.idMin)).MinValue;
            itemMin.Value = RandomnessAlgorithmFactory.Configuration.Min;
            this.addObject(itemMin);

            itemMax = ConfigurationFactory.CreateIntegerConfigurationItem(idMax);
            itemMax.MaxValue = ((IntegerConfigurationItem)RandomnessAlgorithmFactory.Configuration.findProperty(RandomnessAlgorithmFactory.Configuration.idMax)).MaxValue;
            itemMax.MinValue = ((IntegerConfigurationItem)RandomnessAlgorithmFactory.Configuration.findProperty(RandomnessAlgorithmFactory.Configuration.idMax)).MinValue;
            itemMax.Value = RandomnessAlgorithmFactory.Configuration.Max;
            this.addObject(itemMax);
        }
        public RandomnessAlgortihmFactoryConfiguration(string ID)
            : base(ID)
        {
            itemAlgorithms = ConfigurationFactory.CreateStringOptionUniqueConfigurationItem(idAlgorithms);
            itemAlgorithms.Selection = itemAlgorithmsValue;
            this.addObject(itemAlgorithms);

            itemSeed = ConfigurationFactory.CreateIntegerConfigurationItem(idSeed);
            itemSeed.MaxValue = itemSeedMax;
            itemSeed.MinValue = itemSeedMin;
            itemSeed.Value = (int)System.DateTime.UtcNow.Ticks;
            this.addObject(itemSeed);

            itemCapacity = ConfigurationFactory.CreateIntegerConfigurationItem(idCapacity);
            itemCapacity.MaxValue = itemCapacityMax;
            itemCapacity.MinValue = itemCapacityMin;
            itemCapacity.Value = itemCapacityValue;
            this.addObject(itemCapacity);

            itemMin = ConfigurationFactory.CreateIntegerConfigurationItem(idMin);
            itemMin.MaxValue = itemMinMax;
            itemMin.MinValue = itemMinMin;
            itemMin.Value = itemMinValue;
            this.addObject(itemMin);

            itemMax = ConfigurationFactory.CreateIntegerConfigurationItem(idMax);
            itemMax.MaxValue = itemMaxMax;
            itemMax.MinValue = itemMaxMin;
            itemMax.Value = itemMaxValue;
            this.addObject(itemMax);
        }
        public BB84ProtocolConfiguration(string ID)
            : base(ID)
        {
            itemUseGlobalConfiguration = ConfigurationFactory.CreateBoolConfigurationItem(idUseGlobalConfiguration);
            itemUseGlobalConfiguration.Value = itemUseGlobalConfigurationValue;
            this.addObject(itemUseGlobalConfiguration);

            itemLogEnabled = ConfigurationFactory.CreateBoolConfigurationItem(idLogEnabled);
            itemLogEnabled.Value = ((BoolConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idLogEnabled)).Value;
            this.addObject(itemLogEnabled);

            itemBulkLog = ConfigurationFactory.CreateBoolConfigurationItem(idBulkLog);
            itemBulkLog.Value = ((BoolConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idBulkLog)).Value;
            this.addObject(itemBulkLog);

            itemDelta = ConfigurationFactory.CreateIntegerConfigurationItem(idDelta);
            itemDelta.MaxValue = ((IntegerConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idDelta)).MaxValue;
            itemDelta.MinValue = ((IntegerConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idDelta)).MinValue;
            itemDelta.Value = ((IntegerConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idDelta)).Value;
            this.addObject(itemDelta);

            itemPerformKeyPartialComparison = ConfigurationFactory.CreateBoolConfigurationItem(idPerformKeyPartialComparison);
            itemPerformKeyPartialComparison.Value = ((BoolConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idPerformKeyPartialComparison)).Value;
            this.addObject(itemPerformKeyPartialComparison);

            itemPerformPrivacyAmplification = ConfigurationFactory.CreateBoolConfigurationItem(idPerformPrivacyAmplification);
            itemPerformPrivacyAmplification.Value = ((BoolConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idPerformPrivacyAmplification)).Value;
            this.addObject(itemPerformPrivacyAmplification);

            itemErrorToleranceLevel = ConfigurationFactory.CreateFloatConfigurationItem(idErrorToleranceLevel);
            itemErrorToleranceLevel.MaxValue = ((FloatConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idErrorToleranceLevel)).MaxValue;
            itemErrorToleranceLevel.MinValue = ((FloatConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idErrorToleranceLevel)).MinValue;
            itemErrorToleranceLevel.Value = ((FloatConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idErrorToleranceLevel)).Value;
            this.addObject(itemErrorToleranceLevel);
        }
        public ClassicOperatorDelayConfiguration(string ID)
            : base(ID)
        {
            itemDelayEnabled = ConfigurationFactory.CreateBoolConfigurationItem(idDelayEnabled);
            itemDelayEnabled.Value = itemDelayEnabledValue;
            this.addObject(itemDelayEnabled);

            itemDelayMilliseconds = ConfigurationFactory.CreateIntegerConfigurationItem(idDelayMilliseconds);
            itemDelayMilliseconds.MaxValue = itemDelayMillisecondsMax;
            itemDelayMilliseconds.MinValue = itemDelayMillisecondsMin;
            itemDelayMilliseconds.Value = itemDelayMillisecondsValue;
            this.addObject(itemDelayMilliseconds);
        }
 public static IntegerConfigurationItem CreateIntegerConfigurationItem(string ID, bool volatil)
 {
     IntegerConfigurationItem item = new IntegerConfigurationItem(ID, volatil);
     return item;
 }