Hi, all
I'm currently working on a new configmgr backend, dbbe. The goal of
this work is to make oo.o start much faster by eliminating disk seeks
for config data. There is a more thorough description of this on the
wiki at: http://wiki.services.openoffice.org/wiki/DbConfig)
I'm having a bit a trouble with UNO in configmgr. The way that
configmgr registers its services in configunoreg.cxx is a little
confusing to me.
In configmgr/source/localbe/localmultistratum.cxx (transposed with some
values to make it easier to read), we define a
struct ServiceImplementationInfo
{
/// The implementation name of this service implementation
"com.sun.star.comp.configuration.backend.LocalMultiStratum"
/// The services for which this service implementation is registered
"com.sun.star.configuration.backend.LocalMultiStratum"
/// Additional services implemented by this service implementation, for
which it is not registered
"com.sun.star.configuration.backend.MultiStratum"
};
This goes to configunoreg.cxx:
aReq.CreateServiceFactory(
configmgr::localbe::getLocalMultiStratumServiceInfo(),
configmgr::localbe::instantiateLocalMultiStratum)
How these names map to API is not clear to me. There is an idl file
MultiLayerStratum.idl, which defines the service MultiLayerStratum. I
can't seem to find anywhere that has idl for LocalMultiStratum or
MultiStratum. Am I missing something? How can this work? Of course, I
need to use a similar structure to define the same service for my
backend, dbbe. It's unclear to me what magic strings I should supply
for the ServiceImplementationInfo struct. Any clues are appreciated.
--
Michael Leibowitz
Software Engineer, Channel Software Operation
Intel Corporation
michael.leibowitz at intel.com
+1 503 264 7621
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]