-Constant = function(prop, memberOf, saveto, keylist) {
-
- this.name = GI.base_info_get_name(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));
-
- ///this.flags = GI.property_info_get_flags(prop),
-
-
- this.value= 'UNKNOWN';
-
-
- if (ty != 'interface') {
+Constant = Object.define(
+ function(prop, memberOf, saveto, keylist) {
+
+ this.name = GI.base_info_get_name(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));
+
+ ///this.flags = GI.property_info_get_flags(prop),
+
+
+ this.value= 'UNKNOWN';
+
+
+ if (ty != 'interface') {
+
+ var argm = new GI.Argument();
+ GI.constant_info_get_value ( prop ,argm);
+ if (ty != 'utf8') {
+ this.value = argm.v_long;
+ } else {
+ this.value = argm.v_string;
+ }
+ }
+
+ this.desc = Introspect.doc(memberOf.alias + '.' + this.name)