tool/CommandStates.cpp
changeset 1826 ec6223c3b7ec
parent 1363 11c0b2caa253
child 1869 14f634f5b613
--- a/tool/CommandStates.cpp	Tue Feb 23 17:40:46 2010 +0100
+++ b/tool/CommandStates.cpp	Wed Feb 24 16:27:11 2010 +0100
@@ -32,6 +32,7 @@
 using namespace std;
 
 #include "CommandStates.h"
+#include "MasterDevice.h"
 
 /*****************************************************************************/
 
@@ -65,7 +66,7 @@
 
 /****************************************************************************/
 
-void CommandStates::execute(MasterDevice &m, const StringVector &args)
+void CommandStates::execute(const StringVector &args)
 {
     SlaveList slaves;
     SlaveList::const_iterator si;
@@ -97,15 +98,16 @@
         throwInvalidUsageException(err);
     }
 
-    m.open(MasterDevice::ReadWrite);
-    slaves = selectedSlaves(m);
+    MasterIndexList::const_iterator mi;
+    for (mi = getMasterIndices().begin();
+            mi != getMasterIndices().end(); mi++) {
+        MasterDevice m(*mi);
+        m.open(MasterDevice::ReadWrite);
+        slaves = selectedSlaves(m);
 
-    if (!slaves.size() && getVerbosity() != Quiet) {
-        cerr << "Warning: Selection matches no slaves!" << endl;
-    }
-
-    for (si = slaves.begin(); si != slaves.end(); si++) {
-        m.requestState(si->position, state);
+        for (si = slaves.begin(); si != slaves.end(); si++) {
+            m.requestState(si->position, state);
+        }
     }
 }