コード例 #1
0
        public static void Initialize()
        {
            OnlineRules.Updated += (success) => {
                raiseChangedEvent();
            };

            CustomRules.Rules.ListChanged += (sender, e) => {
                raiseChangedEvent();
            };

            Changed += GenerateActionFile;

            settings.PropertyChanged += (sender, e) => {
                switch (e.PropertyName)
                {
                case "ProxyType": break;

                case "SshSocksPort": break;

                case "HttpServer": break;

                case "HttpPort": break;

                case "UseOnlineRules": break;

                case "UseCustomRules": break;

                default: return;
                }

                GenerateActionFile();
            };

            settings.PropertyChanged += (sender, e) => {
                switch (e.PropertyName)
                {
                case "UseOnlineRules": break;

                default: return;
                }

                if (settings.UseOnlineRules && !File.Exists(settings.OnlineRulesFileName))
                {
                    OnlineRules.Update();
                }
            };

            //if (!File.Exists(settings.PrivoxyActionFileName))
            GenerateActionFile();

            if (
                settings.UseOnlineRules &&
                (DateTime.Now - settings.OnlineRulesLastUpdateTime).Ticks / 10000000 >= settings.OnlineRulesUpdateInterval ||
                !File.Exists(settings.OnlineRulesFileName)
                )
            {
                OnlineRules.Update();
            }
        }
コード例 #2
0
ファイル: Rules.cs プロジェクト: dospkgj/x-wall
        public static void Initialize()
        {
            if (initialized)
            {
                return;
            }
            initialized = true;

            OnlineRules.Updated += (success) => {
                raiseChangedEvent();
            };

            CustomRules.Rules.ListChanged += (sender, e) => {
                raiseChangedEvent();
            };

            Changed += GenerateActionFile;

            settings.PropertyChanged += (sender, e) => {
                switch (e.PropertyName)
                {
                case "ProxyType": break;

                case "GaPort": break;

                case "SshSocksPort": break;

                case "HttpServer": break;

                case "HttpPort": break;

                case "ForwardAll": break;

                case "UseOnlineRules": break;

                //case "UseCustomRules": break;
                case "UseIntranetProxy": break;

                case "IntranetProxyServer": break;

                case "IntranetProxyPort": break;

                default: return;
                }

                GenerateActionFile();
            };

            settings.PropertyChanged += (sender, e) => {
                switch (e.PropertyName)
                {
                case "UseOnlineRules": break;

                default: return;
                }

                if (settings.UseOnlineRules && !File.Exists(App.AppDataDirectory + settings.ConfigsFolderName + settings.OnlineRulesFileName))
                {
                    OnlineRules.Update();
                }
            };

            settings.PropertyChanged += (sender, e) => {
                switch (e.PropertyName)
                {
                case "SubmitNewRule": break;

                default: return;
                }

                updateNewRuleSubmitToggleFile();
            };

            //if (!File.Exists(settings.PrivoxyActionFileName))

            GenerateActionFile();
            updateNewRuleSubmitToggleFile();

            if (
                settings.UseOnlineRules &&
                (DateTime.Now - settings.OnlineRulesLastUpdateTime).Ticks / 10000000 >= settings.OnlineRulesUpdateInterval ||
                !File.Exists(App.AppDataDirectory + settings.ConfigsFolderName + settings.OnlineRulesFileName)
                )
            {
                OnlineRules.Update();
            }
        }