Update PowerSupply to be derived from Device

The PowerSupply will pass a name and instance number down to the Device
class it is derived from, but will also have an inventory path and a
path to monitor for PMBus interfaces.

Change-Id: I29f875fda1f07d031b58ec7ffd381d655495f248
Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
diff --git a/power-supply/argument.cpp b/power-supply/argument.cpp
index 55a81ae..ebdf982 100644
--- a/power-supply/argument.cpp
+++ b/power-supply/argument.cpp
@@ -65,19 +65,26 @@
 {
     std::cerr << "Usage: " << argv[0] << " [options]\n";
     std::cerr << "Options:\n";
-    std::cerr << "    --help               print this menu\n";
-    std::cerr << "    --path=<objpath>     path to location to monitor\n";
+    std::cerr << "    --help                           print this menu\n";
+    std::cerr << "    --path=<objpath>                 path to location to "
+                 "monitor\n";
+    std::cerr << "    --instance=<instance number>     Instance number for this"
+                 " power supply\n";
+    std::cerr << "    --inventory=<inventory path>     Inventory path for this"
+                 " power supply\n";
     std::cerr << std::flush;
 }
 
 const option ArgumentParser::options[] =
 {
-    { "path",   required_argument,  NULL,   'p' },
-    { "help",   no_argument,        NULL,   'h' },
+    { "path",       required_argument,  NULL,   'p' },
+    { "instance",   required_argument,  NULL,   'n' },
+    { "inventory",  required_argument,  NULL,   'i' },
+    { "help",       no_argument,        NULL,   'h' },
     { 0, 0, 0, 0},
 };
 
-const char* ArgumentParser::optionStr = "p:h";
+const char* ArgumentParser::optionStr = "p:n:i:h";
 
 const std::string ArgumentParser::trueString = "true";
 const std::string ArgumentParser::emptyString = "";