GI = imports.gi.GIRepository;
GLib = imports.gi.GLib;
xml = imports.libxml;
-
+File = imports.File.File;
XObject = imports.XObject.XObject;
console = imports.console.console;
-
+// BC/FC
+if (!GI.Repository) {
+ GI.Repository = GI.IRepository;
+ GI.FunctionInfoFlags = GI.IFunctionInfoFlags ;
+ GI.InfoType = GI.IInfoType;
+ GI.TypeTag= GI.ITypeTag;
+
+ GI.IBaseInfo.prototype.get_name = function(n) {
+ return GI.base_info_get_name(this, n);
+ }
+ GI.IBaseInfo.prototype.get_namespace = function(n) {
+ return GI.base_info_get_namespace(this, n);
+ }
+ GI.IBaseInfo.prototype.get_attribute = function( n) {
+ return GI.base_info_get_attribute(this, n);
+ }
+}
+
+
NameSpace = {
if (!GLib.file_test(dir, GLib.FileTest.EXISTS)) {
return;
}
- var gdir = GLib.dir_open(dir,0);
-
- while (true) {
-
- var fn = gdir.read_name ? gdir.read_name () : GLib.dir_read_name(gdir);
- // console.log('trying ' + fn);
- if (!fn) {
- gdir.close ? gdir.close() : GLib.dir_close(gdir);
- return;;
- }
- if (!fn.match(/.typelib$/)) {
- continue;
+ File.list(dir).forEach(function(fn)
+ {
+ if (!fn.match(/\.typelib$/)) {
+ return;
}
var par = fn.split('-').shift();
//console.log('trying ' + par);
if (ret.indexOf(par) > -1) {
- continue;
+ return;
}
ret.push(par);
-
-
- }
+ });
}
+
var gi = GI.Repository.get_default();
- var pth = GI.Repository.get_search_path ();
+ var pth = GI.Repository.get_search_path();
scanGir(pth[0]);
ret.sort();
interfaces: [],
};
- for (var i=0; i < GI.Repository.get_n_infos (gi,ns); i++ ) {
- var info = GI.Repository.get_info (gi, ns, i);
- print("NAME: " + info.get_name());
+ for (var i=0; i < gi.get_n_infos (ns); i++ ) {
+ var info = gi.get_info (ns, i);
+ // print("NAME: " + info.get_name());
//continue;
- var info_type = GI.base_info_get_type (info);
- print("Type: " + info_type);q
+ var info_type = GI.base_info_get_type ? GI.base_info_get_type(info) : info.get_type();
+ // print("Type: " + info_type);
switch(info_type) {
case GI.InfoType.OBJECT:
ret.objects.push(info.get_name());
continue;
}
}
-
+ //print ("SCAN NAMESPACES ALL DONE");
var gi = GI.Repository.get_default();
- var ver = GI.Repository.get_version(gi,ns);
+ var ver = gi.get_version(ns);
var pth = GI.Repository.get_search_path ();
var gir_path = pth[0].replace(/lib\/girepository-1.0/, 'share\/gir-1.0');
//console.log(fn);
},
-
+
// store all the interfaces, so we can show a list of them later...
// called when you list the namespace
clsGatherInterfaces : function(ns, cls)
{
// print("clsGatherInterfaces: " + ns + ", " + cls);
var gi = GI.Repository.get_default();
- var bb = GI.Repository.find_by_name(gi,ns, cls);
+ var bb = gi.find_by_name(ns, cls);
var fullname = ns+'.'+cls;
this.ifaceList = this.ifaceList || { };
doc : function(what) {
- print ("DOC: + " +what);
+ //print ("DOC: + " +what);
var ns = what.split('.').shift();
return '';
this.commentLoad(ns);
console.log("LOAD DOCS: " + ns);
var gi = GI.Repository.get_default();
- var ver = GI.Repository.get_version(gi,ns);
+ var ver = gi.get_version(ns);
if (!ver) {
this.comments[ns] = {};
return;