tool/CommandData.cpp
changeset 1826 ec6223c3b7ec
parent 1804 742607c464c4
child 1827 489be2180f71
equal deleted inserted replaced
1825:65781b048a47 1826:ec6223c3b7ec
    29 
    29 
    30 #include <iostream>
    30 #include <iostream>
    31 using namespace std;
    31 using namespace std;
    32 
    32 
    33 #include "CommandData.h"
    33 #include "CommandData.h"
       
    34 #include "MasterDevice.h"
    34 
    35 
    35 /*****************************************************************************/
    36 /*****************************************************************************/
    36 
    37 
    37 CommandData::CommandData():
    38 CommandData::CommandData():
    38     Command("data", "Output binary domain process data.")
    39     Command("data", "Output binary domain process data.")
    61     return str.str();
    62     return str.str();
    62 }
    63 }
    63 
    64 
    64 /****************************************************************************/
    65 /****************************************************************************/
    65 
    66 
    66 void CommandData::execute(MasterDevice &m, const StringVector &args)
    67 void CommandData::execute(const StringVector &args)
    67 {
    68 {
    68     DomainList domains;
    69     DomainList domains;
    69     DomainList::const_iterator di;
    70     DomainList::const_iterator di;
    70 
    71 
    71     if (args.size()) {
    72     if (args.size()) {
    72         stringstream err;
    73         stringstream err;
    73         err << "'" << getName() << "' takes no arguments!";
    74         err << "'" << getName() << "' takes no arguments!";
    74         throwInvalidUsageException(err);
    75         throwInvalidUsageException(err);
    75     }
    76     }
    76 
    77 
       
    78     if (getMasterIndices().size() != 1) {
       
    79         stringstream err;
       
    80         err << getName() << " requires to select a single master!";
       
    81         throwInvalidUsageException(err);
       
    82     }
       
    83     MasterDevice m(getMasterIndices().front());
    77     m.open(MasterDevice::Read);
    84     m.open(MasterDevice::Read);
    78     domains = selectedDomains(m);
    85     domains = selectedDomains(m);
    79 
    86 
    80     for (di = domains.begin(); di != domains.end(); di++) {
    87     for (di = domains.begin(); di != domains.end(); di++) {
    81         outputDomainData(m, *di);
    88         outputDomainData(m, *di);