tool/CommandCStruct.cpp
changeset 1826 ec6223c3b7ec
parent 1804 742607c464c4
child 1827 489be2180f71
equal deleted inserted replaced
1825:65781b048a47 1826:ec6223c3b7ec
    31 #include <iomanip>
    31 #include <iomanip>
    32 #include <string.h>
    32 #include <string.h>
    33 using namespace std;
    33 using namespace std;
    34 
    34 
    35 #include "CommandCStruct.h"
    35 #include "CommandCStruct.h"
       
    36 #include "MasterDevice.h"
    36 
    37 
    37 /*****************************************************************************/
    38 /*****************************************************************************/
    38 
    39 
    39 CommandCStruct::CommandCStruct():
    40 CommandCStruct::CommandCStruct():
    40     Command("cstruct", "Generate slave PDO information in C language.")
    41     Command("cstruct", "Generate slave PDO information in C language.")
    65     return str.str();
    66     return str.str();
    66 }
    67 }
    67 
    68 
    68 /****************************************************************************/
    69 /****************************************************************************/
    69 
    70 
    70 void CommandCStruct::execute(MasterDevice &m, const StringVector &args)
    71 void CommandCStruct::execute(const StringVector &args)
    71 {
    72 {
    72     SlaveList slaves;
    73     SlaveList slaves;
    73     SlaveList::const_iterator si;
    74     SlaveList::const_iterator si;
    74 
    75 
    75     if (args.size()) {
    76     if (args.size()) {
    76         stringstream err;
    77         stringstream err;
    77         err << "'" << getName() << "' takes no arguments!";
    78         err << "'" << getName() << "' takes no arguments!";
    78         throwInvalidUsageException(err);
    79         throwInvalidUsageException(err);
    79     }
    80     }
    80 
    81 
    81     m.open(MasterDevice::Read);
    82     MasterIndexList::const_iterator mi;
    82     slaves = selectedSlaves(m);
    83     for (mi = getMasterIndices().begin();
    83 
    84             mi != getMasterIndices().end(); mi++) {
    84     for (si = slaves.begin(); si != slaves.end(); si++) {
    85         MasterDevice m(*mi);
    85         generateSlaveCStruct(m, *si);
    86         m.open(MasterDevice::Read);
       
    87         slaves = selectedSlaves(m);
       
    88 
       
    89         for (si = slaves.begin(); si != slaves.end(); si++) {
       
    90             generateSlaveCStruct(m, *si);
       
    91         }
    86     }
    92     }
    87 }
    93 }
    88 
    94 
    89 /****************************************************************************/
    95 /****************************************************************************/
    90 
    96