Ejemplo n.º 1
0
        /// <summary>
        ///     判断一系列规则后是否启用
        /// </summary>
        /// <param name="rules">规则们</param>
        /// <returns>是否启用</returns>
        public bool IfAllowed(List <JRule> rules)
        {
            if (rules == null)
            {
                return(true);
            }
            if (rules.Count == 0)
            {
                return(true);
            }
            var allowed = false;

            foreach (var rule in rules)
            {
                if (rule.OS == null)
                {
                    allowed = rule.Action == "allow";
                    continue;
                }
                if (rule.OS.Name == "windows")
                {
                    allowed = rule.Action == "allow";
                }
                if (rule.OS.Arch == "x" + SystemTools.GetArch().Replace("32", "86"))
                {
                    allowed = rule.Action == "allow";
                }
                if (rule.OS.Version == "^" + SystemTools.GetSystemVersion() + "\\.")
                {
                    allowed = rule.Action == "allow";
                }
            }
            return(allowed);
        }