\r
namespace TechBot.Library\r
{\r
- public class NtStatusCommand : BaseCommand, ICommand\r
+ public class NtStatusCommand : XmlCommand\r
{\r
- private IServiceOutput serviceOutput;\r
- private string ntstatusXml;\r
- private XmlDocument ntstatusXmlDocument;\r
-\r
- public NtStatusCommand(IServiceOutput serviceOutput,\r
- string ntstatusXml)\r
+ public NtStatusCommand(TechBotService techBot)\r
+ : base(techBot)\r
{\r
- this.serviceOutput = serviceOutput;\r
- this.ntstatusXml = ntstatusXml;\r
- ntstatusXmlDocument = new XmlDocument();\r
- ntstatusXmlDocument.Load(ntstatusXml);\r
}\r
- \r
+\r
+ public override string XmlFile\r
+ {\r
+ get { return Settings.Default.NtStatusXml; }\r
+ }\r
+\r
+ public override string[] AvailableCommands\r
+ {\r
+ get { return new string[] { "ntstatus" }; }\r
+ }\r
+/* \r
public bool CanHandle(string commandName)\r
{\r
return CanHandle(commandName,\r
new string[] { "ntstatus" });\r
}\r
-\r
- public void Handle(MessageContext context,\r
+*/\r
+ public override void Handle(MessageContext context,\r
string commandName,\r
string parameters)\r
{\r
string ntstatusText = parameters;\r
if (ntstatusText.Equals(String.Empty))\r
{\r
- serviceOutput.WriteLine(context,\r
+ TechBot.ServiceOutput.WriteLine(context,\r
"Please provide a valid NTSTATUS value.");\r
return;\r
}\r
long ntstatus = np.Parse(ntstatusText);\r
if (np.Error)\r
{\r
- serviceOutput.WriteLine(context,\r
+ TechBot.ServiceOutput.WriteLine(context,\r
String.Format("{0} is not a valid NTSTATUS value.",\r
ntstatusText));\r
return;\r
string description = GetNtstatusDescription(ntstatus);\r
if (description != null)\r
{\r
- serviceOutput.WriteLine(context,\r
+ TechBot.ServiceOutput.WriteLine(context,\r
String.Format("{0} is {1}.",\r
ntstatusText,\r
description));\r
}\r
else\r
{\r
- serviceOutput.WriteLine(context,\r
+ TechBot.ServiceOutput.WriteLine(context,\r
String.Format("I don't know about NTSTATUS {0}.",\r
ntstatusText));\r
}\r
}\r
- \r
- public string Help()\r
+\r
+ public override string Help()\r
{\r
return "!ntstatus <value>";\r
}\r
\r
public string GetNtstatusDescription(long ntstatus)\r
{\r
- XmlElement root = ntstatusXmlDocument.DocumentElement;\r
+ XmlElement root = base.m_XmlDocument.DocumentElement;\r
XmlNode node = root.SelectSingleNode(String.Format("Ntstatus[@value='{0}']",\r
ntstatus.ToString("X8")));\r
if (node != null)\r