Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Hi Michael,

Michael Meeks <michael.meeks@suse.com> writes:
Ok :-) so you would have a native implementation of the UNO RPC
protocol?

yes ;-)

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).

Good to know.

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 :-)

Yes but I think that remote introspection would be slow.  I could do it
once and then dump it into a persistent cache, something like the RDB
file but in a more suitable format, e.g. using a XML or binary
serializer.

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.

So so far everything goes through the C ABI.  Is that what is defined in
store/inc/store/store.h and store/inc/store/types.h?

However, I want to avoid any FFI.  I already have a native
implementation of the UNO RPC protocol in Common Lisp and I think other
users of dynamic languages might find it more convenient to implement a
native version too.  Wouldn't it be beneficial for Python users too for
example?

A simpler alternative to RDB file or a fast way to retrieve the type
library via UNO without one by one querying would be very convenient.

Are there any native implementations of the UNO RPC protocol so far,
e.g. for Java or is everybody going through FFI?

Thank you,

Tomas

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.