Hi Matthias,
Matthias Benkmann wrote:
On 9/22/05, Stephan Bergmann <[EMAIL PROTECTED]> wrote:
Unfortunately, services.rdb and service descriptions in UNOIDL have
little in common:
Interesting. Could you give me a little background information on how
services.rdb is generated during the build of OOo? I was under the
(apparently mistaken) impression that it's compiled from the *.idl
files. If that's not the case, how does e.g.
com.sun.star.script.BasicIDE get into services.rdb? Which
commands/source files put it there?
Every UNO component has an entry point to register itself into a
registry. For C++ components, this is the component_writeInfo() function
that each UNO component must export. There is a similar mechanism (iirc
a registration class identified in the manifest) for Java JAR components.
The services.rdb is populated by having every UNO component in OOo
register itself into it. This doesn't happen as part of the build (in
the strict sense).
In OOo 1.x the services.rdb is built during installation by the setup
program. There is a setup_services.rdb that is generated during the
build (using regcomp) that provides the UNO services that the setup
itself uses (e.g. the service that allows registering implementations
into an rdb ..).
In OOo 2.0 the creation of services.rdb is part of the packaging process
(or rather the 'install' process that prepares the files for being
packaged). All UNO componenents listed in the setup script are
registered into services.rdb by invoking 'regcomp' for them.
So the code that registers the BasicIDE service is part of the
implementing component itself (i.e. the basctl library). The
registration is done by regcomp in module instsetoo_native [*] (2.0) or
in module setup2 (1.1).
[*] The (perl) code for this is in module solenv.
HTH
Joerg
--
Joerg Barfurth Sun Microsystems - Desktop - Hamburg
>>>>>>>>>>>>>>>>>> using std::disclaimer <<<<<<<<<<<<<<<<<<<<<<<
Software Engineer [EMAIL PROTECTED]
OpenOffice.org Configuration http://util.openoffice.org
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]