DeviceItem * PlatformUdisks2::buildDevice(QVariantMap &blockProperties, QVariantMap &driveProperties) { DeviceItem *devItem = new DeviceItem; QString path = blockProperties.value("path").toString(); devItem->setUDI(path.mid(path.lastIndexOf("/") + 1)); qDebug() << devItem->getUDI(); isMounted(devItem->getUDI()); devItem->setPath(path); devItem->setIsRemovable(driveProperties.value("removable").toBool()); devItem->setSize(blockProperties.value("size").toLongLong()); devItem->setModelString(driveProperties.value("model").toString()); QString vendor = driveProperties.value("vendor").toString(); if (vendor == "") { if (mKioskMode) devItem->setVendorString("SUSE Studio USB Key"); else devItem->setVendorString("Unknown Device"); } else { devItem->setVendorString(vendor); } QString newDisplayString = QString("%1 %2 - %3 (%4 MB)") .arg(devItem->getVendorString()) .arg(devItem->getModelString()) .arg(devItem->getPath()) .arg(devItem->getSize() / 1048576); devItem->setDisplayString(newDisplayString); if (mKioskMode) { if((devItem->getSize() / 1048576) > 200000) { delete devItem; return(NULL); } } // If a device is 0 megs we might as well just not list it if ((devItem->getSize() / 1048576) > 0) { itemList << devItem; } else { delete devItem; devItem = NULL; } return(devItem); }
DeviceItem * PlatformUdisks::getNewDevice(QString devicePath) { QString path, model, vendor; DeviceItem *devItem = new DeviceItem; path = getPath(devicePath); if (path == "") return(NULL); if (!getIsDrive(devicePath)) return(NULL); model = getModel(devicePath); vendor = getVendor(devicePath); devItem->setUDI(devicePath); devItem->setPath(path); devItem->setIsRemovable(getIsRemovable(devicePath)); devItem->setSize(getSize(devicePath)); devItem->setModelString(model); if (vendor == "") { if (mKioskMode) devItem->setVendorString("SUSE Studio USB Key"); else devItem->setVendorString("Unknown Device"); } else { devItem->setVendorString(vendor); } QString newDisplayString = QString("%1 %2 - %3 (%4 MB)") .arg(devItem->getVendorString()) .arg(devItem->getModelString()) .arg(devItem->getPath()) .arg(devItem->getSize() / 1048576); devItem->setDisplayString(newDisplayString); if (mKioskMode) { if((devItem->getSize() / 1048576) > 200000) { delete devItem; return(NULL); } } // If a device is 0 megs we might as well just not list it if ((devItem->getSize() / 1048576) > 0) { itemList << devItem; } else { delete devItem; devItem = NULL; } return(devItem); }