internal IrcMode GetIrcMode()
{
var mode = _configFile.Descendants("irc_mode").Select(m => m.Value).FirstOrDefault();
if (mode == default(string))
return IrcMode.Modern;
#if NET4
IrcMode result;
if (Enum.TryParse(mode, true, out result))
{
return result;
}
return IrcMode.Modern;
#else
try
{
return (IrcMode)Enum.Parse(typeof(IrcMode), mode, true);
}
catch (ArgumentException)
{
return IrcMode.Modern;
}
#endif
}
public static void Start() { var settings = new Settings(); var ircDaemon = new IrcDaemon(settings.GetIrcMode()); settings.SetDaemon(ircDaemon); settings.LoadSettings(); if (blocking) { ircDaemon.Start(); } else { ircDaemon.ServerRehash += ServerRehash; var serverThread = new Thread(ircDaemon.Start) { IsBackground = false, Name = "serverThread-1" }; serverThread.Start(); } }