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 _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice