using System; using System.Configuration; using TechBot.Library; namespace TechBot.Console { class MainClass { private static void VerifyRequiredOption(string optionName, string optionValue) { if (optionValue == null) { throw new Exception(String.Format("Option '{0}' not set.", optionName)); } } private static string IRCServerHostName { get { string optionName = "IRCServerHostName"; string s = ConfigurationSettings.AppSettings[optionName]; VerifyRequiredOption(optionName, s); return s; } } private static int IRCServerHostPort { get { string optionName = "IRCServerHostPort"; string s = ConfigurationSettings.AppSettings[optionName]; VerifyRequiredOption(optionName, s); return Int32.Parse(s); } } private static string IRCChannelNames { get { string optionName = "IRCChannelNames"; string s = ConfigurationSettings.AppSettings[optionName]; VerifyRequiredOption(optionName, s); return s; } } private static string IRCBotName { get { string optionName = "IRCBotName"; string s = ConfigurationSettings.AppSettings[optionName]; VerifyRequiredOption(optionName, s); return s; } } private static string IRCBotPassword { get { string optionName = "IRCBotPassword"; string s = ConfigurationSettings.AppSettings[optionName]; VerifyRequiredOption(optionName, s); return s; } } private static string ChmPath { get { string optionName = "ChmPath"; string s = ConfigurationSettings.AppSettings[optionName]; VerifyRequiredOption(optionName, s); return s; } } private static string MainChm { get { string optionName = "MainChm"; string s = ConfigurationSettings.AppSettings[optionName]; VerifyRequiredOption(optionName, s); return s; } } private static string NtstatusXml { get { string optionName = "NtstatusXml"; string s = ConfigurationSettings.AppSettings[optionName]; VerifyRequiredOption(optionName, s); return s; } } private static string WinerrorXml { get { string optionName = "WinerrorXml"; string s = ConfigurationSettings.AppSettings[optionName]; VerifyRequiredOption(optionName, s); return s; } } private static string HresultXml { get { string optionName = "HresultXml"; string s = ConfigurationSettings.AppSettings[optionName]; VerifyRequiredOption(optionName, s); return s; } } private static string WmXml { get { string optionName = "WmXml"; string s = ConfigurationSettings.AppSettings[optionName]; VerifyRequiredOption(optionName, s); return s; } } private static string SvnCommand { get { string optionName = "SvnCommand"; string s = ConfigurationSettings.AppSettings[optionName]; VerifyRequiredOption(optionName, s); return s; } } private static string BugUrl { get { string optionName = "BugUrl"; string s = ConfigurationSettings.AppSettings[optionName]; VerifyRequiredOption(optionName, s); return s; } } private static string WineBugUrl { get { string optionName = "WineBugUrl"; string s = ConfigurationSettings.AppSettings[optionName]; VerifyRequiredOption(optionName, s); return s; } } private static string SambaBugUrl { get { string optionName = "SambaBugUrl"; string s = ConfigurationSettings.AppSettings[optionName]; VerifyRequiredOption(optionName, s); return s; } } //private static void RunIrcService() //{ // IrcTechBotService ircService = new IrcTechBotService(IRCServerHostName, // IRCServerHostPort, // IRCChannelNames, // IRCBotName, // IRCBotPassword, // ChmPath, // MainChm); // ircService.Run(); //} public static void Main(string[] args) { TechBotService m_TechBot = null; if (args.Length > 0 && args[0].ToLower().Equals("irc")) { m_TechBot = new IrcTechBotService(IRCServerHostName, IRCServerHostPort, IRCChannelNames, IRCBotName, IRCBotPassword, ChmPath, MainChm); } else { System.Console.WriteLine("TechBot running console service..."); m_TechBot = new ConsoleTechBotService( ChmPath, MainChm); } m_TechBot.Run(); } } }