Sha256: f06fa529c2d539032d2a1562b29ade30e2f89673b58d39a3261e7ddd5dc8a6df

Contents?: true

Size: 1.34 KB

Versions: 2

Compression:

Stored size: 1.34 KB

Contents

= TODO

== Use GIR to bootstrap the GIRepository namespace

Currently, all the classes used to read the GIR are hand-coded. It should
be possible to hand-code only part of it and use that to generate the rest.
This would also integrate that properly with the rest of the GObject type
system.

Update: This has been tried, but the problem is that the GIRepository
namespace is not object-oriented: The Info structs are not GObjects, and
the methods that act upon them are just functions in the GIRepository
namespace. Perhaps some custom method_missing can be implemented to handle
this, though.

== Handle passing of generic pointers

Many GObject methods take a pointer to 'user data'. This means we should be
able to pass any Ruby object. On the other hand, these cases cannot be
distinguished, based on the GIR data, from methods that take a pointer to
any GObject.

I'm currently passing the object id as the value of the 'gpointer'. Special
overrides will have to be used for the cases where the 'gpointer' actually
needs to be a GObject. I consider it an omission in GIRepository that these
two cases are not distinguished.

== Compatibility with all implementations.

Currently, there are the following incompatibilities:

* JRuby disables ObjectSpace by default, so using _id2ref for handling the
  passing of generic pointers is not ideal.

== See Also

rake notes

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gir_ffi-0.0.6 TODO.rdoc
gir_ffi-0.0.5 TODO.rdoc