Gio = imports.gi.Gio;
GIRepository = imports.gi.GIRepository;
+GObject= imports.gi.GObject;
xml = imports.libxml;
console = imports.console;
XObject = imports.XObject.XObject;
getPropertiesFor: function(ename, type)
{
- print("Loading for " + ename);
+ //print("Loading for " + ename);
if (typeof(this.proplist[ename]) != 'undefined') {
- print("using cache");
+ //print("using cache");
return this.proplist[ename][type];
}
// use introspection to get lists..
// properties.. -- and parent ones...!!!
for (var i =0;i < GIRepository[meth[0]](bi); i++) {
- var prop = GIRepository[meth[1]](bi, i);
+ var prop = GIRepository[meth[1]](bi,i);
var n_original = prop.get_name();
- var flags = prop.get_flags(); // check for readonly..
+ var flags = GIRepository.property_info_get_flags(prop); // check for readonly..
- var ty = this.typeToName(prop.get_type());
+ var ty = this.typeToName(GIRepository.property_info_get_type(prop));
+ var flags = GIRepository.property_info_get_flags(prop);
print (n_original +":"+ ty);
if (ty === false) {
continue;
name : n_original.replace(/\-/g, '_'),
type : ty,
desc : this.doc(ename + '.' + n_original),
- sig : ''
+ sig : '',
+ ctor_only : (flags & GObject.ParamFlags.CONSTRUCT_ONLY) > 0
}
plist.push(add)
}
// signals..
for (var i =0;i < GIRepository[meth[2]](bi); i++) {
- var prop = GIRepository[meth[3]](bi, i);
+ var prop =GIRepository[meth[3]](bi,i);
var n_original = prop.get_name();
// print ('signal: ' + n_original);
var add = {
// methods
for (var i =0;i < GIRepository[meth[4]](bi); i++) {
- var prop = GIRepository[meth[5]](bi, i);
+ var prop = GIRepository[meth[5]](bi,i);
var n_original = prop.get_name();
- print(ename +": ADD : " + n_original );
- var flags = prop.get_flags();
- if (flags & GIRepository.FunctionInfoFlags.IS_CONSTRUCTOR) {
- continue;
- }
- if (!(flags & GIRepository.FunctionInfoFlags.IS_METHOD)) {
+ print(ename +": ADD method: " + n_original );
+ //var flags = GIRepository.property_info_get_flags(prop);
+
+ if (n_original.match(/^new/)) {
+ var add = {
+ name : n_original.replace(/\-/g, '_'),
+ type : 'ctor', //???
+ desc : '',
+ //desc : this.doc(ename + "."+ n_original)
+ };
+ this.genParams(prop,add);
+ mlist.push(add);
continue;
}
+ continue;
+ // not sure why we need all the other ones...
+ //if (!(flags & GIRepository.FunctionInfoFlags.IS_METHOD)) {
+ // continue;
+ //}
// print ('signal: ' + n_original);
var add = {
name : n_original.replace(/\-/g, '_'),
type : 'function', //???
- desc : this.doc(ename + '.signal.' + n_original),
- }
+ desc : '', //this.doc(ename + '.' + n_original)
+ };
this.genParams(prop,add);
mlist.push(add);
}
}
// parent!!?!!?
- var pi = bi.get_parent();
+ var pi = GIRepository.object_info_get_parent(bi);
if (pi) {
{
var args = ['self'];
var ret = "\n";
- meth.ret_type = this.typeToName(sig.get_return_type());
+ meth.ret_type = this.typeToName(GIRepository.callable_info_get_return_type(sig));
// might be a numbeR??
meth.params = [];
- for(var a_i =0; a_i < sig.get_n_args(); a_i++) {
- var arg = sig.get_arg( a_i);
-
+ for(var a_i =0; a_i < GIRepository.callable_info_get_n_args(sig); a_i++) {
+ var arg = GIRepository.callable_info_get_arg(sig, a_i);
+ print(arg.get_name());
+ print(arg.get_type());
meth.params.push({
name : arg.get_name(),
type : this.typeToName(arg.get_type(), true)
{
var args = ['self'];
var ret = "\n";
- var ret_type = this.typeToName(sig.get_return_type());
+ var ret_type = this.typeToName(GIRepository.callable_info_get_return_type(sig));
// might be a numbeR??
if (ret_type == 'boolean') {
ret = " return false;\n";
}
- for(var a_i =0; a_i < sig.get_n_args(); a_i++) {
- var arg = sig.get_arg(a_i);
+ for(var a_i =0; a_i < GIRepository.callable_info_get_n_args(sig); a_i++) {
+ var arg = GIRepository.callable_info_get_arg(sig, a_i);
args.push(arg.get_name());
}
},
typeToName : function (type_info, allow_iface) // find type for properties or arguments.
{
- var ty = GIRepository.type_tag_to_string( GIRepository.type_info_get_tag(type_info));
+ print(type_info);
+ if (type_info == 17) {
+ return 'integer';
+ }
+
+ var x = GIRepository.type_info_get_tag(type_info);
+ print(x);
+ var ty = GIRepository.type_tag_to_string( GIRepository.type_info_get_tag(type_info));
+ print(ty);
if ((ty == 'void') && GIRepository.type_info_is_pointer(type_info)) {
return false;
return ty;
}
// we can accept enum types here..
- var interface_info = GIRepository.type_info_get_interface (type_info);
- var interface_type = GIRepository.base_info_get_type (interface_info);
+ var interface_info = GIRepository.type_info_get_interface(type_info);
+ var interface_type = interface_info.get_type();
- if (!allow_iface && interface_type != GIRepository.IInfoType.ENUM) {
+ if (!allow_iface && interface_type != GIRepository.InfoType.ENUM) {
return false;
}
- return GIRepository.base_info_get_namespace(interface_info) + '.' +
- GIRepository.base_info_get_name(interface_info);
+ return interface_info.get_namespace() + '.' + interface_info.get_name();
},
/**
}
var gi = GIRepository.Repository.get_default();
var bi = gi.find_by_name(es[0], es[1]);
- var etype = GIRepository.base_info_get_type(bi);
+ var etype = GIRepository.object_info_get_type(bi);
if (etype != GIRepository.InfoType.ENUM) {
console.log("Options not handled yet!!!");
return false;
}
var ret = [];
// got an enum.. let's return the values..
- for(var i =0; i < GIRepository.enum_info_get_n_values(bi); i++) {
+ for(var i =0; i < bi.get_n_values(); i++) {
- var prop = GIRepository.enum_info_get_value(bi,i);
+ var prop = bi.get_value(i);
- ret.push( ename + '.' + GIRepository.base_info_get_name(prop).toUpperCase() )
+ ret.push( ename + '.' + prop.get_name().toUpperCase() )
}
return ret;
},