⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configuration.cs

📁 破解的飞信源代码
💻 CS
📖 第 1 页 / 共 2 页
字号:
namespace Imps.Client.Core
{
    using Imps.Client.Utils;
    using Imps.Utils;
    using System;
    using System.Text;
    using System.Xml;

    public class Configuration : ICommittable
    {
        private static Imps.Client.Core.FixedClientSetting _fixedClientSetting = Imps.Client.Core.FixedClientSetting.Instance;
        private User _owner;
        private Imps.Client.Core.SystemSetting _sysSetting;
        private Imps.Client.Core.UserSetting _userSetting;

        public Configuration(User owner)
        {
            if (owner == null)
            {
                throw new NullReferenceException("owner");
            }
            this._owner = owner;
            this._userSetting = new Imps.Client.Core.UserSetting(owner);
            this._sysSetting = new Imps.Client.Core.SystemSetting();
            this.Clear();
        }

        public void Clear()
        {
            this._sysSetting.Clear();
            this._userSetting.Clear();
        }

        public void ClearImpsUserCfg()
        {
            this._userSetting.ClearImpsUserCfg();
        }

        public void ClearSysCfg()
        {
            this._sysSetting.Clear();
        }

        public void ClearWndUserCfg()
        {
            this._userSetting.ClearWndUserCfg();
        }

        public bool CommitChanges(AsyncBizOperation op)
        {
            try
            {
                this._userSetting.CommitProposedProperties(op);
                return true;
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);
                return false;
            }
        }

        private void InitCustomerCfgNode(XmlNode CusCfgNode)
        {
            if (CusCfgNode != null)
            {
                foreach (XmlNode node in CusCfgNode.ChildNodes)
                {
                    switch (node.Name)
                    {
                        case "MainWindowSetting":
                        {
                            this._userSetting.MainWindowSetting.LoadXml(node);
                            continue;
                        }
                        case "ConversationSetting":
                        {
                            this._userSetting.ConversationSetting.LoadXml(node);
                            continue;
                        }
                        case "SensorSetting":
                        {
                            this._userSetting.SensorSetting.LoadXml(node);
                            continue;
                        }
                        case "TipWindowSetting":
                        {
                            this._userSetting.NotifyWinodwSetting.LoadXml(node);
                            continue;
                        }
                        case "MoodPhrases":
                        {
                            this._userSetting.MoodPhrases.LoadXml(node);
                            continue;
                        }
                        case "AutoReplies":
                        {
                            this._userSetting.InitAutoReplies(node);
                            continue;
                        }
                        case "LongSMSSetting":
                        {
                            this._userSetting.InitLongSmsSetting(node);
                            continue;
                        }
                        case "CustomerPresences":
                        {
                            this._userSetting.CustomPresences.LoadXml(node);
                            continue;
                        }
                    }
                }
            }
        }

        private void InitLocalCfgNode(XmlNode LocalCfgNode)
        {
            if (LocalCfgNode != null)
            {
                foreach (XmlNode node in LocalCfgNode.ChildNodes)
                {
                    switch (node.Name)
                    {
                        case "ConversationSetting":
                        {
                            this._userSetting.ConversationSetting.LoadLocalUserCfg(node);
                            continue;
                        }
                        case "MainWindowSetting":
                            break;

                        default:
                        {
                            continue;
                        }
                    }
                    this._userSetting.MainWindowSetting.LoadLocalUserCfg(node);
                }
            }
        }

        public void InitSysSetting(string strXml)
        {
            XmlDocument document = new XmlDocument();
            document.LoadXml(strXml);
            this.LoadSysSetting(document.SelectSingleNode("config"));
        }

        public void LoadAll()
        {
            this.LoadSysCfg();
            this.LoadImpsUserCfg();
        }

        public void LoadImpsUserCfg()
        {
            this._owner.PersistentManager.LoadImpsUserConfig(new PersistentDelegate(this.LoadUserSetting));
        }

        public void LoadSysCfg()
        {
            this._owner.PersistentManager.LoadSystemConfig(new PersistentDelegate(this.LoadSysSetting));
        }

        public void LoadSysSetting(XmlNode xmlNode)
        {
            if (xmlNode != null)
            {
                foreach (XmlNode node in xmlNode.ChildNodes)
                {
                    switch (node.Name)
                    {
                        case "service-no":
                        {
                            this._sysSetting.InitSvcNo(node);
                            continue;
                        }
                        case "parameters":
                        {
                            this._sysSetting.InitParameters(node);
                            continue;
                        }
                        case "servers":
                        {
                            this._sysSetting.InitSvrUriSetting(node);
                            continue;
                        }
                        case "http-applications":
                        {
                            this._sysSetting.InitHttpSvrUriSetting(node);
                            continue;
                        }
                        case "hints":
                        {
                            this._sysSetting.InitHintsSetting(node);
                            continue;
                        }
                        case "client-config":
                            break;

                        default:
                        {
                            continue;
                        }
                    }
                    this._sysSetting.InitSysClientConfig(node);
                }
                if (xmlNode.Attributes["Navigator"] != null)
                {
                    this._sysSetting.NavigatorServerUri = xmlNode.Attributes["Navigator"].Value;
                }
                if (xmlNode.Attributes["ClientVersion"] != null)
                {
                    this._sysSetting.ClientVersion = xmlNode.Attributes["ClientVersion"].Value;
                }
            }
        }

        public void LoadUserSetting(XmlNode xmlNode)
        {
            if (xmlNode != null)
            {
                foreach (XmlNode node in xmlNode.ChildNodes)
                {
                    switch (node.Name)
                    {
                        case "config":
                        {
                            foreach (XmlAttribute attribute in node.Attributes)
                            {
                                bool val;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -