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


On 06/06/12 16:54, Michael Stahl wrote:
On 06/06/12 15:31, Stephan Bergmann wrote:
On 06/06/2012 03:11 PM, Tor Lillqvist wrote:
I would go the UNO approach nevertheless.

It's a hard decision to make...

With the current state of touch/idl, what you would want to do in C++ is 
an implementation of the Document service, plus potentially an 
implementation of an XDocumentRenderCallback object (if you want to call 
the service's XDocument.render from C++ code).

The boilerplate for the former boils down to a derivation of 
cppu::WeakImplHelper1<XDocument>, plus a component_getFactory function 
(just calling cppu::component_getFactoryHelper) if this is the first 
service implementation in a given library.  The boilerplate for the 
latter boils down to a derivation of 
cppu::WeakImplHelper1<XDocumentRenderCallback>.  Let me know if you need 
skeleton code (or any other form of help) for that.

by the way, there is a "skeletonmaker" tool that can write a lot of the
boilerplate for you, something like this:

uno-skeletonmaker
-env:UNO_TYPES="file:///so/ws/DEV300/unxsoli4.pro/bin.4/types.rdb"
component --cpp --all -n "CBlankNode" -t com.sun.star.rdf.BlankNode -lh

so the following actually works for me now on master and produces a
sensible result, after 2 bug fixes to get the tool to work again:

LD_LIBRARY_PATH=/work/lo/master/solver/unxlngx6/lib solver/unxlngx6/bin/uno-skeletonmaker 
-env:UNO_TYPES="file:///work/lo/master/solver/unxlngx6/bin/types.rdb" 
-env:UNO_SERVICES="file:///work/lo/master/solver/unxlngx6/xml/ure/services.rdb" component --cpp 
--all -n "CBlankNode" -t com.sun.star.rdf.BlankNode -lh




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.