-using System;\r
-using System.Configuration;\r
-using TechBot.Library;\r
-\r
-namespace TechBot.Console\r
-{\r
- public class ConsoleServiceOutput : IServiceOutput\r
- {\r
- public void WriteLine(MessageContext context,\r
- string message)\r
- {\r
- System.Console.WriteLine(message);\r
- }\r
- }\r
-\r
- \r
- class MainClass\r
- {\r
- private static void VerifyRequiredOption(string optionName,\r
- string optionValue)\r
- {\r
- if (optionValue == null)\r
- {\r
- throw new Exception(String.Format("Option '{0}' not set.",\r
- optionName));\r
- }\r
- }\r
- \r
- private static string IRCServerHostName\r
- {\r
- get\r
- {\r
- string optionName = "IRCServerHostName";\r
- string s = ConfigurationSettings.AppSettings[optionName];\r
- VerifyRequiredOption(optionName,\r
- s);\r
- return s;\r
- }\r
- }\r
-\r
- private static int IRCServerHostPort\r
- {\r
- get\r
- {\r
- string optionName = "IRCServerHostPort";\r
- string s = ConfigurationSettings.AppSettings[optionName];\r
- VerifyRequiredOption(optionName,\r
- s);\r
- return Int32.Parse(s);\r
- }\r
- }\r
-\r
- private static string IRCChannelNames\r
- {\r
- get\r
- {\r
- string optionName = "IRCChannelNames";\r
- string s = ConfigurationSettings.AppSettings[optionName];\r
- VerifyRequiredOption(optionName,\r
- s);\r
- return s;\r
- }\r
- }\r
-\r
- private static string IRCBotName\r
- {\r
- get\r
- {\r
- string optionName = "IRCBotName";\r
- string s = ConfigurationSettings.AppSettings[optionName];\r
- VerifyRequiredOption(optionName,\r
- s);\r
- return s;\r
- }\r
- }\r
-\r
- private static string IRCBotPassword\r
- {\r
- get\r
- {\r
- string optionName = "IRCBotPassword";\r
- string s = ConfigurationSettings.AppSettings[optionName];\r
- VerifyRequiredOption(optionName,\r
- s);\r
- return s;\r
- }\r
- }\r
-\r
- private static string ChmPath\r
- {\r
- get\r
- {\r
- string optionName = "ChmPath";\r
- string s = ConfigurationSettings.AppSettings[optionName];\r
- VerifyRequiredOption(optionName,\r
- s);\r
- return s;\r
- }\r
- }\r
- \r
- private static string MainChm\r
- {\r
- get\r
- {\r
- string optionName = "MainChm";\r
- string s = ConfigurationSettings.AppSettings[optionName];\r
- VerifyRequiredOption(optionName,\r
- s);\r
- return s;\r
- }\r
- }\r
-\r
- private static string NtstatusXml\r
- {\r
- get\r
- {\r
- string optionName = "NtstatusXml";\r
- string s = ConfigurationSettings.AppSettings[optionName];\r
- VerifyRequiredOption(optionName,\r
- s);\r
- return s;\r
- }\r
- }\r
-\r
- private static string WinerrorXml\r
- {\r
- get\r
- {\r
- string optionName = "WinerrorXml";\r
- string s = ConfigurationSettings.AppSettings[optionName];\r
- VerifyRequiredOption(optionName,\r
- s);\r
- return s;\r
- }\r
- }\r
-\r
- private static string HresultXml\r
- {\r
- get\r
- {\r
- string optionName = "HresultXml";\r
- string s = ConfigurationSettings.AppSettings[optionName];\r
- VerifyRequiredOption(optionName,\r
- s);\r
- return s;\r
- }\r
- }\r
-\r
- private static string WmXml\r
- {\r
- get\r
- {\r
- string optionName = "WmXml";\r
- string s = ConfigurationSettings.AppSettings[optionName];\r
- VerifyRequiredOption(optionName,\r
- s);\r
- return s;\r
- }\r
- }\r
-\r
- private static string SvnCommand\r
- {\r
- get\r
- {\r
- string optionName = "SvnCommand";\r
- string s = ConfigurationSettings.AppSettings[optionName];\r
- VerifyRequiredOption(optionName,\r
- s);\r
- return s;\r
- }\r
- }\r
-\r
- private static string BugUrl\r
- {\r
- get\r
- {\r
- string optionName = "BugUrl";\r
- string s = ConfigurationSettings.AppSettings[optionName];\r
- VerifyRequiredOption(optionName,\r
- s);\r
- return s;\r
- }\r
- }\r
-\r
- private static void RunIrcService()\r
- {\r
- IrcService ircService = new IrcService(IRCServerHostName,\r
- IRCServerHostPort,\r
- IRCChannelNames,\r
- IRCBotName,\r
- IRCBotPassword,\r
- ChmPath,\r
- MainChm,\r
- NtstatusXml,\r
- WinerrorXml,\r
- HresultXml,\r
- WmXml,\r
- SvnCommand,\r
- BugUrl);\r
- ircService.Run();\r
- }\r
- \r
- public static void Main(string[] args)\r
- {\r
- if (args.Length > 0 && args[0].ToLower().Equals("irc"))\r
- {\r
- RunIrcService();\r
- return;\r
- }\r
- \r
- System.Console.WriteLine("TechBot running console service...");\r
- TechBotService service = new TechBotService(new ConsoleServiceOutput(),\r
- ChmPath,\r
- MainChm,\r
- NtstatusXml,\r
- WinerrorXml,\r
- HresultXml,\r
- WmXml,\r
- SvnCommand,\r
- BugUrl);\r
- service.Run();\r
- while (true)\r
- {\r
- string s = System.Console.ReadLine();\r
- service.InjectMessage(null,\r
- s);\r
- }\r
- }\r
- }\r
-}\r
+using System;
+using System.Configuration;
+using TechBot.Library;
+
+namespace TechBot.Console
+{
+ class MainClass
+ {
+ public static void Main(string[] args)
+ {
+ TechBotService m_TechBot = null;
+
+ if (args.Length > 0 && args[0].ToLower().Equals("irc"))
+ {
+ m_TechBot = new IrcTechBotService(Settings.Default.IRCServerHostName,
+ Settings.Default.IRCServerHostPort,
+ Settings.Default.IRCChannelNames,
+ Settings.Default.IRCBotName,
+ Settings.Default.IRCBotPassword);
+ }
+ else
+ {
+ m_TechBot = new ConsoleTechBotService();
+ }
+
+ m_TechBot.Run();
+ }
+ }
+}
\ No newline at end of file