[libreoffice-dev] - architecture question about interproces,extension,addIn

Rai, Neeraj neeraj.rai at citi.com
Thu Jan 3 14:19:27 PST 2013


Hi Michael,

I appreciate the response.
I am fairly new to LO and so far working off a rpm installation (in process of building the source).
Extensions sound like something for masters - I'll try to avoid that for a few weeks.
However, your 2nd option looks like something I can build using examples (c++ service and BASIC macros).
Let me give it a shot.

Thanks
Neeraj

-----Original Message-----
From: Michael Stahl [mailto:mstahl at redhat.com]
Sent: Thursday, January 03, 2013 3:44 PM
To: Rai, Neeraj [ICG-MKTS]
Cc: 'libreoffice at lists.freedesktop.org'
Subject: Re: [libreoffice-dev] - architecture question about interproces,extension,addIn

hi Neeraj,

On 03/01/13 16:54, Rai, Neeraj wrote:

> Based on above text, I looked at addIns but it doesn't seem like what I
> need.  I don't want to be restricted to a function call. I need a
> component running in scalc.
>
> _http://wiki.openoffice.org/wiki/Documentation/DevGuide/Spreadsheets/Spreadsheet_Add-Ins_
>
> Can someone please advise what is the "fastest code as a C++ UNO
> component " mean and where can I find more docs related to it.

C++ UNO components that are instantiated in-process currently do not go
through a bridge when interacting with the LO API (although there have
been varying opinions about changing that, since it makes maintaining
backward compatibility more difficult): for such components, calling a
LO API method (or being called from LO itself) is just a C++ virtual
function call.

the best documented way to get this performance benefit is to implement
your client code as an extension.

http://wiki.openoffice.org/wiki/Documentation/DevGuide/Extensions/Extensions

there may also be a way to get there with less efforts, there are some
variables to add additional service rdbs to the soffice process
(URE_MORE_SERVICES/URE_MORE_TYPES) but i don't have any experience with
them; probably there is some way to implement what you want to do as a
service and then start it from inside soffice, if all else fails via a
trivial BASIC macro :)



More information about the LibreOffice mailing list