Source Code (Use browser search to find items of interest.)
Class Index
ksysctrl'DeviceList (./kdeadmin/ksysctrl/ksysctrl/devicelist.h:30)
class DeviceList : public QList<Device>
{
public:
DeviceList();
~DeviceList() {}
QList<Conflict> conflicts(Device *, QList<Resource>, bool test);
void rescan(bool scsiscan);
private:
bool _firstscan;
void scanDevices(bool scsiscan);
};
ksysctrl'DeviceList::DeviceList() (./kdeadmin/ksysctrl/ksysctrl/devicelist.cpp:31)
DeviceList::DeviceList() : _firstscan(true)
{
setAutoDelete(true);
clear();
scanDevices(false);
}
/*
* Public methods
*****************/
ksysctrl'DeviceList::conflicts() (./kdeadmin/ksysctrl/ksysctrl/devicelist.cpp:44)
QList<Conflict> DeviceList::conflicts(Device *device, QList<Resource> reslist, bool test)
{
QList<Conflict> conflictlist;
Device *dev;
Resource *res, *devres;
uint cnt = count();
uint i;
for (dev = at(i = 0); i < cnt-1; dev = at(++i))
if (dev != device) // Well...
for (res = reslist.first(); res; res = reslist.next())
for (devres = dev->firstResource(); devres; devres = dev->nextResource())
if (*res == *devres) conflictlist.append(new Conflict(dev, res));
if (!test) device->setConflict(!conflictlist.isEmpty());
return conflictlist;
}
ksysctrl'DeviceList::rescan() (./kdeadmin/ksysctrl/ksysctrl/devicelist.cpp:64)
void DeviceList::rescan(bool scsiscan)
{
_firstscan = false;
clear();
scanDevices(scsiscan);
}
/*
* Private methods
******************/
ksysctrl'DeviceList::scanDevices() (./kdeadmin/ksysctrl/ksysctrl/devicelist.cpp:77)
void DeviceList::scanDevices(bool scsiscan)
{
QList<DeviceScanner> scanlist;
QList<Conflict> conflictlist;
QList<Resource> reslist;
DeviceScanner *scanner;
Device *dev;
Resource *res;
uint cnt;
uint i;
scanlist.setAutoDelete(true);
scanlist.clear();
scanlist.append(new PCIScanner());
scanlist.append(new ISAPnPScanner());
scanlist.append(new SCSIScanner(!_firstscan && scsiscan));
scanlist.append(new IDEDriveScanner());
scanlist.append(new ParallelPortScanner());
scanlist.append(new SerialPortScanner());
scanlist.append(new PCCardScanner());
for (scanner = scanlist.first(); scanner; scanner = scanlist.next())
for (dev = scanner->firstDevice(); dev; dev = scanner->nextDevice())
append(dev);
cnt = count();
for (dev = at(i = 0); i < cnt-1; dev = at(++i))
{
reslist.clear();
for (res = dev->firstResource(); res; res = dev->nextResource())
reslist.append(res);
(void) conflicts(dev, reslist, false);
}
}