public void DeployDomain(sDeployedDomain domain) { DirectoryInfo di = new DirectoryInfo(Settings.Current[Constants.BASE_PATH_NAME].ToString() + Path.DirectorySeparatorChar + Constants.DEFAULT_CONF_DIR + Path.DirectorySeparatorChar + Constants.DEFAULT_EXTENSIONS_DIRECTORY + Path.DirectorySeparatorChar + domain.Name); if (!di.Exists) { Log.Trace("Creating domain directory " + domain.Name + " for extensions"); di.Create(); } FileInfo fi = new FileInfo(di.FullName + ".xml"); if (fi.Exists) fi.Delete(); Log.Trace("Deploying domain configuration file for domain " + domain.Name); string str = Utility.ReadEmbeddedResource("Org.Reddragonit.FreeSwitchConfig.DataCore.Generators.resources.BaseConfigurations.domain.st"); Template st = new Template(str); st.SetAttribute("domain", domain); FileStream fs = fi.OpenWrite(); st.WriteToStream(fs); fs.Close(); }
internal DomainDeploymentEvent(sDeployedDomain domain) { _pars.Add("Domain", domain); }
public void DeployDomain(sDeployedDomain domain) { lock (_cachedMessageCount) { string[] keys = new string[_cachedMessageCount.Count]; _cachedMessageCount.Keys.CopyTo(keys, 0); foreach (string str in keys) { if (str.EndsWith("@" + domain.Name)) _cachedMessageCount.Remove(str); } } }
internal static List<string> GetExtensionNumbersForDomain(sDeployedDomain domain) { List<string> ret = new List<string>(); Lock(); foreach (sDeployedExtension ext in extensions) { if (ext.DomainName == domain.Name) ret.Add(ext.Number); } foreach (sDeployedIncomingSIPTrunk ist in itrunks) { if (ist.DomainName == domain.Name) ret.Add(ist.Number); } UnLock(); return ret; }
public static void RegenerateDomainFile(Domain domain) { sDeployedDomain dom = new sDeployedDomain(domain); Lock(); List<sDeployedDomain> doms = domains; bool add = true; for (int x = 0; x < doms.Count; x++) { if (doms[x].Name == dom.Name) { doms[x] = dom; add = false; break; } } if (add) doms.Add(dom); domains = doms; UnLock(); _deployer.DeployDomain(dom); EventController.TriggerEvent(new DomainDeploymentEvent(dom)); }