Girish,

Girish Chandran wrote:
Hi Kay,

Thank you for the encouraging response. This is the first time that I am
posting on the UDK mailing list and hence if there are any rules regarding
the format of the postings please do let me know.
I think only the standard rules for quoting etc. apply. Though, you don't need to put me on CC:, as I am reading the lists anyway ... unless you actually want to reach me personally only :-)


I have started studying the documents available under these links. Are there
some specific documents which I should be studying in greater detail?
Not that I am aware of, you may want to take a look at the code of some bridges, e.g. bridges/source/jni_uno - for the JNI (Java Native Interface) Uno bridge, or
 jurt/source - for the Java Uno runtime, or
 pyuno/source - for the Python Uno bridge.


Thank you for pointing out the choices. Let me also give you some details
about my requirement. I have a set of C++ UNO Components as part of an
application. Each component is having well defined interfaces and component
implementation. The requirement now is that I should be able to access these
components from Ruby script and also I should be able to execute Ruby
scripts from the UNO Components (by supporting embed-ability). Also the
bridge should be dynamic so that if I request for an interface that is part
of a component, the bridge does some kind of internal UNO type lookup and
allow me the access to the interface. This would allow me to extend my
current application without having to change the bridge.
This is actually all what Uno is about, you don't need to change the runtime(s) just because of introducing a new type.

I hope I was able to clearly present my requirements.
I think so ...



Based on your comments I feel that the Binary Uno Bridge would be the way to
go. I will also start looking at the PyUNO implementation in detail to get a
better perspective of the whole task.
I know I am being lazy here :), but is there some document which describes
Me too, me too ... ;-)
what are the key areas of focus when developing a bridge for a new language?
Did you find http://udk.openoffice.org/common/man/bridge.html already?

Anyway, just from memory:

- You need to map the Uno IDL types (see http://udk.openoffice.org/common/man/typesystem.html) to Ruby, you want to look at the PyUno type mapping (see http://udk.openoffice.org/python/python-bridge.html#mapping) as an example.

- You need to implement a Bin Uno <-> Ruby Uno bridge (e.g. a shared library may be called "ruby_uno", exporting
 uno_initEnvironment
respectively
 uno_ext_getMapping

A little tutorial (though not complete yet) can be found in the wiki:
http://wiki.services.openoffice.org/wiki/Uno/Article/Working_with_Environments%2C_Mappings_%26_Objects
more details are available in the developers guide:
http://api.openoffice.org/docs/DevelopersGuide/AdvancedUNO/AdvancedUNO.xhtml

- You need to implement some core services, e.g.
 - a component loader
 - a service manager
 - a typedescription provider
 - ...

- You may need / want to implement some helpers, e.g. for
 - accessing Anys,
- implementing components (e.g. automatically adding support for XTypeProvider, ...)

To be very frank the amount of documentation just overwhelms one.
There are plans to move all/most docu into the wiki, which should allow us to consolidate somewhat and which should make it easier to contribute ...
From my preliminary study I understand that I have to work on the mapping,
language bindings and the corresponding support  in the bridge.
Yes, please see above.


At present I am also evaluating various Ruby implementations in order to
select one on which the bridge can be based. As soon as I have something
concrete I will seek your help in initiating the project.
You are very welcome ... :-)


Thanks and best regards,
Girish

Best regards

  Kay

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to