\r
namespace TechBot.Library\r
{\r
- public class WmCommand : BaseCommand, ICommand\r
+ public class WMCommand : XmlCommand\r
{\r
- private IServiceOutput serviceOutput;\r
- private string wmXml;\r
- private XmlDocument wmXmlDocument;\r
-\r
- public WmCommand(IServiceOutput serviceOutput,\r
- string wmXml)\r
+ public WMCommand(TechBotService techBot)\r
+ : base(techBot)\r
{\r
- this.serviceOutput = serviceOutput;\r
- this.wmXml = wmXml;\r
- wmXmlDocument = new XmlDocument();\r
- wmXmlDocument.Load(wmXml);\r
}\r
+\r
+ public override string XmlFile\r
+ {\r
+ get { return Settings.Default.WMXml; }\r
+ }\r
\r
- public bool CanHandle(string commandName)\r
- {\r
- return CanHandle(commandName,\r
- new string[] { "wm" });\r
- }\r
+ public override string[] AvailableCommands\r
+ {\r
+ get { return new string[] { "wm" }; }\r
+ }\r
\r
- public void Handle(MessageContext context,\r
+ public override void Handle(MessageContext context,\r
string commandName,\r
string parameters)\r
{\r
string wmText = parameters;\r
if (wmText.Equals(String.Empty))\r
{\r
- serviceOutput.WriteLine(context,\r
+ TechBot.ServiceOutput.WriteLine(context,\r
"Please provide a valid window message value or name.");\r
return;\r
}\r
\r
if (output != null)\r
{\r
- serviceOutput.WriteLine(context,\r
+ TechBot.ServiceOutput.WriteLine(context,\r
String.Format("{0} is {1}.",\r
wmText,\r
output));\r
}\r
else\r
{\r
- serviceOutput.WriteLine(context,\r
+ TechBot.ServiceOutput.WriteLine(context,\r
String.Format("I don't know about window message {0}.",\r
wmText));\r
}\r
}\r
- \r
- public string Help()\r
+\r
+ public override string Help()\r
{\r
return "!wm <value> or !wm <name>";\r
}\r
\r
private string GetWmDescription(long wm)\r
{\r
- XmlElement root = wmXmlDocument.DocumentElement;\r
+ XmlElement root = base.m_XmlDocument.DocumentElement;\r
XmlNode node = root.SelectSingleNode(String.Format("WindowMessage[@value='{0}']",\r
wm));\r
if (node != null)\r
\r
private string GetWmNumber(string wmName)\r
{\r
- XmlElement root = wmXmlDocument.DocumentElement;\r
+ XmlElement root = base.m_XmlDocument.DocumentElement;\r
XmlNode node = root.SelectSingleNode(String.Format("WindowMessage[@text='{0}']",\r
wmName));\r
if (node != null)\r