Draft document-rendering tiling API to be called from viewer apps

Michael Stahl mstahl at redhat.com
Thu Jun 7 06:31:19 PDT 2012


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





More information about the LibreOffice mailing list