コード例 #1
0
        private OVAL.Variables.VariableType CreateVariableType(VariablesTypeVariableExternal_variable declaredExternalVariable)
        {
            var fakeVariableValue = declaredExternalVariable.id.Replace("oval:gov.nist.fdcc.xpfirewall:var:", string.Empty);

            return(new OVAL.Variables.VariableType
            {
                id = declaredExternalVariable.id,
                comment = declaredExternalVariable.comment,
                datatype = declaredExternalVariable.datatype,
                value = new string[] { fakeVariableValue }.ToList()
            });
        }
コード例 #2
0
        private IEnumerable<string> VerifyRestrictions(string value, VariablesTypeVariableExternal_variable externalVariable)
        {
            List<string> messages = new List<string>();
            IEnumerable<PossibleRestrictionType> possibleRestrictions = externalVariable.GetPossibleRestrictions();
            foreach (var possibleRestriction in possibleRestrictions)
            {
                foreach (var restriction in possibleRestriction.Items)
                {
                    messages.AddRange(this.ApplyRestriction(restriction, value, externalVariable.datatype, possibleRestriction.hint));
                }
            }


            return messages;  
        }
コード例 #3
0
        private IEnumerable <string> VerifyRestrictions(string value, VariablesTypeVariableExternal_variable externalVariable)
        {
            List <string> messages = new List <string>();
            IEnumerable <PossibleRestrictionType> possibleRestrictions = externalVariable.GetPossibleRestrictions();

            foreach (var possibleRestriction in possibleRestrictions)
            {
                foreach (var restriction in possibleRestriction.Items)
                {
                    messages.AddRange(this.ApplyRestriction(restriction, value, externalVariable.datatype, possibleRestriction.hint));
                }
            }


            return(messages);
        }
コード例 #4
0
 public IEnumerable<string> ValidateValue(VariablesTypeVariableExternal_variable externalVariable, string value)
 {
     List<string> messages = new List<string>();
     IEnumerable<PossibleValueType> possibleValues = externalVariable.GetPossibleValues();
     if (externalVariable.HasPossibleRestriction())
     {
         messages.AddRange(this.VerifyRestrictions(value, externalVariable));
         if (messages.Count() > 0)
         {
             if (this.TheValueExistsInPossibleValues(value, possibleValues))
                 messages.Clear();
         }
     }
     else
     {
         messages.AddRange(this.VerifyPossibleValues(value, possibleValues));
     }
     return messages;
 }
コード例 #5
0
        public ExternalVariableEditor CreateExternalVariableEditor(VariablesTypeVariableExternal_variable externalVariable)
        {
            switch (externalVariable.datatype)
            {
            case SimpleDatatypeEnumeration.@string:
                return(new StringExternalVariableEditor(externalVariable));

            case SimpleDatatypeEnumeration.@int:
                return(new IntExternalVariableEditor(externalVariable));

            case SimpleDatatypeEnumeration.boolean:
                return(new BooleanExternalVariableEditor(externalVariable));

            case SimpleDatatypeEnumeration.binary:
                return(new BinaryExternalVariableEditor(externalVariable));

            default:
                throw new NotImplementedException();
            }
        }
コード例 #6
0
        public IEnumerable <string> ValidateValue(VariablesTypeVariableExternal_variable externalVariable, string value)
        {
            List <string> messages = new List <string>();
            IEnumerable <PossibleValueType> possibleValues = externalVariable.GetPossibleValues();

            if (externalVariable.HasPossibleRestriction())
            {
                messages.AddRange(this.VerifyRestrictions(value, externalVariable));
                if (messages.Count() > 0)
                {
                    if (this.TheValueExistsInPossibleValues(value, possibleValues))
                    {
                        messages.Clear();
                    }
                }
            }
            else
            {
                messages.AddRange(this.VerifyPossibleValues(value, possibleValues));
            }
            return(messages);
        }
コード例 #7
0
 public IntExternalVariableEditor(VariablesTypeVariableExternal_variable externalVariable)
     : base(externalVariable)
 {
 }
コード例 #8
0
 public ExternalVariableEditor(VariablesTypeVariableExternal_variable variable)
 {
     this.externalVariable = variable;
 }
コード例 #9
0
 public ExternalVariableEvaluator(VariablesTypeVariableExternal_variable variable, oval_variables external_variables)
 {
     this.variable = variable;
     this.external_variables = external_variables;
 }
コード例 #10
0
 public ExternalVariableEvaluator(VariablesTypeVariableExternal_variable variable, oval_variables external_variables)
 {
     this.variable           = variable;
     this.external_variables = external_variables;
 }
コード例 #11
0
 public BooleanExternalVariableEditor(VariablesTypeVariableExternal_variable externalVariable)
     : base(externalVariable)
 {
 }