First go at using Gtk3. Everything builds but there is stuff (Pango modules) missing...
[moonshot-ui.git] / src / moonshot-webp-parser.vala
index 4ce7328..94b8e52 100644 (file)
@@ -1,3 +1,5 @@
+using Moonshot;
+
 namespace WebProvisioning
 { 
   IdCard card;
@@ -213,7 +215,7 @@ namespace WebProvisioning
         while ((line = dis.read_line (null)) != null)
           text += line;
       }
-      catch (Error e)
+      catch (GLib.Error e)
       {
         error ("Could not retreive file size");
       }
@@ -230,7 +232,7 @@ namespace WebProvisioning
       {
         ctx.parse (text, text.length);
       }
-      catch (Error e)
+      catch (GLib.Error e)
       {
         error ("Could not parse %s, invalid content", path);
       } 
@@ -254,17 +256,40 @@ namespace WebProvisioning
     
     foreach (IdCard card in cards)
     {
-    
-      debug ("IDCARD: '%s' '%s' '%s' '%s'", card.display_name, card.username, card.password, card.issuer);
-    
-      foreach (string srv in card.services)
+      Moonshot.Error error;
+      string[] rules_patterns = {};
+      string[] rules_always_confirm = {};
+        
+      if (card.rules.length > 0)
       {
-        debug ("service: %s", srv);
+        int i = 0;
+        rules_patterns = new string[card.rules.length];
+        rules_always_confirm = new string[card.rules.length];
+        foreach (Rule r in card.rules)
+        {
+          rules_patterns[i] = r.pattern;
+          rules_always_confirm[i] = r.always_confirm;
+          i++;
+        }
       }
-      
-      foreach (Rule r in card.rules)
+
+      Moonshot.install_id_card (card.display_name,
+                                card.username,
+                                card.password,
+                                card.issuer,
+                                rules_patterns,
+                                rules_always_confirm,
+                                card.services,
+                                card.trust_anchor.ca_cert,
+                                card.trust_anchor.subject,
+                                card.trust_anchor.subject_alt,
+                                card.trust_anchor.server_cert,
+                                out error);
+
+      if (error != null)
       {
-        debug ("rule: '%s' '%s'", r.pattern, r.always_confirm);
+        stderr.printf ("Error: %s", error.message);
+        continue;
       }
     }