[libreoffice-dev] - building difficulties with C++ extension,addIn

Rai, Neeraj neeraj.rai at citi.com
Tue Jan 8 11:45:57 PST 2013


Hi Michael,

I was able to work around the problem below by removing the platform tag.
For now, I am happy with legacy active registration.
I now have a working example of Calc extension in C++ (on lines of example/java/SpreadSheet/CalcAddins)
Thanks for your help.


I noticed that you are listed as one of the developers for soffice. Would you be able to take this code and introduce it as part of package ?
Same might be done for myRNG.tar.gz.
I think calc is an important part of soffice and having a c++ extension readily available would attract more users to it.
It took me days to get this working, but for anyone henceforth it should be 15 min.

Unfortunately, I am behind firewall and can't access gerrit. I am attaching the file with this email.
If there is a better way to get it as part of installation, I'll be happy to contribute.

Thanks
Neeraj
-----Original Message-----
From: Rai, Neeraj [ICG-MKTS]
Sent: Monday, January 07, 2013 7:30 PM
To: Michael Stahl
Cc: 'libreoffice at lists.freedesktop.org'
Subject: [libreoffice-dev] - building difficulties with C++ extension,addIn

Hi Michael,

I tried your extension suggestion to convert examples/java/SpreadSheet/CalcAddins.java to C++.
I am having problem installing my extension using unpkg.
Error : The extension "my simple extension" does not work on this computer.
I tried various values in META-INF/manifest.xml : platform=linux_x86_64 and platform=all but I get the same error.

I probably did something wrong transporting the xml files or oxt files from the example.
The original example in java works for me.
Would you happen to have expertise in this area and time to help me out ?

I also came across the following link which states that regmerge is legacy. However, the CalcAddIn was using it, so I went with it too.
http://wiki.openoffice.org/wiki/Documentation/DevGuide/WritingUNO/Deployment_Options_for_Components
If that is the not the right way forward, please point me in the right direction.

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: make.log
Type: application/octet-stream
Size: 2476 bytes
Desc: make.log
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20130108/ed4c4b1c/attachment-0006.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Makefile
Type: application/octet-stream
Size: 1657 bytes
Desc: Makefile
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20130108/ed4c4b1c/attachment-0007.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: setenv
Type: application/octet-stream
Size: 166 bytes
Desc: setenv
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20130108/ed4c4b1c/attachment-0008.obj>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: symbols.txt
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20130108/ed4c4b1c/attachment-0001.txt>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CalcAddinCpp.components
Type: application/octet-stream
Size: 434 bytes
Desc: CalcAddinCpp.components
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20130108/ed4c4b1c/attachment-0009.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CalcAddinCpp.idl
Type: application/octet-stream
Size: 974 bytes
Desc: CalcAddinCpp.idl
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20130108/ed4c4b1c/attachment-0010.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CalcAddinCpp_impl.cxx
Type: application/octet-stream
Size: 10715 bytes
Desc: CalcAddinCpp_impl.cxx
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20130108/ed4c4b1c/attachment-0011.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: manifest.xml
Type: text/xml
Size: 539 bytes
Desc: manifest.xml
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20130108/ed4c4b1c/attachment-0001.xml>


More information about the LibreOffice mailing list