src/Palete/VapiParser.vala
authorAlan Knowles <alan@roojs.com>
Thu, 7 May 2015 06:24:51 +0000 (14:24 +0800)
committerAlan Knowles <alan@roojs.com>
Thu, 7 May 2015 06:24:51 +0000 (14:24 +0800)
src/Palete/VapiParser.vala

index 2ac071e..95e025f 100644 (file)
@@ -13,7 +13,34 @@ namespace Palete {
                public static  Gee.HashMap<string,Gir> cache = null;
                
                
-               
+               public static GirObject?  factory(string ns) {
+                       if (cache == null) {
+                               cache = new Gee.HashMap<string,Gir>();
+                       }
+                       var ret = cache.get(ns);
+                       if (ret == null) {
+
+                               var add = new GirObject("Namespace",ns);
+                               cache.set(ns, add);
+                       
+                               var iter = add.classes.map_iterator();
+                               while(iter.next()) {
+                                       iter.get_value().overlayParent();
+                               }
+                               // loop again and add the ctor properties.
+                                iter = add.classes.map_iterator();
+                               while(iter.next()) {
+                                       iter.get_value().overlayCtorProperties();
+                               }       
+
+                               
+                               ret = cache.get(ns);
+                       }
+                        
+
+                       return ret;
+                       
+               }
                Vala.CodeContext context;
                public VapiParser() {
                        base();