public virtual bool CopyTo(IConfig config) { string name = config.Name; if (config.BuildConfig(ToFullXml())) { ((CConfig)config).SystemContext = this.SystemContext; if (name != null && !name.Equals("")) { ((CConfig)config).Name = name; } return(true); } return(false); }
public IConfig BuildConfigFromXml(string xml) { XmlDocument doc = new XmlDocument(); try { doc.LoadXml(xml.StartsWith("<?xml ") ? xml : string.Format("<?xml version=\"1.0\" encoding=\"GBK\" ?>{0}", xml)); IConfig config = CreateConfigInstance(doc.DocumentElement); if (config != null) { config.BuildConfig(xml); return(config); } } catch (Exception e) { CLocalSystem.WriteErrorLog(string.Format("CConfigManager.CreateConfigFromXml Exception: {0}", e)); } return(null); }
public static void UpdateRemoteConfig(IMonitorSystemContext context, string name, string data, bool saveConfig) { IConfig config = null; if (data.StartsWith("<Monitor>")) { config = context.MonitorConfigManager.GetConfig(name); } else if (data.StartsWith("<MonitorType>")) { config = context.MonitorTypeManager.GetConfig(name); } else if (data.StartsWith("<VideoSource>")) { config = context.VideoSourceConfigManager.GetConfig(name); } else if (data.StartsWith("<VideoSourceType>")) { config = context.VideoSourceTypeManager.GetConfig(name); } else if (data.StartsWith("<Action>")) { config = context.ActionConfigManager.GetConfig(name); } else if (data.StartsWith("<ActionType>")) { config = context.ActionTypeManager.GetConfig(name); } else if (data.StartsWith("<Scheduler>")) { config = context.SchedulerConfigManager.GetConfig(name); } else if (data.StartsWith("<SchedulerType>")) { config = context.SchedulerTypeManager.GetConfig(name); } else if (data.StartsWith("<Task>")) { config = context.TaskConfigManager.GetConfig(name); } else if (data.StartsWith("<TaskType>")) { config = context.TaskTypeManager.GetConfig(name); } else if (data.StartsWith("<RemoteSystem>")) { config = context.RemoteSystemConfigManager.GetConfig(name); } else if (data.StartsWith("<Role>")) { config = context.RoleConfigManager.GetConfig(name); } else if (data.StartsWith("<User>")) { config = context.UserConfigManager.GetConfig(name); } if (config != null) { IConfig temp = config.Clone(); temp.BuildConfig(data); if (temp.StoreVersion > config.StoreVersion) { config.BuildConfig(data); config.OnChanged(saveConfig); } } }