[PSDK]
[reactos.git] / irc / TechBot / TechBot.Console / Main.cs
index 8a29172..eec2855 100644 (file)
-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 string WineBugUrl\r
-               {\r
-                       get\r
-                       {\r
-                               string optionName = "WineBugUrl";\r
-                               string s = ConfigurationSettings.AppSettings[optionName];\r
-                               VerifyRequiredOption(optionName,\r
-                                                    s);\r
-                               return s;\r
-                       }\r
-               }\r
-\r
-\r
-               private static string SambaBugUrl\r
-               {\r
-                       get\r
-                       {\r
-                               string optionName = "SambaBugUrl";\r
-                               string s = ConfigurationSettings.AppSettings[optionName];\r
-                               VerifyRequiredOption(optionName,\r
-                                                    s);\r
-                               return s;\r
-                       }\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
-                                                              WineBugUrl,\r
-                                                              SambaBugUrl);\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
-                                                                   WineBugUrl,\r
-                                                                   SambaBugUrl);\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