On Thu, 2011-11-24 at 14:42 +0100, Tomas Hlavaty wrote:
- I write my application in a dynamic programming language with no
dependencies on libreoffice code;
Ok :-) so you would have a native implementation of the UNO RPC
protocol?
- My application reads the type library (RDB or better a simple XML
alternative) of the actually installed libreoffice on the target
machines (possibly different versions).
Fine.
- My application communicates with libreoffice via UNO using the correct
version of the type library (which I didn't exactly know before
installing my application on the target machine).
OK; so you rely on your dynamic language binding to elide / add extra
fields etc. - make sense.
At the moment, I parse IDL files and hope (or have to make sure) that
the installed libreoffice is compatible.
So - in -theory- (for all interesting cases), the UNO API is frozen (at
the moment). In the future we plan to change that, so we can avoid
piling up hacks).
To an extend, I could probably build the type library dynamically by
querying all interfaces instead of reading the RDB file, but I think
that would be unnecessarily slow.
You could perhaps introspect them via UNO remotely, and cache the data
per interface; not sure how many interfaces people typically use - but,
prolly not -that- many :-)
There seems to be some Python bridge to libreoffice. Does it use the
store code underneath a FFI?
Sure - it links to the URE run-time; we have a stable C ABI that we
export that has all the basic symbols and type information you need; and
of course that makes running in-proc. much cleaner.
HTH,
Michael.
--
michael.meeks@suse.com <><, Pseudo Engineer, itinerant idiot
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.