Introspect/Constant.js
[gnome.introspection-doc-generator] / Introspect / Constant.js
index 4d41668..054a8c2 100644 (file)
@@ -16,6 +16,13 @@ Basic        = imports.Basic.Basic;
 
 /**
  * Constant
+ *
+ *    <union name="Argument" c:type="GIArgument">
+
+ * NEEDS <function name="constant_info_get_value"
+              c:identifier="g_constant_info_get_value"
+              introspectable="1">
+
  */
 
 
@@ -23,7 +30,7 @@ Constant = XObject.define(
     function(prop, memberOf, saveto, keylist) {
           
         this.name  =  prop.get_name();
-        var tif    = prop.get_type(); //GI.constant_info_get_type(prop);
+        var tif    = GI.constant_info_get_type(prop);
         var ty = GI.type_tag_to_string( GI.type_info_get_tag(tif));
         this.type  = this.typeToName(GI.constant_info_get_type(prop));
         
@@ -36,7 +43,10 @@ Constant = XObject.define(
         if (ty != 'interface') {
             
             var argm = new GI._Argument();
-            GI.constant_info_get_value ( prop ,argm);
+            GI.constant_info_get_value ?
+                GI.constant_info_get_value ( prop ,argm) :
+                prop.get_value(argm);
+                
             if (ty != 'utf8') {
                 this.value = argm.v_long;
             } else {