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:mst...@redhat.com]
Sent: Thursday, January 03, 2013 3:44 PM
To: Rai, Neeraj [ICG-MKTS]
Cc: 'libreoffice@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 :)

<?xml version="1.0" encoding="UTF-8"?>
<description xmlns="http://openoffice.org/extensions/description/2006"; 
	     xmlns:d="http://openoffice.org/extensions/description/2006";
	     xmlns:xlink="http://www.w3.org/1999/xlink";>
  
  <identifier value="org.openoffice.sheet.addin.CalcAddinCpp" />
  
  <version value="1.0" />   
  
  <platform value="linux_x86" />
  
  <registration>
    <simple-license accept-by="admin" suppress-on-update="true" >
      <license-text xlink:href="registration/license_de-DE.txt" lang="de-DE" />
      <license-text xlink:href="registration/license_en-GB.txt" lang="en-GB" />
      <license-text xlink:href="registration/license_en-NZ.txt" lang="en-NZ" />
      <license-text xlink:href="registration/license_en-US.txt" lang="en-US" />
    </simple-license>
  </registration>
  
  <dependencies>
    <OpenOffice.org-minimal-version value="3.3" d:name="OpenOffice.org 3.3"/>
  </dependencies>
  
  <update-information>
    <src xlink:href="http://extensions.openoffice.org/testarea/desktop/license/update/lic3.update.xml"; />
  </update-information>
  
  <publisher>
    <name xlink:href="http://extensions.openoffice.org/testarea/desktop/publisher/publisher_de.html";
	  lang="de">My OpenOffice de</name>
    <name xlink:href="http://extensions.openoffice.org/testarea/desktop/publisher/publisher_en.html"; 
	  lang="en">My OpenOffice en</name>
  </publisher>
  
  <release-notes>
    <src xlink:href="http://extensions.openoffice.org/testarea/desktop/publisher/release-notes_de.txt"; lang="de" />
    <src xlink:href="http://extensions.openoffice.org/testarea/desktop/publisher/release-notes_en.txt"; lang="en" />
  </release-notes>
  
  <display-name>
    <name lang="de">CalcAddinCpp</name>
    <name lang="en">My simple extension</name>
  </display-name>
  
  <extension-description>
    <src xlink:href="description/desc_de.txt" lang="de" />
    <src xlink:href="description/desc_en.txt" lang="en" />
  </extension-description>

</description>

Attachment: CalcAddinCpp.oxt
Description: CalcAddinCpp.oxt

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE manifest:manifest PUBLIC "-//OpenOffice.org//DTD Manifest 1.0//EN" "Manifest.dtd">
<manifest:manifest xmlns:manifest="http://openoffice.org/2001/manifest";>
  <manifest:file-entry manifest:media-type="application/vnd.sun.star.uno-typelibrary;type=RDB"
                       manifest:full-path="CalcAddinCpp.rdb"/>
  <manifest:file-entry manifest:media-type="application/vnd.sun.star.uno-components"
                       manifest:full-path="description.xml"/>
  <manifest:file-entry manifest:media-type= "application/vnd.sun.star.uno-component"
                       manifest:full-path="libCalcAddinCpp.so"/>
</manifest:manifest>
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to