📄 configuration.cs
字号:
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 + -