Merge branch 'master' of ssh://69.25.196.28:822/srv/git/moonshot-ui
authorSam Thursfield <samthursfield@codethink.co.uk>
Wed, 6 Jul 2011 16:36:09 +0000 (17:36 +0100)
committerSam Thursfield <samthursfield@codethink.co.uk>
Wed, 6 Jul 2011 16:36:09 +0000 (17:36 +0100)
Makefile.am
example/sample.xml
src/moonshot-webp-parser.vala

index 99e3392..e7e930c 100644 (file)
@@ -29,6 +29,8 @@ libmoonshot_libmoonshot_la_SOURCES = libmoonshot/libmoonshot-common.c
 
 libmoonshot_libmoonshot_la_LIBADD = $(libmoonshot_LIBS)
 
+include_HEADERS = libmoonshot/libmoonshot.h
+noinst_HEADERS = libmoonshot/libmoonshot-common.h
 
 src_moonshot_SOURCES = \
         src/moonshot-id.vala \
@@ -49,7 +51,6 @@ src_moonshot_CPPFLAGS = \
         $(moonshot_CFLAGS) \
         $(AM_CPPFLAGS)
 
-
 if OS_WIN32
 
 libmoonshot_libmoonshot_la_LDFLAGS = -no-undefined
@@ -88,8 +89,7 @@ libmoonshot/moonshot-msrpc_s.c: libmoonshot/moonshot-msrpc.h
 libmoonshot/moonshot-msrpc_c.c: libmoonshot/moonshot-msrpc.h
 
 libmoonshot_libmoonshot_la_SOURCES += \
-        libmoonshot/libmoonshot-msrpc.c \
-        libmoonshot/moonshot-msrpc_c.c
+        libmoonshot/libmoonshot-msrpc.c
 
 src_moonshot_SOURCES += \
         src/moonshot-msrpc.vapi
@@ -97,6 +97,9 @@ src_moonshot_SOURCES += \
 nodist_src_moonshot_SOURCES = \
         libmoonshot/moonshot-msrpc_s.c
 
+nodist_libmoonshot_libmoonshot_la_SOURCES = \
+        libmoonshot/moonshot-msrpc_c.c
+
 endif
 
 if IPC_DBUS
index d9b324f..f679247 100644 (file)
     <selection-rules>
       <rule>
         <pattern>PATTERN</pattern>
-        <always_confirm>true</always_confirm>
+        <always-confirm>true</always-confirm>
       </rule>
       <rule>
         <pattern>ANOTHER_PATTERN</pattern>
-        <always_confirm>false</always_confirm>
+        <always-confirm>false</always-confirm>
       </rule>
     </selection-rules>
     <trust-anchor>
index 44231af..4ce7328 100644 (file)
@@ -19,6 +19,22 @@ namespace WebProvisioning
   }
 
   bool
+  always_confirm_handler (SList<string> stack)
+  {
+    string[] always_confirm_path = {"always-confirm", "rule", "selection-rules", "identity", "identities"};
+    
+    return check_stack (stack, always_confirm_path);
+  }
+  
+  bool
+  pattern_handler (SList<string> stack)
+  {
+    string[] pattern_path = {"pattern", "rule", "selection-rules", "identity", "identities"};
+    
+    return check_stack (stack, pattern_path);
+  }
+
+  bool
   server_cert_handler (SList<string> stack)
   {
     string[] server_cert_path = {"server-cert", "trust-anchor", "identity", "identities"};
@@ -93,7 +109,7 @@ namespace WebProvisioning
       IdCard[] tmp_cards = cards;
 
       cards = new IdCard[tmp_cards.length + 1];
-      for (int i = 0; i<tmp_cards.length; i++)
+      for (int i=0; i<tmp_cards.length; i++)
       {
         cards[i] = tmp_cards[i];
       }
@@ -102,6 +118,14 @@ namespace WebProvisioning
     }
     else if (element_name == "rule")
     {
+      Rule[] tmp_rules = card.rules;
+      card.rules = new Rule[tmp_rules.length + 1];
+      for (int i=0; i<tmp_rules.length; i++)
+      {
+        card.rules[i] = tmp_rules[i];
+      }
+      
+      card.rules[tmp_rules.length] = Rule();
     }
   }
 
@@ -142,13 +166,15 @@ namespace WebProvisioning
       card.services[services.length] = text;
     }
     /* Rules */
-    else if (stack.nth_data(0) == "pattern")
+    else if (stack.nth_data(0) == "pattern" && pattern_handler (stack))
     {
+      card.rules[card.rules.length - 1].pattern = text;
     }
-    else if (stack.nth_data(0) == "always_confirm")
+    else if (stack.nth_data(0) == "always-confirm" && always_confirm_handler (stack))
     {
+      if (text == "true" || text == "false")
+        card.rules[card.rules.length - 1].always_confirm = text;
     }
-    
     /*Trust anchor*/
     else if (stack.nth_data(0) == "ca-cert" && ca_cert_handler (stack))
     {
@@ -235,6 +261,11 @@ namespace WebProvisioning
       {
         debug ("service: %s", srv);
       }
+      
+      foreach (Rule r in card.rules)
+      {
+        debug ("rule: '%s' '%s'", r.pattern, r.always_confirm);
+      }
     }
     
     return 0;