[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [networkmanagement] backends/NetworkManager/settings: Fix
From:       Gökçen_Eraslan <gokcen () pardus ! org ! tr>
Date:       2011-08-10 9:09:14
Message-ID: 20110810090914.F1396A60AE () git ! kde ! org
[Download RAW message or body]

Git commit 6e9dcec7904fabc213ae7e3b29e4b2209a989cc6 by Gökçen Eraslan.
Committed on 10/08/2011 at 13:59.
Pushed by gokcen into branch 'master'.

Fix loading/saving of VPN connections

M  +21   -4    backends/NetworkManager/settings/vpndbus.cpp

http://commits.kde.org/networkmanagement/6e9dcec7904fabc213ae7e3b29e4b2209a989cc6

diff --git a/backends/NetworkManager/settings/vpndbus.cpp b/backends/NetworkManager/settings/vpndbus.cpp
index ae2be68..c07327f 100644
--- a/backends/NetworkManager/settings/vpndbus.cpp
+++ b/backends/NetworkManager/settings/vpndbus.cpp
@@ -1,12 +1,14 @@
 // This file is generated by kconfig_compiler from vpn.kcfg.
 // All changes you do to this file will be lost.
 
-#include "vpndbus.h"
+#include <QDBusMetaType>
 
+#include "vpndbus.h"
 #include "vpn.h"
 
 VpnDbus::VpnDbus(Knm::VpnSetting * setting) : SettingDbus(setting)
 {
+    qDBusRegisterMetaType<QStringMap>();
 }
 
 VpnDbus::~VpnDbus()
@@ -20,14 +22,25 @@ void VpnDbus::fromMap(const QVariantMap & map)
     setting->setServiceType(map.value(QLatin1String(NM_SETTING_VPN_SERVICE_TYPE)).value<QString>());
   }
   if (map.contains(QLatin1String(NM_SETTING_VPN_DATA))) {
-    setting->setData(map.value(QLatin1String(NM_SETTING_VPN_DATA)).value<QStringMap>());
+    if (map.value(QLatin1String(NM_SETTING_VPN_DATA)).canConvert< QDBusArgument>()) {
+      QDBusArgument dataArg = map.value(QLatin1String(NM_SETTING_VPN_DATA)).value<QDBusArgument>();
+      setting->setData(qdbus_cast<QStringMap>(dataArg));
+    } else {
+      setting->setData(map.value(QLatin1String(NM_SETTING_VPN_DATA)).value<QStringMap>());
+    }
   }
   if (map.contains(QLatin1String(NM_SETTING_VPN_USER_NAME))) {
     setting->setUserName(map.value(QLatin1String(NM_SETTING_VPN_USER_NAME)).value<QString>());
   }
+
   // SECRET
   if (map.contains(QLatin1String(NM_SETTING_VPN_SECRETS))) {
-    setting->setVpnSecrets(map.value(QLatin1String(NM_SETTING_VPN_SECRETS)).value<QVariantMap>());
+    if (map.value(QLatin1String(NM_SETTING_VPN_SECRETS)).canConvert< QDBusArgument>()) {
+      QDBusArgument secretArg = map.value(QLatin1String(NM_SETTING_VPN_SECRETS)).value<QDBusArgument>();
+      setting->setVpnSecrets(qdbus_cast<QVariantMap>(secretArg));
+    } else {
+      setting->setVpnSecrets(map.value(QLatin1String(NM_SETTING_VPN_SECRETS)).value<QVariantMap>());
+    }
   }
 }
 
@@ -35,12 +48,16 @@ QVariantMap VpnDbus::toMap()
 {
   QVariantMap map;
   Knm::VpnSetting * setting = static_cast<Knm::VpnSetting *>(m_setting);
+
   map.insert(QLatin1String(NM_SETTING_VPN_SERVICE_TYPE), setting->serviceType());
   if (!setting->data().isEmpty())
       map.insert(QLatin1String(NM_SETTING_VPN_DATA), QVariant::fromValue(setting->data()));
-  map.insert(QLatin1String(NM_SETTING_VPN_SECRETS), QVariant::fromValue(QStringMap()));
+
+  map.insert(QLatin1String(NM_SETTING_VPN_SECRETS), QVariant::fromValue(setting->vpnSecrets()));
+
   if (!setting->userName().isEmpty())
       map.insert(QLatin1String(NM_SETTING_VPN_USER_NAME), setting->userName());
+
   return map;
 }
 

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic