src/bearer/qnetworkmanagerservice_p.cpp
changeset 5 603d3f8b6302
parent 0 876b1a06bc25
equal deleted inserted replaced
3:e4ebb16b39ea 5:603d3f8b6302
   711     return d->settingsMap;
   711     return d->settingsMap;
   712 }
   712 }
   713 
   713 
   714 NMDeviceType QNetworkManagerSettingsConnection::getType()
   714 NMDeviceType QNetworkManagerSettingsConnection::getType()
   715 {
   715 {
   716     QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("connection"));
   716     const QString devType =
   717     while (i != d->settingsMap.end() && i.key() == QLatin1String("connection")) {
   717         d->settingsMap.value(QLatin1String("connection")).value(QLatin1String("type")).toString();
   718         QMap<QString,QVariant> innerMap = i.value();
   718 
   719         QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("type"));
   719     if (devType == QLatin1String("802-3-ethernet"))
   720         while (ii != innerMap.end() && ii.key() == QLatin1String("type")) {
   720         return DEVICE_TYPE_802_3_ETHERNET;
   721             QString devType = ii.value().toString();
   721     else if (devType == QLatin1String("802-11-wireless"))
   722             if (devType == QLatin1String("802-3-ethernet")) {
   722         return DEVICE_TYPE_802_11_WIRELESS;
   723                 return 	DEVICE_TYPE_802_3_ETHERNET;
   723     else
   724             }
   724         return DEVICE_TYPE_UNKNOWN;
   725             if (devType == QLatin1String("802-11-wireless")) {
       
   726                 return 	DEVICE_TYPE_802_11_WIRELESS;
       
   727             }
       
   728             ii++;
       
   729         }
       
   730         i++;
       
   731     }
       
   732     return 	DEVICE_TYPE_UNKNOWN;
       
   733 }
   725 }
   734 
   726 
   735 bool QNetworkManagerSettingsConnection::isAutoConnect()
   727 bool QNetworkManagerSettingsConnection::isAutoConnect()
   736 {
   728 {
   737     QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("connection"));
   729     const QVariant autoConnect =
   738     while (i != d->settingsMap.end() && i.key() == QLatin1String("connection")) {
   730         d->settingsMap.value(QLatin1String("connection")).value(QLatin1String("autoconnect"));
   739         QMap<QString,QVariant> innerMap = i.value();
   731 
   740         QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("autoconnect"));
   732     // NetworkManager default is to auto connect
   741         while (ii != innerMap.end() && ii.key() == QLatin1String("autoconnect")) {
   733     if (!autoConnect.isValid())
   742             return ii.value().toBool();
   734         return true;
   743             ii++;
   735 
   744         }
   736     return autoConnect.toBool();
   745         i++;
       
   746     }
       
   747     return true; //default networkmanager is autoconnect
       
   748 }
   737 }
   749 
   738 
   750 quint64 QNetworkManagerSettingsConnection::getTimestamp()
   739 quint64 QNetworkManagerSettingsConnection::getTimestamp()
   751 {
   740 {
   752     QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("connection"));
   741     qDebug() << d->settingsMap.value(QLatin1String("connection"));
   753     while (i != d->settingsMap.end() && i.key() == QLatin1String("connection")) {
   742 
   754         QMap<QString,QVariant> innerMap = i.value();
   743     return d->settingsMap.value(QLatin1String("connection"))
   755         QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("timestamp"));
   744                          .value(QLatin1String("timestamp")).toUInt();
   756         while (ii != innerMap.end() && ii.key() == QLatin1String("timestamp")) {
       
   757             return ii.value().toUInt();
       
   758             ii++;
       
   759         }
       
   760         i++;
       
   761     }
       
   762     return 	0;
       
   763 }
   745 }
   764 
   746 
   765 QString QNetworkManagerSettingsConnection::getId()
   747 QString QNetworkManagerSettingsConnection::getId()
   766 {
   748 {
   767     QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("connection"));
   749     return d->settingsMap.value(QLatin1String("connection")).value(QLatin1String("id")).toString();
   768     while (i != d->settingsMap.end() && i.key() == QLatin1String("connection")) {
       
   769         QMap<QString,QVariant> innerMap = i.value();
       
   770         QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("id"));
       
   771         while (ii != innerMap.end() && ii.key() == QLatin1String("id")) {
       
   772             return ii.value().toString();
       
   773             ii++;
       
   774         }
       
   775         i++;
       
   776     }
       
   777     return 	QString();
       
   778 }
   750 }
   779 
   751 
   780 QString QNetworkManagerSettingsConnection::getUuid()
   752 QString QNetworkManagerSettingsConnection::getUuid()
   781 {
   753 {
   782     QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("connection"));
   754     const QString id = d->settingsMap.value(QLatin1String("connection"))
   783     while (i != d->settingsMap.end() && i.key() == QLatin1String("connection")) {
   755                                      .value(QLatin1String("uuid")).toString();
   784         QMap<QString,QVariant> innerMap = i.value();
   756 
   785         QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("uuid"));
       
   786         while (ii != innerMap.end() && ii.key() == QLatin1String("uuid")) {
       
   787             return ii.value().toString();
       
   788             ii++;
       
   789         }
       
   790         i++;
       
   791     }
       
   792     // is no uuid, return the connection path
   757     // is no uuid, return the connection path
   793     return 	d->connectionInterface->path();
   758     return id.isEmpty() ? d->connectionInterface->path() : id;
   794 }
   759 }
   795 
   760 
   796 QString QNetworkManagerSettingsConnection::getSsid()
   761 QString QNetworkManagerSettingsConnection::getSsid()
   797 {
   762 {
   798     QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("802-11-wireless"));
   763     return d->settingsMap.value(QLatin1String("802-11-wireless"))
   799     while (i != d->settingsMap.end() && i.key() == QLatin1String("802-11-wireless")) {
   764                          .value(QLatin1String("ssid")).toString();
   800         QMap<QString,QVariant> innerMap = i.value();
       
   801         QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("ssid"));
       
   802         while (ii != innerMap.end() && ii.key() == QLatin1String("ssid")) {
       
   803             return ii.value().toString();
       
   804             ii++;
       
   805         }
       
   806         i++;
       
   807     }
       
   808     return 	QString();
       
   809 }
   765 }
   810 
   766 
   811 QString QNetworkManagerSettingsConnection::getMacAddress()
   767 QString QNetworkManagerSettingsConnection::getMacAddress()
   812 {
   768 {
   813     if(getType() == DEVICE_TYPE_802_3_ETHERNET) {
   769     NMDeviceType type = getType();
   814         QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("802-3-ethernet"));
   770 
   815         while (i != d->settingsMap.end() && i.key() == QLatin1String("802-3-ethernet")) {
   771     if (type == DEVICE_TYPE_802_3_ETHERNET) {
   816             QMap<QString,QVariant> innerMap = i.value();
   772         return d->settingsMap.value(QLatin1String("802-3-ethernet"))
   817             QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("mac-address"));
   773                              .value(QLatin1String("mac-address")).toString();
   818             while (ii != innerMap.end() && ii.key() == QLatin1String("mac-address")) {
   774     } else if (type == DEVICE_TYPE_802_11_WIRELESS) {
   819                 return ii.value().toString();
   775         return d->settingsMap.value(QLatin1String("802-11-wireless"))
   820                 ii++;
   776                              .value(QLatin1String("mac-address")).toString();
   821             }
   777     } else {
   822             i++;
   778         return QString();
   823         }
   779     }
   824     }
   780 }
   825 
   781 
   826     else if(getType() == DEVICE_TYPE_802_11_WIRELESS) {
   782 QStringList QNetworkManagerSettingsConnection::getSeenBssids()
   827         QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("802-11-wireless"));
   783 {
   828         while (i != d->settingsMap.end() && i.key() == QLatin1String("802-11-wireless")) {
   784     if (getType() == DEVICE_TYPE_802_11_WIRELESS) {
   829             QMap<QString,QVariant> innerMap = i.value();
   785         return d->settingsMap.value(QLatin1String("802-11-wireless"))
   830             QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("mac-address"));
   786                              .value(QLatin1String("seen-bssids")).toStringList();
   831             while (ii != innerMap.end() && ii.key() == QLatin1String("mac-address")) {
   787     } else {
   832                 return ii.value().toString();
   788         return QStringList();
   833                 ii++;
   789     }
   834             }
       
   835             i++;
       
   836         }
       
   837     }
       
   838     return 	QString();
       
   839 }
       
   840 
       
   841 QStringList  QNetworkManagerSettingsConnection::getSeenBssids()
       
   842 {
       
   843  if(getType() == DEVICE_TYPE_802_11_WIRELESS) {
       
   844         QNmSettingsMap::const_iterator i = d->settingsMap.find(QLatin1String("802-11-wireless"));
       
   845         while (i != d->settingsMap.end() && i.key() == QLatin1String("802-11-wireless")) {
       
   846             QMap<QString,QVariant> innerMap = i.value();
       
   847             QMap<QString,QVariant>::const_iterator ii = innerMap.find(QLatin1String("seen-bssids"));
       
   848             while (ii != innerMap.end() && ii.key() == QLatin1String("seen-bssids")) {
       
   849                 return ii.value().toStringList();
       
   850                 ii++;
       
   851             }
       
   852             i++;
       
   853         }
       
   854     }
       
   855  return QStringList();
       
   856 }
   790 }
   857 
   791 
   858 class QNetworkManagerConnectionActivePrivate
   792 class QNetworkManagerConnectionActivePrivate
   859 {
   793 {
   860 public:
   794 public: