modified Resources/hresult.xml
[reactos.git] / irc / TechBot / TechBot / ServiceThread.cs
1 using System;
2 using System.Configuration;
3 using System.Diagnostics;
4 using TechBot.Library;
5
6 namespace TechBot
7 {
8 public class ServiceThread
9 {
10 private string IRCServerHostName;
11 private int IRCServerHostPort;
12 private string IRCChannelNames;
13 private string IRCBotName;
14 private string IRCBotPassword;
15 private string ChmPath;
16 private string MainChm;
17 private string NtstatusXml;
18 private string HresultXml;
19 private string WmXml;
20 private string WinerrorXml;
21 private string SvnCommand;
22 private string BugUrl, WineBugUrl, SambaBugUrl;
23 private EventLog eventLog;
24
25 public ServiceThread(EventLog eventLog)
26 {
27 this.eventLog = eventLog;
28 }
29
30 private void SetupConfiguration()
31 {
32 IRCServerHostName = ConfigurationSettings.AppSettings["IRCServerHostName"];
33 IRCServerHostPort = Int32.Parse(ConfigurationSettings.AppSettings["IRCServerHostPort"]);
34 IRCChannelNames = ConfigurationSettings.AppSettings["IRCChannelNames"];
35 IRCBotName = ConfigurationSettings.AppSettings["IRCBotName"];
36 IRCBotPassword = ConfigurationSettings.AppSettings["IRCBotPassword"];
37 ChmPath = ConfigurationSettings.AppSettings["ChmPath"];
38 MainChm = ConfigurationSettings.AppSettings["MainChm"];
39 NtstatusXml = ConfigurationSettings.AppSettings["NtstatusXml"];
40 HresultXml = ConfigurationSettings.AppSettings["HresultXml"];
41 WmXml = ConfigurationSettings.AppSettings["WmXml"];
42 WinerrorXml = ConfigurationSettings.AppSettings["WinerrorXml"];
43 SvnCommand = ConfigurationSettings.AppSettings["SvnCommand"];
44 BugUrl = ConfigurationSettings.AppSettings["BugUrl"];
45 WineBugUrl = ConfigurationSettings.AppSettings["WineBugUrl"];
46 SambaBugUrl = ConfigurationSettings.AppSettings["SambaBugUrl"];
47 }
48
49 public void Run()
50 {
51 SetupConfiguration();
52 System.Console.WriteLine("TechBot irc service...");
53
54 IrcService ircService = new IrcService(IRCServerHostName,
55 IRCServerHostPort,
56 IRCChannelNames,
57 IRCBotName,
58 IRCBotPassword,
59 ChmPath,
60 MainChm,
61 NtstatusXml,
62 WinerrorXml,
63 HresultXml,
64 WmXml,
65 SvnCommand,
66 BugUrl,
67 WineBugUrl,
68 SambaBugUrl);
69 ircService.Run();
70 }
71
72 public void Start()
73 {
74 try
75 {
76 Run();
77 }
78 catch (Exception ex)
79 {
80 eventLog.WriteEntry(String.Format("Ex. {0}", ex));
81 }
82 }
83 }
84 }