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: |