Re: libseed-list js extensions for native modules
- From: "Alan Knowles" <alan akbkhome com>
- To: "Jonatan Liljedahl" <libseed-list-bounces gnome org>
- Cc: libseed-list gnome org
- Subject: Re: libseed-list js extensions for native modules
- Date: Mon, 28 Jun 2010 14:47:29 +0800
This should be made to work - It's probably going to take a bit of working out how to support it...
Looking through the code, it's either we have to explicitly overlay the prototype properties in the constructor, or we set the parent_class of Context to a standard object..
Regarsd
Alan
--- On 21/Jun/2010, Jonatan Liljedahl wrote:
> Also, it should work to add methods to SomeClass.prototype in native
> modules. Currently it does not:
>
> imports.sandbox.Context.prototype.eval_file = function(fn) {
> var script = {};
> GLib.file_get_contents(fn,script);
> return this.eval(script.contents);
> };
>
> c = new imports.sandbox.Context;
> c.eval_file(foobar);
>
> TypeError Result of expression 'ctx.eval_file' [undefined] is not a
> function.
>
> It does work for GI modules, as seen in extensions/Gtk.js
>
> /Jonatan
>
> Jonatan Liljedahl wrote:
> > The gi_importer tries to import extensions/name.js by evaluating
> > "imports.extensions.name". It would be nice if this also worked for
> > native modules, I imagine it to be quite common that you write a module
> > with core parts in C and some high-level stuff in js.
> >
> > The question is, how should this be handled regarding searchpaths etc?
> >
> > If your module is installed in /usr/local/lib/seed, then you probably
> > installed the extension js in /usr/local/share/seed/extensions, and
> > imports.extensions would be the right thing.
> >
> > But what happens if your module is installed somewhere else? It should
> > probably start with the same dir as the native module, then go on with
> > imports.searchPath, and if the file is found call
> > seed_importer_handle_file() on it..
> >
> > BTW, what happens if you have 'extensions' folder in more than one
> > search path? will extensions.foo search for 'foo' in all of those or
> > only the first match for 'extensions'? Just doing a 'imports.extensions'
> > will of course create only one dir_importer for that folder, hiding
> > possible 'extensions' folders later in the searchpath. I don't know if
> > this is a good thing...
> >
> > /Jonatan
> > _______________________________________________
> > libseed-list mailing list
> > libseed-list gnome org
> > http://mail.gnome.org/mailman/listinfo/libseed-list
>
> _______________________________________________
> libseed-list mailing list
> libseed-list gnome org
> http://mail.gnome.org/mailman/listinfo/libseed-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]