tool/CommandData.cpp
changeset 1166 006244d53f68
parent 1144 7dbfdd61812c
child 1167 9e0ebb38e301
equal deleted inserted replaced
1165:c5d6e28eec91 1166:006244d53f68
    39 
    39 
    40 /****************************************************************************/
    40 /****************************************************************************/
    41 
    41 
    42 void CommandData::execute(MasterDevice &m, const StringVector &args)
    42 void CommandData::execute(MasterDevice &m, const StringVector &args)
    43 {
    43 {
       
    44 	DomainList domains;
       
    45 	DomainList::const_iterator di;
       
    46 	
    44     m.open(MasterDevice::Read);
    47     m.open(MasterDevice::Read);
       
    48 	domains = selectedDomains(m);
    45 
    49 
    46     if (domainIndex == -1) {
    50 	for (di = domains.begin(); di != domains.end(); di++) {
    47         unsigned int i;
    51 		outputDomainData(m, *di);
    48         ec_ioctl_master_t master;
    52 	}
    49 
       
    50         m.getMaster(&master);
       
    51 
       
    52         for (i = 0; i < master.domain_count; i++) {
       
    53             outputDomainData(m, i);
       
    54         }
       
    55     } else {
       
    56         outputDomainData(m, domainIndex);
       
    57     }
       
    58 }
    53 }
    59 
    54 
    60 /****************************************************************************/
    55 /****************************************************************************/
    61 
    56 
    62 void CommandData::outputDomainData(MasterDevice &m, unsigned int domainIndex)
    57 void CommandData::outputDomainData(
       
    58 		MasterDevice &m,
       
    59 		const ec_ioctl_domain_t &domain
       
    60 		)
    63 {
    61 {
    64     ec_ioctl_domain_t domain;
       
    65     ec_ioctl_domain_data_t data;
    62     ec_ioctl_domain_data_t data;
    66     unsigned char *processData;
    63     unsigned char *processData;
    67     unsigned int i;
    64     unsigned int i;
    68     
    65     
    69     m.getDomain(&domain, domainIndex);
       
    70 
       
    71     if (!domain.data_size)
    66     if (!domain.data_size)
    72         return;
    67         return;
    73 
    68 
    74     processData = new unsigned char[domain.data_size];
    69     processData = new unsigned char[domain.data_size];
    75 
    70 
    76     try {
    71     try {
    77         m.getData(&data, domainIndex, domain.data_size, processData);
    72         m.getData(&data, domain.index, domain.data_size, processData);
    78     } catch (MasterDeviceException &e) {
    73     } catch (MasterDeviceException &e) {
    79         delete [] processData;
    74         delete [] processData;
    80         throw e;
    75         throw e;
    81     }
    76     }
    82 
    77