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

2013-01-04 Thread Rai, Neeraj
Hi,

I found an example of add-in and was able to build, deploy and run it.
http://wiki.openoffice.org/wiki/SimpleCalcAddIn  (myRNG.tar deploys RNG service)

However, the 2nd and more complete example 
http://wiki.openoffice.org/wiki/CompleteAddIn
fails at registry time with error 
(CannotRegisterImplementationException): loading component library failed: 
libsrvcCalc.so
regcomp -register -r *.rdb -c *.so
 libsrvcCalc.so
 register component 'libsrvcCalc.so' in registry 'srvcCalc.rdb' failed!
 error (CannotRegisterImplementationException): loading component library 
failed: libsrvcCalc.so

I found some discussion online where someone had same problem with RNG (the 
simple Addin) and fixed it.
http://www.oooforum.org/forum/viewtopic.phtml?t=79491#312692

Q1. Would someone happen to know if the example is supposed to work ?
How do I debug the error CannotRegisterImplementationException ? My 
LD_LIBRARY_PATH seems correct because I can build RNG from the same shell.

It seems when Eric found the problem with RNG, he moved a lot of things from 
wiki to code/makefile/setupenv files.
Q2. Is it possible to make the RNG example as part of the package? I can 
contribute the code for complete-Add-in if I can get it working.
The advantage of having it as part of build is that it doesn't break 
and requires little maintenance, while wiki can silently become outdated.
it would benefit newbies like me to get working code as part of 
distribution.
Is that the preferred way to go ? I would like to hear other opinions 
on this.

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

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


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

2013-01-03 Thread Michael Stahl
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 :)

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


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

2013-01-03 Thread Rai, Neeraj
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: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 :)

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice