Hi all,
Ok folks, here's how it is.
The windows-api project will, from now on, consist of two parts.
The first part is "win32-api". This is a replacement for 'Win32API'.
This is a refactored version of the Win32API that currently ships with
Ruby's stdlib. It is a C extension.
Changes include:
* Name change - it's now "win32/api" instead of "Win32API".
* It's now under the "Win32" namespace/module.
* Refactored to use the Ruby 1.8 allocation scheme.
* Changed the order of the arguments - the DLL has been moved from first
to last, and now defaults to 'kernel32'. The prototype and return type
also have default values.
* There are now (sane) methods for obtaining instance variable
information, such as prototype, return type, etc.
The second part is the pure Ruby part of the windows-api library. This
is still a wrapper, but uses our own "win32-api" library instead of
Ruby's "Win32API". For the 0.2.0 release the changes were actually
relatively minor.
The upside of releasing our own version of win32-api is that we ensure
that it will still exist once Ruby 2.0 is release. In addition, we can
tweak it to suit our needs as we see fit. Specifically, this means we
can add Park's callback interface. :)
In practice, this means that end users will always use our version of
windows-api, but we can modify the underlying C code as we see fit.
Please, checkout the latest windows-api from CVS and see what you think.
Regards,
Dan