component registration

Stephan Bergmann sbergman at redhat.com
Mon May 18 02:58:43 PDT 2015


On 05/14/2015 08:41 AM, sotlef wrote:
> I'm doing standalone minimal UNO distribution for my own projects without
> dependencies on LibreOffice or OpenOffice
> Now all uno libraries successfully build, idl files successfully compile and
> typedescription registered in .rdb.
> But I don't know how to register components - regcomp is depricated and
> requires component_writeInfo function in shared library.
> In source tree .component files exists and as I know its used for component
> registration but how? What is modern method of registration now? Is there
> any new documentation for it?

Originally, binary .rdb files were used both for UNOIDL type 
descriptions ("types.rdb") and for information about components' 
services/singletons ("services.rdb").  The latter have been replaced 
with XML files (typically retaining the ".rdb" prefix, though) when 
introducing passive component registration 
(<https://wiki.openoffice.org/wiki/Passive_Component_Registration>, 
probably slightly outdated by now).

Instead of actively registering a component via regcomp (which called a 
component's component_writeInfo function) into a binary .rdb file listed 
in UNO_SERVICES, you now include a component's XML <component> element 
in an XML .rdb file listed in UNO_SERVICES.  (The UNO_SERVICES bootstrap 
variable allows for items of the form

   <uri>*

where the angle brackets and asterisk are verbatim and uri is a file URL 
denoting a directory, resulting in each file in that directory being 
read as an .rdb file.  So the easiest approach is to drop a new XML .rdb 
file with a toplevel <components> element into such a directory. 
LibreOffice itself bundles many such small files into a few large ones 
for performance reasons.)



More information about the LibreOffice mailing list