diff options
author | sb <sb@openoffice.org> | 2010-09-14 15:14:56 +0200 |
---|---|---|
committer | sb <sb@openoffice.org> | 2010-09-14 15:14:56 +0200 |
commit | 136983d14d61e104f9207b835a200de2a9c344e8 (patch) | |
tree | f617311d3f24542355874588f5feb5861becbd5a /stoc | |
parent | e21f2f0f0187ebaa4a5b7c64a6e5c08d5efc6116 (diff) |
sb129: #i113189# removed obviously unnecessary service registrations; allow empty <implementation/>
Diffstat (limited to 'stoc')
-rwxr-xr-x | stoc/source/simpleregistry/textualservices.cxx | 18 | ||||
-rw-r--r-- | stoc/util/bootstrap.component | 6 |
2 files changed, 10 insertions, 14 deletions
diff --git a/stoc/source/simpleregistry/textualservices.cxx b/stoc/source/simpleregistry/textualservices.cxx index a3e44d6437bf..44315b689dc7 100755 --- a/stoc/source/simpleregistry/textualservices.cxx +++ b/stoc/source/simpleregistry/textualservices.cxx @@ -194,21 +194,13 @@ Parser::Parser(rtl::OUString const & uri, rtl::Reference< Data > const & data): RTL_CONSTASCII_USTRINGPARAM( ": unexpected item in <component>"))), css::uno::Reference< css::uno::XInterface >()); + case STATE_IMPLEMENTATION_INITIAL: case STATE_IMPLEMENTATION_SERVICE: case STATE_IMPLEMENTATION_SINGLETON: if (res == xmlreader::XmlReader::RESULT_END) { state = STATE_COMPONENT; break; } - if (res == xmlreader::XmlReader::RESULT_BEGIN && nsId == ucNsId && - name.equals(RTL_CONSTASCII_STRINGPARAM("singleton"))) - { - handleSingleton(); - state = STATE_SINGLETON; - break; - } - // fall through - case STATE_IMPLEMENTATION_INITIAL: if (state != STATE_IMPLEMENTATION_SINGLETON && res == xmlreader::XmlReader::RESULT_BEGIN && nsId == ucNsId && name.equals(RTL_CONSTASCII_STRINGPARAM("service"))) @@ -217,6 +209,14 @@ Parser::Parser(rtl::OUString const & uri, rtl::Reference< Data > const & data): state = STATE_SERVICE; break; } + if (state != STATE_IMPLEMENTATION_INITIAL && + res == xmlreader::XmlReader::RESULT_BEGIN && nsId == ucNsId && + name.equals(RTL_CONSTASCII_STRINGPARAM("singleton"))) + { + handleSingleton(); + state = STATE_SINGLETON; + break; + } throw css::registry::InvalidRegistryException( (reader_.getUrl() + rtl::OUString( diff --git a/stoc/util/bootstrap.component b/stoc/util/bootstrap.component index a77b21ede361..ccc131b4a6db 100644 --- a/stoc/util/bootstrap.component +++ b/stoc/util/bootstrap.component @@ -38,16 +38,12 @@ <service name="com.sun.star.registry.NestedRegistry"/> </implementation> <implementation name="com.sun.star.comp.stoc.ORegistryServiceManager"> - <service name="com.sun.star.lang.MultiServiceFactory"/> <service name="com.sun.star.lang.RegistryServiceManager"/> </implementation> <implementation name="com.sun.star.comp.stoc.OServiceManager"> - <service name="com.sun.star.lang.MultiServiceFactory"/> <service name="com.sun.star.lang.ServiceManager"/> </implementation> - <implementation name="com.sun.star.comp.stoc.OServiceManagerWrapper"> - <service name="com.sun.star.lang.MultiServiceFactory"/> - </implementation> + <implementation name="com.sun.star.comp.stoc.OServiceManagerWrapper"/> <implementation name="com.sun.star.comp.stoc.RegistryTypeDescriptionProvider"> <service name="com.sun.star.reflection.TypeDescriptionProvider"/> </implementation> |