VirtualBox

Changeset 31644 in vbox for trunk/src/VBox/Main/testcase


Ignore:
Timestamp:
Aug 13, 2010 12:47:07 PM (14 years ago)
Author:
vboxsync
Message:

Main/HostHardwareLinux: switch the stl vectors to a C implementation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/testcase/tstHostHardwareLinux.cpp

    r31564 r31644  
    9292#ifdef VBOX_USB_WITH_SYSFS
    9393    VBoxMainUSBDeviceInfo deviceInfo;
    94     rc = deviceInfo.UpdateDevices();
     94    AssertReturn(VBoxMainUSBDevInfoInit(&deviceInfo), 1);
     95    rc = USBDevInfoUpdateDevices(&deviceInfo);
    9596    if (RT_FAILURE(rc))
    9697    {
     
    100101    }
    101102    RTPrintf ("Listing USB devices detected:\n");
    102     for (USBDeviceInfoList::const_iterator it = deviceInfo.DevicesBegin();
    103          it != deviceInfo.DevicesEnd(); ++it)
     103    USBDeviceInfoList_iterator it;
     104    USBDeviceInfoList_iter_init(&it, USBDevInfoBegin(&deviceInfo));
     105    for (; !USBDeviceInfoList_iter_eq(&it, USBDevInfoEnd(&deviceInfo));
     106           USBDeviceInfoList_iter_incr(&it))
    104107    {
    105108        char szProduct[1024];
     109        USBDeviceInfo *pInfo = USBDeviceInfoList_iter_target(&it);
    106110        if (RTLinuxSysFsReadStrFile(szProduct, sizeof(szProduct),
    107                                     "%s/product", it->mSysfsPath.c_str()) == -1)
     111                                    "%s/product", pInfo->mSysfsPath) == -1)
    108112        {
    109113            if (errno != ENOENT)
    110114            {
    111115                RTPrintf ("Failed to get the product name for device %s: error %s\n",
    112                           it->mDevice.c_str(), strerror(errno));
     116                          pInfo->mDevice, strerror(errno));
    113117                return 1;
    114118            }
     
    116120                szProduct[0] = '\0';
    117121        }
    118         RTPrintf ("  device: %s (%s), sysfs path: %s\n", szProduct, it->mDevice.c_str(),
    119                   it->mSysfsPath.c_str());
     122        RTPrintf ("  device: %s (%s), sysfs path: %s\n", szProduct, pInfo->mDevice,
     123                  pInfo->mSysfsPath);
    120124        RTPrintf ("    interfaces:\n");
    121         for (USBInterfaceList::const_iterator it2 = it->mInterfaces.begin();
    122              it2 != it->mInterfaces.end(); ++it2)
     125        USBInterfaceList_iterator it2;
     126        USBInterfaceList_iter_init(&it2, USBInterfaceList_begin(&pInfo->mInterfaces));
     127        for (; !USBInterfaceList_iter_eq(&it2, USBInterfaceList_end(&pInfo->mInterfaces));
     128               USBInterfaceList_iter_incr(&it2))
    123129        {
    124130            char szDriver[RTPATH_MAX];
     131            char *pszIf = *USBInterfaceList_iter_target(&it2);
    125132            strcpy(szDriver, "none");
    126133            ssize_t size = RTLinuxSysFsGetLinkDest(szDriver, sizeof(szDriver),
    127                                                    "%s/driver", it2->c_str());
     134                                                   "%s/driver", pszIf);
    128135            if (size == -1 && errno != ENOENT)
    129136            {
    130137                RTPrintf ("Failed to get the driver for interface %s of device %s: error %s\n",
    131                           it2->c_str(), it->mDevice.c_str(), strerror(errno));
     138                          pszIf, pInfo->mDevice, strerror(errno));
    132139                return 1;
    133140            }
    134             if (RTLinuxSysFsExists("%s/driver", it2->c_str()) != (size != -1))
     141            if (RTLinuxSysFsExists("%s/driver", pszIf) != (size != -1))
    135142            {
    136143                RTPrintf ("RTLinuxSysFsExists did not return the expected value for the driver link of interface %s of device %s.\n",
    137                           it2->c_str(), it->mDevice.c_str());
     144                          pszIf, pInfo->mDevice);
    138145                return 1;
    139146            }
    140147            uint64_t u64InterfaceClass;
    141148            u64InterfaceClass = RTLinuxSysFsReadIntFile(16, "%s/bInterfaceClass",
    142                                                         it2->c_str());
     149                                                        pszIf);
    143150            RTPrintf ("      sysfs path: %s, driver: %s, interface class: 0x%x\n",
    144                       it2->c_str(), szDriver, u64InterfaceClass);
     151                      pszIf, szDriver, u64InterfaceClass);
    145152        }
    146153    }
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette