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