Introspect/Constant.js
[gnome.introspection-doc-generator] / Introspect / Constant.js
index bad3f6d..054a8c2 100644 (file)
@@ -16,13 +16,20 @@ 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">
+
  */
 
 
 Constant = XObject.define(
     function(prop, memberOf, saveto, keylist) {
           
-        this.name  =  GI.base_info_get_name(prop);
+        this.name  =  prop.get_name();
         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));
@@ -35,8 +42,11 @@ Constant = XObject.define(
         
         if (ty != 'interface') {
             
-            var argm = new GI.Argument();
-            GI.constant_info_get_value ( prop ,argm);
+            var argm = new GI._Argument();
+            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 {