Apparently the engine exposes it's fucntionality via COM interfaces
(based on a cross platform subset of MS-COM). Could ruby's COM support
be used, and if so would this work on *nix?
The Helix project has extensive support for Python but I'd rather
polish my ruby skills than charm snakes :).
Apparently the engine exposes it's fucntionality via COM interfaces
(based on a cross platform subset of MS-COM). Could ruby's COM support
be used, and if so would this work on *nix?
Yes and no. Here is my understanding:
1. Win32OLE will let you talk to an object's COM interface.
2. However, it only runs on win32.
3. There is a RubyCOM which may be different, though I don't
think it would help; and anyhow I think it may be abandoned.
However, I have had a sub-project in mind for awhile that would
'wrap' win32ole with druby (distributed ruby). That would enable
two things:
1. Easy control of a win32 app via a Ruby script *on* win32 (with
a nice rubyish API)
2. Control of a win32 app via a Ruby script *on Linux* (or elsewhere)
via the same Ruby-like API.
I think this is an important enough idea that it could be a project
or lib in itself.
Obviously it should be automated to whatever extent possible. But
it might be good to do one or two "one-offs" so as to get a feel
for how it should be abstracted. (On the other hand, I don't really
know COM, so someone else might not need those dry runs.)
Is that something you'd be interested in collaborating on?
Thanx for the explanation. Guess I'll probably have to stick with
python for this one.
On a related note I found that there are bindings for Mozilla's XPCOM
(cross platform COM) which is similar to what Helix is using. I'm
curious as to how much effort it would take to generate bindings using
SWIG.
However, I have had a sub-project in mind for awhile that would
'wrap' win32ole with druby (distributed ruby). That would enable
two things:
Is that something you'd be interested in collaborating on?
Sounds really neat, but I'm afraid my ruby skills are mediocre & my
understanding of COM isn't much better. Would be a great learning
experience if I didn't have my hands full with this project.