qtmobility/src/systeminfo/qsysteminfo_linux_common.cpp
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 5 453da2cfceef
--- a/qtmobility/src/systeminfo/qsysteminfo_linux_common.cpp	Fri Apr 16 15:51:22 2010 +0300
+++ b/qtmobility/src/systeminfo/qsysteminfo_linux_common.cpp	Mon May 03 13:18:40 2010 +0300
@@ -167,13 +167,13 @@
      switch (feature) {
      case QSystemInfo::BluetoothFeature :
          {
-             QString sysPath = "/sys/class/bluetooth/";
-             QDir sysDir(sysPath);
+             const QString sysPath = "/sys/class/bluetooth/";
+             const QDir sysDir(sysPath);
              QStringList filters;
              filters << "*";
-             QStringList sysList = sysDir.entryList( filters ,QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name);
-             foreach(QString dir, sysList) {
-                 QFileInfo btFile(sysPath + dir+"/address");
+             const QStringList sysList = sysDir.entryList( filters ,QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name);
+             foreach(const QString dir, sysList) {
+                 const QFileInfo btFile(sysPath + dir+"/address");
                  if(btFile.exists()) {
                      return true;
                  }
@@ -192,14 +192,16 @@
          break;
      case QSystemInfo::FmradioFeature :
          {
-             QString sysPath = "/sys/class/video4linux/";
-             QDir sysDir(sysPath);
+             const QString sysPath = "/sys/class/video4linux/";
+             const QDir sysDir(sysPath);
              QStringList filters;
              filters << "*";
              QStringList sysList = sysDir.entryList( filters ,QDir::Dirs, QDir::Name);
-             if(sysList.contains("radio")) {
-                 featureSupported = true;
-             }
+             foreach(const QString dir, sysList) {
+                if (dir.contains("radio")) {
+                    featureSupported = true;
+                }
+            }
          }
          break;
      case QSystemInfo::IrFeature :
@@ -223,8 +225,8 @@
              QHalInterface iface;
              if (iface.isValid()) {
                  QHalInterface halIface;
-                 QStringList halDevices = halIface.getAllDevices();
-                 foreach(QString device, halDevices) {
+                 const QStringList halDevices = halIface.getAllDevices();
+                 foreach(const QString device, halDevices) {
                      QHalDeviceInterface ifaceDevice(device);
                      if (ifaceDevice.isValid()) {
                          if(ifaceDevice.getPropertyString("info.subsystem") == "mmc_host") {
@@ -261,7 +263,7 @@
  #if !defined(QT_NO_DBUS)
              QHalInterface iface;
              if (iface.isValid()) {
-                 QStringList list = iface.findDeviceByCapability("net.80211");
+                 const QStringList list = iface.findDeviceByCapability("net.80211");
                  if(!list.isEmpty()) {
                      featureSupported = true;
                      break;
@@ -283,11 +285,11 @@
          break;
      case QSystemInfo::VideoOutFeature :
          {
-             QString sysPath = "/sys/class/video4linux/";
-             QDir sysDir(sysPath);
+             const QString sysPath = "/sys/class/video4linux/";
+             const QDir sysDir(sysPath);
              QStringList filters;
              filters << "*";
-             QStringList sysList = sysDir.entryList( filters ,QDir::Dirs, QDir::Name);
+             const QStringList sysList = sysDir.entryList( filters ,QDir::Dirs, QDir::Name);
              if(sysList.contains("video")) {
                  featureSupported = true;
              }
@@ -306,8 +308,8 @@
  bool QSystemInfoLinuxCommonPrivate::hasHalDeviceFeature(const QString &param)
  {
      QHalInterface halIface;
-     QStringList halDevices = halIface.getAllDevices();
-     foreach(QString device, halDevices) {
+     const QStringList halDevices = halIface.getAllDevices();
+     foreach(const QString device, halDevices) {
          if(device.contains(param)) {
              return true;
          }
@@ -318,8 +320,8 @@
  bool QSystemInfoLinuxCommonPrivate::hasHalUsbFeature(qint32 usbClass)
  {
      QHalInterface halIface;
-     QStringList halDevices = halIface.getAllDevices();
-     foreach(QString device, halDevices) {
+     const QStringList halDevices = halIface.getAllDevices();
+     foreach(const QString device, halDevices) {
          QHalDeviceInterface ifaceDevice(device);
          if (ifaceDevice.isValid()) {
              if(ifaceDevice.getPropertyString("info.subsystem") == "usb_device") {
@@ -352,7 +354,7 @@
                 }
             }
 #endif
-            QString versionPath = QLatin1String("/proc/version");
+            const QString versionPath = QLatin1String("/proc/version");
             QFile versionFile(versionPath);
             if(!versionFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
                 qWarning() << "File not opened";
@@ -381,15 +383,15 @@
 
 bool QSystemInfoLinuxCommonPrivate::hasSysFeature(const QString &featureStr)
 {
-    QString sysPath = QLatin1String("/sys/class/");
-    QDir sysDir(sysPath);
+    const QString sysPath = QLatin1String("/sys/class/");
+    const QDir sysDir(sysPath);
     QStringList filters;
     filters << QLatin1String("*");
-    QStringList sysList = sysDir.entryList( filters ,QDir::Dirs, QDir::Name);
-    foreach(QString dir, sysList) {
-        QDir sysDir2(sysPath + dir);
+    const QStringList sysList = sysDir.entryList( filters ,QDir::Dirs, QDir::Name);
+    foreach(const QString dir, sysList) {
+        const QDir sysDir2(sysPath + dir);
         if(dir.contains(featureStr)) {
-            QStringList sysList2 = sysDir2.entryList( filters ,QDir::Dirs, QDir::Name);
+            const QStringList sysList2 = sysDir2.entryList( filters ,QDir::Dirs, QDir::Name);
             if(!sysList2.isEmpty()) {
                 return true;
             }
@@ -400,77 +402,27 @@
 
 QSystemNetworkInfoLinuxCommonPrivate::QSystemNetworkInfoLinuxCommonPrivate(QObject *parent) : QObject(parent)
 {
-   // QTimer::singleShot(200, this,SLOT(getPrimaryMode()));
 }
 
 QSystemNetworkInfoLinuxCommonPrivate::~QSystemNetworkInfoLinuxCommonPrivate()
 {
 }
-
-//void QSystemNetworkInfoLinuxCommonPrivate::getPrimaryMode()
-//{
-//    // try to see if there are any default route
-////    bool anyDefaultRoute = false;
-//
-//    QFileInfo fi("/proc/net/route");
-//    if(fi.exists()) {
-//        QFile rx(fi.absoluteFilePath());
-//        if(rx.exists() && rx.open(QIODevice::ReadOnly | QIODevice::Text)) {
-//            QString result;
-//            QTextStream out(&rx);
-//            do {
-//                result = out.readLine().simplified();
-//                if(!result.isEmpty()) {
-//                    QStringList tokens = result.split(" ");
-//
-//                    if(tokens.at(2).toLocal8Bit() != "Gateway"
-//                       && tokens.at(2).toLocal8Bit() != "00000000") {
-//
-//                        qWarning() <<"found default!" << tokens.at(0);
-//           //             emit networkModeChanged(tokens.at(0)));
-//                    }
-//                }
-//            } while (!result.isNull());
-//        }
-//    }
-//    //    QMapIterator<QString, QString> i(activePaths);
-////    QString devicepath;
-////    while (i.hasNext()) {
-////        i.next();
-////        QScopedPointer<QNetworkManagerConnectionActive> activeCon;
-////        activeCon.reset(new QNetworkManagerConnectionActive(i.key()));
-////
-////        if(activeCon->defaultRoute()) {
-////            anyDefaultRoute = activeCon->defaultRoute();
-////            QNetworkManagerInterfaceDevice *devIface = new QNetworkManagerInterfaceDevice(i.value());
-////            emit networkModeChanged(deviceTypeToMode(devIface->deviceType()));
-////        }
-////        devicepath = i.value();
-////    }
-////
-////    if(!anyDefaultRoute) {
-////        emit networkModeChanged(QSystemNetworkInfo::UnknownMode);
-////    }
-//}
-
 QSystemNetworkInfo::NetworkStatus QSystemNetworkInfoLinuxCommonPrivate::networkStatus(QSystemNetworkInfo::NetworkMode mode)
 {
     switch(mode) {
     case QSystemNetworkInfo::WlanMode:
         {
-            qWarning() << __PRETTY_FUNCTION__ << "WLAN";
-
-            QString baseSysDir = "/sys/class/net/";
-            QDir wDir(baseSysDir);
-            QStringList dirs = wDir.entryList(QStringList() << "*", QDir::AllDirs | QDir::NoDotAndDotDot);
-            foreach(QString dir, dirs) {
-                QString devFile = baseSysDir + dir;
-                QFileInfo wiFi(devFile + "/wireless");
-                QFileInfo fi("/proc/net/route");
+            const QString baseSysDir = "/sys/class/net/";
+            const QDir wDir(baseSysDir);
+            const QStringList dirs = wDir.entryList(QStringList() << "*", QDir::AllDirs | QDir::NoDotAndDotDot);
+            foreach(const QString dir, dirs) {
+                const QString devFile = baseSysDir + dir;
+                const QFileInfo wiFi(devFile + "/wireless");
+                const QFileInfo fi("/proc/net/route");
                 if(wiFi.exists() && fi.exists()) {
                     QFile rx(fi.absoluteFilePath());
                     if(rx.exists() && rx.open(QIODevice::ReadOnly | QIODevice::Text)) {
-                        QString result = rx.readAll();
+                        const QString result = rx.readAll();
                         if(result.contains(dir)) {
                             return QSystemNetworkInfo::Connected;
                         } else {
@@ -483,18 +435,16 @@
         break;
     case QSystemNetworkInfo::EthernetMode:
         {
-            qWarning() << __PRETTY_FUNCTION__ << "Ethernet";
-            QString baseSysDir = "/sys/class/net/";
-            QDir eDir(baseSysDir);
-            QString dir = QSystemNetworkInfoLinuxCommonPrivate::interfaceForMode(mode).name();
+            const QString baseSysDir = "/sys/class/net/";
+            const QDir eDir(baseSysDir);
+            const QString dir = QSystemNetworkInfoLinuxCommonPrivate::interfaceForMode(mode).name();
 
-            QString devFile = baseSysDir + dir;
-            qWarning() << devFile;
-            QFileInfo fi("/proc/net/route");
+            const QString devFile = baseSysDir + dir;
+            const QFileInfo fi("/proc/net/route");
             if(fi.exists()) {
                 QFile rx(fi.absoluteFilePath());
                 if(rx.exists() && rx.open(QIODevice::ReadOnly | QIODevice::Text)) {
-                    QString result = rx.readAll();
+                    const QString result = rx.readAll();
                     if(result.contains(dir)) {
                         return QSystemNetworkInfo::Connected;
                     } else {
@@ -523,20 +473,18 @@
     case QSystemNetworkInfo::WlanMode:
         {
             if(networkStatus(mode) != QSystemNetworkInfo::Connected) {
-                qWarning() << "not connected";
                 return netname;
             }
 
             QString wlanInterface;
-            QString baseSysDir = "/sys/class/net/";
-            QDir wDir(baseSysDir);
-            QStringList dirs = wDir.entryList(QStringList() << "*", QDir::AllDirs | QDir::NoDotAndDotDot);
-            foreach(QString dir, dirs) {
-                QString devFile = baseSysDir + dir;
-                QFileInfo fi(devFile + "/wireless");
+            const QString baseSysDir = "/sys/class/net/";
+            const QDir wDir(baseSysDir);
+            const QStringList dirs = wDir.entryList(QStringList() << "*", QDir::AllDirs | QDir::NoDotAndDotDot);
+            foreach(const QString dir, dirs) {
+                const QString devFile = baseSysDir + dir;
+                const QFileInfo fi(devFile + "/wireless");
                 if(fi.exists()) {
                     wlanInterface = dir;
-                    qWarning() << "interface is" << wlanInterface;
                 }
             }
             int sock = socket(PF_INET, SOCK_DGRAM, 0);
@@ -601,12 +549,12 @@
         case QSystemNetworkInfo::WlanMode:
         {
             QString result;
-            QString baseSysDir = "/sys/class/net/";
-            QDir wDir(baseSysDir);
-            QStringList dirs = wDir.entryList(QStringList() << "*", QDir::AllDirs | QDir::NoDotAndDotDot);
-            foreach(QString dir, dirs) {
-                QString devFile = baseSysDir + dir;
-                QFileInfo fi(devFile + "/wireless");
+            const QString baseSysDir = "/sys/class/net/";
+            const QDir wDir(baseSysDir);
+            const QStringList dirs = wDir.entryList(QStringList() << "*", QDir::AllDirs | QDir::NoDotAndDotDot);
+            foreach(const QString dir, dirs) {
+                const QString devFile = baseSysDir + dir;
+                const QFileInfo fi(devFile + "/wireless");
                 if(fi.exists()) {
                     QFile rx(devFile + "/address");
                     if(rx.exists() && rx.open(QIODevice::ReadOnly | QIODevice::Text)) {
@@ -622,12 +570,12 @@
         case QSystemNetworkInfo::EthernetMode:
         {
             QString result;
-            QString baseSysDir = "/sys/class/net/";
-            QDir eDir(baseSysDir);
-            QStringList dirs = eDir.entryList(QStringList() << "eth*", QDir::AllDirs | QDir::NoDotAndDotDot);
-            foreach(QString dir, dirs) {
-                QString devFile = baseSysDir + dir;
-                QFileInfo fi(devFile + "/address");
+            const QString baseSysDir = "/sys/class/net/";
+            const QDir eDir(baseSysDir);
+            const QStringList dirs = eDir.entryList(QStringList() << "eth*", QDir::AllDirs | QDir::NoDotAndDotDot);
+            foreach(const QString dir, dirs) {
+                const QString devFile = baseSysDir + dir;
+                const QFileInfo fi(devFile + "/address");
                 if(fi.exists()) {
                     QFile rx(fi.absoluteFilePath());
                     if(rx.exists() && rx.open(QIODevice::ReadOnly | QIODevice::Text)) {
@@ -671,10 +619,7 @@
         qWarning() << "Cannot get bnep connection list.";
         return QSystemNetworkInfo::UndefinedStatus;
     }
-
-    qWarning() << req.cnum;
     for (uint j = 0; j< req.cnum; j++) {
-        qWarning() << info[j].state;
         if(info[j].state == BT_CONNECTED) {
             return QSystemNetworkInfo::Connected;
         }
@@ -690,12 +635,12 @@
     case QSystemNetworkInfo::WlanMode:
         {
             QString result;
-            QString baseSysDir = "/sys/class/net/";
-            QDir wDir(baseSysDir);
-            QStringList dirs = wDir.entryList(QStringList() << "*", QDir::AllDirs | QDir::NoDotAndDotDot);
-            foreach(QString dir, dirs) {
-                QString devFile = baseSysDir + dir;
-                QFileInfo fi(devFile + "/wireless/link");
+            const QString baseSysDir = "/sys/class/net/";
+            const QDir wDir(baseSysDir);
+            const QStringList dirs = wDir.entryList(QStringList() << "*", QDir::AllDirs | QDir::NoDotAndDotDot);
+            foreach(const QString dir, dirs) {
+                const QString devFile = baseSysDir + dir;
+                const QFileInfo fi(devFile + "/wireless/link");
                 if(fi.exists()) {
                     QFile rx(fi.absoluteFilePath());
                     if(rx.exists() && rx.open(QIODevice::ReadOnly | QIODevice::Text)) {
@@ -712,12 +657,12 @@
     case QSystemNetworkInfo::EthernetMode:
         {
             QString result;
-            QString baseSysDir = "/sys/class/net/";
-            QDir eDir(baseSysDir);
-            QStringList dirs = eDir.entryList(QStringList() << "eth*", QDir::AllDirs | QDir::NoDotAndDotDot);
-            foreach(QString dir, dirs) {
-                QString devFile = baseSysDir + dir;
-                QFileInfo fi(devFile + "/carrier");
+            const QString baseSysDir = "/sys/class/net/";
+            const QDir eDir(baseSysDir);
+            const QStringList dirs = eDir.entryList(QStringList() << "eth*", QDir::AllDirs | QDir::NoDotAndDotDot);
+            foreach(const QString dir, dirs) {
+                const QString devFile = baseSysDir + dir;
+                const QFileInfo fi(devFile + "/carrier");
                 if(fi.exists()) {
                     QFile rx(fi.absoluteFilePath());
                     if(rx.exists() && rx.open(QIODevice::ReadOnly | QIODevice::Text)) {
@@ -753,14 +698,13 @@
         {
             QHalInterface iface;
             if (iface.isValid()) {
-                QStringList list = iface.findDeviceByCapability("net.80211");
+                const QStringList list = iface.findDeviceByCapability("net.80211");
                 if(!list.isEmpty()) {
-                    foreach(QString netDev, list) {
-                        QString deviceName ;
+                    foreach(const QString netDev, list) {
                         QHalDeviceInterface ifaceDevice(netDev);
-                        deviceName  = ifaceDevice.getPropertyString("net.interface");
+                        const QString deviceName  = ifaceDevice.getPropertyString("net.interface");
                         if(list.count() > 1) {
-                            QString baseFIle = "/sys/class/net/" + deviceName+"/operstate";
+                            const QString baseFIle = "/sys/class/net/" + deviceName+"/operstate";
                             QFile rx(baseFIle);
                             if(rx.exists() && rx.open(QIODevice::ReadOnly | QIODevice::Text)) {
                                 QString operatingState;
@@ -785,14 +729,13 @@
         {
             QHalInterface iface;
             if (iface.isValid()) {
-                QStringList list = iface.findDeviceByCapability("net.80203");
+                const QStringList list = iface.findDeviceByCapability("net.80203");
                 if(!list.isEmpty()) {
-                    foreach(QString netDev, list) {
-                        QString deviceName ;
+                    foreach(const QString netDev, list) {
                         QHalDeviceInterface ifaceDevice(netDev);
-                        deviceName  = ifaceDevice.getPropertyString("net.interface");
+                        const QString deviceName  = ifaceDevice.getPropertyString("net.interface");
                         if(list.count() > 1) {
-                            QString baseFIle = "/sys/class/net/" + deviceName+"/operstate";
+                            const QString baseFIle = "/sys/class/net/" + deviceName+"/operstate";
                             QFile rx(baseFIle);
                             if(rx.exists() && rx.open(QIODevice::ReadOnly | QIODevice::Text)) {
                                 QString operatingState;
@@ -822,16 +765,16 @@
     };
 #else
     QString result;
-    QString baseSysDir = "/sys/class/net/";
-    QDir eDir(baseSysDir);
-    QStringList dirs = eDir.entryList(QStringList() << "*", QDir::AllDirs | QDir::NoDotAndDotDot);
-    foreach(QString dir, dirs) {
-        QString devFile = baseSysDir + dir;
-        QFileInfo devfi(devFile + "/device");
+    const QString baseSysDir = "/sys/class/net/";
+    const QDir eDir(baseSysDir);
+    const QStringList dirs = eDir.entryList(QStringList() << "*", QDir::AllDirs | QDir::NoDotAndDotDot);
+    foreach(const QString dir, dirs) {
+        const QString devFile = baseSysDir + dir;
+        const QFileInfo devfi(devFile + "/device");
         if(!devfi.exists()) {
             continue;
         }
-        QString baseFIle = "/sys/class/net/" + devFile+"/operstate";
+        const QString baseFIle = "/sys/class/net/" + devFile+"/operstate";
         QFile rx(baseFIle);
         if(rx.exists() && rx.open(QIODevice::ReadOnly | QIODevice::Text)) {
             QString operatingState;
@@ -845,15 +788,15 @@
         switch(mode) {
         case QSystemNetworkInfo::WlanMode:
             {
-                QFileInfo fi(devFile + "/wireless");
+                const QFileInfo fi(devFile + "/wireless");
                 if(fi.exists()) {
                     return QNetworkInterface::interfaceFromName(dir);
                 }
             }
             break;
             case QSystemNetworkInfo::EthernetMode:
-                {
-                QFileInfo fi(devFile + "/wireless");
+            {
+                const QFileInfo fi(devFile + "/wireless");
                 if(!fi.exists()) {
                     return QNetworkInterface::interfaceFromName(dir);
                 }
@@ -882,7 +825,7 @@
         QTextStream rin(&routeFilex);
         QString line = rin.readLine();
         while (!line.isNull()) {
-            QString lineSection = line.section("\t",2,2,QString::SectionSkipEmpty);
+            const QString lineSection = line.section("\t",2,2,QString::SectionSkipEmpty);
             if(lineSection != "00000000" && lineSection!="Gateway")
                 if(line.section("\t",0,0,QString::SectionSkipEmpty) == deviceName) {
                 routeFilex.close();
@@ -902,12 +845,12 @@
 
 QString QSystemNetworkInfoLinuxCommonPrivate::getBluetoothInfo(const QString &file)
 {
-    QString sysPath = "/sys/class/bluetooth/";
-    QDir sysDir(sysPath);
+    const QString sysPath = "/sys/class/bluetooth/";
+    const QDir sysDir(sysPath);
     QStringList filters;
     filters << "*";
-    QStringList sysList = sysDir.entryList( filters ,QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name);
-    foreach(QString dir, sysList) {
+    const QStringList sysList = sysDir.entryList( filters ,QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name);
+    foreach(const QString dir, sysList) {
         QFile btFile(sysPath + dir+"/"+file);
         if(btFile.exists()) {
             if (btFile.open(QIODevice::ReadOnly)) {
@@ -948,36 +891,35 @@
 #if !defined(QT_NO_DBUS)
         QHalInterface iface;
         if (iface.isValid()) {
-            QStringList list = iface.findDeviceByCapability("laptop_panel");
+            const QStringList list = iface.findDeviceByCapability("laptop_panel");
             if(!list.isEmpty()) {
-                foreach(QString lapDev, list) {
+                foreach(const QString lapDev, list) {
                     QHalDeviceInterface ifaceDevice(lapDev);
                     QHalDeviceLaptopPanelInterface lapIface(lapDev);
-                    float numLevels = ifaceDevice.getPropertyInt("laptop_panel.num_levels") - 1;
-                    float curLevel = lapIface.getBrightness();
+                    const float numLevels = ifaceDevice.getPropertyInt("laptop_panel.num_levels") - 1;
+                    const float curLevel = lapIface.getBrightness();
                     return curLevel / numLevels * 100;
                 }
             }
         }
 #endif
     } else {
-        QString backlightPath = "/proc/acpi/video/";
-        QDir videoDir(backlightPath);
+        const QString backlightPath = "/proc/acpi/video/";
+        const QDir videoDir(backlightPath);
         QStringList filters;
         filters << "*";
-        QStringList brightnessList = videoDir.entryList(filters,
+        const QStringList brightnessList = videoDir.entryList(filters,
                                                         QDir::Dirs
                                                         | QDir::NoDotAndDotDot,
                                                         QDir::Name);
-        foreach(QString brightnessFileName, brightnessList) {
+        foreach(const QString brightnessFileName, brightnessList) {
             float numLevels = 0.0;
             float curLevel = 0.0;
             QFile curBrightnessFile(backlightPath+brightnessFileName+"/LCD/brightness");
             if(!curBrightnessFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
                 qWarning()<<"File not opened";
             } else {
-                QString  strvalue;
-                strvalue = curBrightnessFile.readAll().trimmed();
+                const QString strvalue = curBrightnessFile.readAll().trimmed();
                 if(strvalue.contains("levels")) {
                     QStringList list = strvalue.split(" ");
                     numLevels = list.at(2).toFloat();
@@ -1061,8 +1003,8 @@
     mountEntries();
     struct statfs fs;
     if(statfs(mountEntriesMap[driveVolume].toLatin1(), &fs ) == 0 ) {
-        long blockSize = fs.f_bsize;
-        long totalBlocks = fs.f_blocks;
+        const long blockSize = fs.f_bsize;
+        const long totalBlocks = fs.f_blocks;
         return (double)totalBlocks * blockSize;
     }
     return 0;
@@ -1074,9 +1016,9 @@
 #if !defined(QT_NO_DBUS)
         QStringList mountedVol;
         QHalInterface iface;
-        QStringList list = iface.findDeviceByCapability("volume");
+        const QStringList list = iface.findDeviceByCapability("volume");
         if(!list.isEmpty()) {
-            foreach(QString vol, list) {
+            foreach(const QString vol, list) {
                 QHalDeviceInterface ifaceDevice(vol);
                 if(driveVolume == ifaceDevice.getPropertyString("block.device")) {
                     QHalDeviceInterface ifaceDeviceParent(ifaceDevice.getPropertyString("info.parent"), this);
@@ -1205,10 +1147,10 @@
 
         QStringList list = iface.findDeviceByCapability("battery");
         if(!list.isEmpty()) {
-            foreach(QString dev, list) {
+            foreach(const QString dev, list) {
                 halIfaceDevice = new QHalDeviceInterface(dev);
                 if (halIfaceDevice->isValid()) {
-                    QString batType = halIfaceDevice->getPropertyString("battery.type");
+                    const QString batType = halIfaceDevice->getPropertyString("battery.type");
                     if(batType == "primary" || batType == "pda") {
                         if(halIfaceDevice->setConnections() ) {
                             if(!connect(halIfaceDevice,SIGNAL(propertyModified(int, QVariantList)),
@@ -1224,7 +1166,7 @@
 
         list = iface.findDeviceByCapability("ac_adapter");
         if(!list.isEmpty()) {
-            foreach(QString dev, list) {
+            foreach(const QString dev, list) {
                 halIfaceDevice = new QHalDeviceInterface(dev);
                 if (halIfaceDevice->isValid()) {
                     if(halIfaceDevice->setConnections() ) {
@@ -1240,7 +1182,7 @@
 
         list = iface.findDeviceByCapability("battery");
         if(!list.isEmpty()) {
-            foreach(QString dev, list) {
+            foreach(const QString dev, list) {
                 halIfaceDevice = new QHalDeviceInterface(dev);
                 if (halIfaceDevice->isValid()) {
                     if(halIfaceDevice->setConnections()) {
@@ -1263,9 +1205,8 @@
 void QSystemDeviceInfoLinuxCommonPrivate::halChanged(int,QVariantList map)
 {
     for(int i=0; i < map.count(); i++) {
-//       qWarning() << __FUNCTION__ << map.at(i).toString();
        if(map.at(i).toString() == "battery.charge_level.percentage") {
-            int level = batteryLevel();
+            const int level = batteryLevel();
             emit batteryLevelChanged(level);
             if(level < 4) {
                 emit batteryStatusChanged(QSystemDeviceInfo::BatteryCritical);
@@ -1378,14 +1319,14 @@
         }
 #endif
     }
-    QDir dir("/etc");
+    const QDir dir("/etc");
     if(dir.exists()) {
         QStringList langList;
         QFileInfoList localeList = dir.entryInfoList(QStringList() << "*release",
                                                      QDir::Files | QDir::NoDotAndDotDot,
                                                      QDir::Name);
-        foreach(QFileInfo fileInfo, localeList) {
-            QString filepath = fileInfo.filePath();
+        foreach(const QFileInfo fileInfo, localeList) {
+            const QString filepath = fileInfo.filePath();
             QFile file(filepath);
             if (file.open(QIODevice::ReadOnly)) {
                 QTextStream prodinfo(&file);
@@ -1433,7 +1374,12 @@
         QHalInterface iface2;
         if (iface2.isValid()) {
             QStringList capList;
-            capList << "input.keyboard" << "input.keys" << "input.keypad" << "input.mouse" << "input.tablet";
+            capList << QLatin1String("input.keyboard") 
+                    << QLatin1String("input.keys")
+                    << QLatin1String("input.keypad") 
+                    << QLatin1String("input.mouse") 
+                    << QLatin1String("input.tablet")
+                    << QLatin1String("input.touchpad");
             for(int i = 0; i < capList.count(); i++) {
                 QStringList list = iface2.findDeviceByCapability(capList.at(i));
                 if(!list.isEmpty()) {
@@ -1453,7 +1399,10 @@
                     case 4:
                         methods = (methods | QSystemDeviceInfo::SingleTouch);
                         break;
-                    };
+                    case 5:
+                        methods = (methods | QSystemDeviceInfo::SingleTouch);
+                        break;
+                    }
                 }
             }
             if(methods != 0)
@@ -1461,12 +1410,12 @@
         }
 #endif
     }
-    QString inputsPath = "/sys/class/input/";
-    QDir inputDir(inputsPath);
+    const QString inputsPath = "/sys/class/input/";
+    const QDir inputDir(inputsPath);
     QStringList filters;
     filters << "event*";
-    QStringList inputList = inputDir.entryList( filters ,QDir::Dirs, QDir::Name);
-    foreach(QString inputFileName, inputList) {
+    const QStringList inputList = inputDir.entryList( filters ,QDir::Dirs, QDir::Name);
+    foreach(const QString inputFileName, inputList) {
         QFile file(inputsPath+inputFileName+"/device/name");
         if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
             qWarning()<<"File not opened";
@@ -1507,9 +1456,9 @@
     if(halIsAvailable) {
 #if !defined(QT_NO_DBUS)
         QHalInterface iface;
-        QStringList list = iface.findDeviceByCapability("battery");
+        const QStringList list = iface.findDeviceByCapability("battery");
         if(!list.isEmpty()) {
-            foreach(QString dev, list) {
+            foreach(const QString dev, list) {
                 QHalDeviceInterface ifaceDevice(dev);
                 if (ifaceDevice.isValid()) {
 //                    qWarning() << ifaceDevice.getPropertyString("battery.type")
@@ -1538,7 +1487,7 @@
             while (!line.isNull()) {
                 if(line.contains("design capacity")) {
                     levelWhenFull = line.split(" ").at(1).trimmed().toFloat();
-                    qWarning() << levelWhenFull;
+                    //qWarning() << levelWhenFull;
                     infofile.close();
                     break;
                 }
@@ -1557,7 +1506,7 @@
             while (!line.isNull()) {
                 if(line.contains("remaining capacity")) {
                     level = line.split(" ").at(1).trimmed().toFloat();
-                    qWarning() << level;
+                    //qWarning() << level;
                     statefile.close();
                     break;
                 }
@@ -1578,7 +1527,7 @@
        QHalInterface iface;
        QStringList list = iface.findDeviceByCapability("battery");
        if(!list.isEmpty()) {
-           foreach(QString dev, list) {
+           foreach(const QString dev, list) {
                QHalDeviceInterface ifaceDevice(dev);
                if (iface.isValid()) {
                    if (ifaceDevice.getPropertyBool("battery.rechargeable.is_charging")) {
@@ -1590,7 +1539,7 @@
 
        list = iface.findDeviceByCapability("ac_adapter");
        if(!list.isEmpty()) {
-           foreach(QString dev, list) {
+           foreach(const QString dev, list) {
                QHalDeviceInterface ifaceDevice(dev);
                if (ifaceDevice.isValid()) {
                    if(ifaceDevice.getPropertyBool("ac_adapter.present")) {