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]

Reply via email to