Incremental commit.
authorOssama Othman <ossama.othman@intel.com>
Thu, 14 Nov 2013 00:11:44 +0000 (16:11 -0800)
committerOssama Othman <ossama.othman@intel.com>
Thu, 14 Nov 2013 00:11:44 +0000 (16:11 -0800)
Change-Id: I12849a7663c7adf2a70174339b265cadc52b4723
Signed-off-by: Ossama Othman <ossama.othman@intel.com>
plugins/connman/agent.cpp

index 61e99cd..c5a0b4e 100644 (file)
@@ -214,10 +214,25 @@ namespace
         gchar    * fname  = nullptr;
         GVariant * fvalue = nullptr;
 
+        /**
+         * @todo Refactor GVariant dictionary iteration code.
+         */
         while (g_variant_iter_next(vi, "{sv}", &fname, &fvalue)) {
+          //
           unique_ptr<gchar>    const name(fname);
-          unique_ptr<GVariant> const value(fvalue);
+          unique_ptr<GVariant> const arguments(fvalue);
 
+          GVariantIter * ai = nullptr;
+          g_variant_get(arguments.get(), "(a{sv})", &ai);
+          unique_ptr<GVariantIter> const iter(ai);
+
+          gchar    * argname  = nullptr;
+          GVariant * argvalue = nullptr;
+
+          while (g_variant_iter_next(ai, "{sv}", &argname, &argvalue)) {
+            unique_ptr<gchar>    const name(argname);
+            unique_ptr<GVariant> const value(argvalue);
+          }
 
         }
       });