Instructions to compile LO on Solaris with gcc Disclaimer ---------- This is still work in progress Compiling LO on Solaris with gcc is a work done by Lanedo ( www.lanedo.com ) Any inquiry could be sent to office-solaris@lanedo.com Prerequisites ------------- A working Oracle Solaris 11 installation Installing Dependancies ----------------------- sudo -s pkg install git make gcc-45 autoconf autogen automake-110 gnu-m4 perl -MCPAN -e 'install Archive::Zip::Archive' pkg install pkg:/system/header@0.5.11-0.175.0.0.0.2.1 pkg install pkg:/developer/gperf@3.0.3-0.175.0.0.0.2.537 pkg install pkg:/developer/parser/bison@2.3-0.175.0.0.0.2.537 pkg install pkg:/developer/lexer/flex@2.5.35-0.175.0.0.0.2.537 pkg install pkg:/developer/documentation-tool/doxygen@1.5.7.1-0.175.0.0.0.2.537 Compiling --------- CC="gcc" CXX="g++" ./autogen.sh --with-num-cpus=2 --with-max-jobs=4 --without-junit --disable-mozilla --with-system-curl --without-help --disable-cups --without-java --with-system-cairo --with-lang= --disable-gconf --enable-gio --disable-gnome-vfs --disable-gstreamer --without-fonts --with-system-dicts --disable-mozilla --without-system-mozilla --disable-xmlsec --with-system-openssl gmake office-5-0 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/stoc
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@suse.cz>2011-03-18 15:58:02 +0100
committerJan Holesovsky <kendy@suse.cz>2011-03-18 15:58:02 +0100
commita3a19632f413a6fe8dee97f02d637e7197869b50 (patch)
treeb8a01b5b560e18bdb007ec5ff2fafd50a3c508a9 /stoc
parent999dce7d69e20561c3f39476e074043838eb7514 (diff)
parent793a9a799346aebbf0a50d8d4f15081d9032d57c (diff)
Merge remote-tracking branch 'origin/integration/dev300_m101'
Conflicts: bridges/source/remote/urp/urp_environment.cxx bridges/source/remote/urp/urp_propertyobject.cxx bridges/source/remote/urp/urp_reader.cxx remotebridges/source/factory/bridgefactory.cxx stoc/source/corereflection/crefl.cxx stoc/source/javavm/javavm.cxx stoc/source/simpleregistry/simpleregistry.cxx
Diffstat (limited to 'stoc')
-rw-r--r--stoc/prj/build.lst2
-rw-r--r--stoc/prj/d.lst10
-rw-r--r--stoc/source/bootstrap/services.cxx6
-rw-r--r--stoc/source/corereflection/base.hxx3
-rw-r--r--stoc/source/corereflection/crefl.cxx32
-rw-r--r--stoc/source/corereflection/lrucache.hxx3
-rw-r--r--stoc/source/corereflection/makefile.mk7
-rw-r--r--stoc/source/corereflection/reflection.component35
-rw-r--r--stoc/source/implementationregistration/implreg.cxx109
-rw-r--r--stoc/source/inspect/introspection.component34
-rw-r--r--stoc/source/inspect/introspection.cxx27
-rw-r--r--stoc/source/inspect/makefile.mk7
-rw-r--r--stoc/source/invocation/invocation.component34
-rw-r--r--stoc/source/invocation/invocation.cxx6
-rw-r--r--stoc/source/invocation/makefile.mk6
-rw-r--r--stoc/source/invocation_adapterfactory/iafactory.cxx8
-rw-r--r--stoc/source/invocation_adapterfactory/invocadapt.component34
-rw-r--r--stoc/source/invocation_adapterfactory/makefile.mk8
-rw-r--r--stoc/source/javaloader/javaloader.component35
-rw-r--r--stoc/source/javaloader/javaloader.cxx6
-rw-r--r--stoc/source/javaloader/makefile.mk7
-rw-r--r--stoc/source/javavm/javavm.component35
-rw-r--r--stoc/source/javavm/javavm.cxx37
-rw-r--r--stoc/source/javavm/makefile.mk7
-rw-r--r--stoc/source/namingservice/makefile.mk7
-rw-r--r--stoc/source/namingservice/namingservice.component34
-rw-r--r--stoc/source/namingservice/namingservice.cxx6
-rw-r--r--stoc/source/proxy_factory/makefile.mk8
-rw-r--r--stoc/source/proxy_factory/proxyfac.component34
-rw-r--r--stoc/source/proxy_factory/proxyfac.cxx7
-rw-r--r--stoc/source/registry_tdprovider/tdprovider.cxx33
-rw-r--r--stoc/source/simpleregistry/makefile.mk3
-rwxr-xr-x[-rw-r--r--]stoc/source/simpleregistry/simpleregistry.cxx2296
-rw-r--r--stoc/source/simpleregistry/textualservices.cxx1228
-rw-r--r--stoc/source/simpleregistry/textualservices.hxx67
-rw-r--r--stoc/source/stocservices/stocservices.cxx6
-rw-r--r--stoc/test/uriproc/makefile.mk20
-rw-r--r--stoc/util/bootstrap.component62
-rw-r--r--stoc/util/makefile.mk16
-rw-r--r--stoc/util/stocservices.component51
40 files changed, 3002 insertions, 1374 deletions
diff --git a/stoc/prj/build.lst b/stoc/prj/build.lst
index 1fb7d34eeb32..256f094742f5 100644
--- a/stoc/prj/build.lst
+++ b/stoc/prj/build.lst
@@ -1,4 +1,4 @@
-tc stoc : rdbmaker cppuhelper cppu jvmaccess sal salhelper jvmfwk NULL
+tc stoc : rdbmaker cppuhelper cppu jvmaccess sal salhelper jvmfwk xmlreader LIBXSTL:libxslt NULL
tc stoc usr1 - all tc_mkout NULL
tc stoc\inc nmake - all tc_inc NULL
tc stoc\source\defaultregistry nmake - all tc_defr tc_boot tc_inc NULL
diff --git a/stoc/prj/d.lst b/stoc/prj/d.lst
index 1f01434bf58a..79b2d77348b4 100644
--- a/stoc/prj/d.lst
+++ b/stoc/prj/d.lst
@@ -4,6 +4,16 @@ mkdir: %_DEST%\inc%_EXT%\stoc
..\%__SRC%\lib\*.so %_DEST%\lib%_EXT%\*
..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib
..\%__SRC%\bin\*.rdb %_DEST%\rdb%_EXT%\*
+..\%__SRC%\misc\bootstrap.component %_DEST%\xml%_EXT%\bootstrap.component
+..\%__SRC%\misc\introspection.component %_DEST%\xml%_EXT%\introspection.component
+..\%__SRC%\misc\invocadapt.component %_DEST%\xml%_EXT%\invocadapt.component
+..\%__SRC%\misc\invocation.component %_DEST%\xml%_EXT%\invocation.component
+..\%__SRC%\misc\javaloader.component %_DEST%\xml%_EXT%\javaloader.component
+..\%__SRC%\misc\javavm.component %_DEST%\xml%_EXT%\javavm.component
+..\%__SRC%\misc\namingservice.component %_DEST%\xml%_EXT%\namingservice.component
+..\%__SRC%\misc\proxyfac.component %_DEST%\xml%_EXT%\proxyfac.component
+..\%__SRC%\misc\reflection.component %_DEST%\xml%_EXT%\reflection.component
+..\%__SRC%\misc\stocservices.component %_DEST%\xml%_EXT%\stocservices.component
..\source\module-description.dtd %_DEST%\xml%_EXT%\module-description.dtd
..\source\corereflection\corefl.xml %_DEST%\xml%_EXT%\reflection.uno.xml
diff --git a/stoc/source/bootstrap/services.cxx b/stoc/source/bootstrap/services.cxx
index 53e9bdcce3aa..5e97e5802c0b 100644
--- a/stoc/source/bootstrap/services.cxx
+++ b/stoc/source/bootstrap/services.cxx
@@ -132,12 +132,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
//==================================================================================================
-sal_Bool SAL_CALL component_writeInfo(
- void * pServiceManager, void * pRegistryKey )
-{
- return component_writeInfoHelper( pServiceManager, pRegistryKey, g_entries );
-}
-//==================================================================================================
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
{
diff --git a/stoc/source/corereflection/base.hxx b/stoc/source/corereflection/base.hxx
index 76ebee6d42ac..580b5b40c703 100644
--- a/stoc/source/corereflection/base.hxx
+++ b/stoc/source/corereflection/base.hxx
@@ -54,9 +54,6 @@
#include <com/sun/star/reflection/XIdlField2.hpp>
#include <com/sun/star/reflection/XIdlMethod.hpp>
-#define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) )
-
-
using namespace std;
using namespace osl;
using namespace cppu;
diff --git a/stoc/source/corereflection/crefl.cxx b/stoc/source/corereflection/crefl.cxx
index 81a76d70b76f..8767998dd704 100644
--- a/stoc/source/corereflection/crefl.cxx
+++ b/stoc/source/corereflection/crefl.cxx
@@ -31,7 +31,6 @@
#include <cppuhelper/queryinterface.hxx>
#include <cppuhelper/implementationentry.hxx>
-#include <com/sun/star/registry/XRegistryKey.hpp>
#include <com/sun/star/lang/XComponent.hpp>
#include <com/sun/star/reflection/XTypeDescription.hpp>
#include "com/sun/star/uno/RuntimeException.hpp"
@@ -180,8 +179,6 @@ void IdlReflectionServiceImpl::dispose()
MutexGuard aGuard( _aComponentMutex );
_aElements.clear();
- _xTDMgr.clear();
- _xMgr.clear();
#ifdef TEST_LIST_CLASSES
OSL_ENSURE( g_aClassNames.size() == 0, "### idl classes still alive!" );
ClassNameList::const_iterator iPos( g_aClassNames.begin() );
@@ -509,35 +506,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
//==================================================================================================
-sal_Bool SAL_CALL component_writeInfo(
- void * pServiceManager, void * pRegistryKey )
-{
- if (component_writeInfoHelper( pServiceManager, pRegistryKey, g_entries ))
- {
- try
- {
- // register singleton
- registry::XRegistryKey * pKey =
- reinterpret_cast< registry::XRegistryKey * >( pRegistryKey );
- Reference< registry::XRegistryKey > xKey(
- pKey->createKey(
- OUSTR(IMPLNAME "/UNO/SINGLETONS/com.sun.star.reflection.theCoreReflection") ) );
- xKey->setStringValue( OUSTR("com.sun.star.reflection.CoreReflection") );
- return sal_True;
- }
- catch (Exception & exc)
- {
-#if OSL_DEBUG_LEVEL > 0
- OString cstr( OUStringToOString( exc.Message, RTL_TEXTENCODING_ASCII_US ) );
- OSL_FAIL( cstr.getStr() );
-#else
- (void) exc; // unused
-#endif
- }
- }
- return sal_False;
-}
-//==================================================================================================
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
{
diff --git a/stoc/source/corereflection/lrucache.hxx b/stoc/source/corereflection/lrucache.hxx
index 9a4b08746967..b6e397b56306 100644
--- a/stoc/source/corereflection/lrucache.hxx
+++ b/stoc/source/corereflection/lrucache.hxx
@@ -178,9 +178,9 @@ template< class t_Key, class t_Val, class t_KeyHash, class t_KeyEqual >
inline void LRU_Cache< t_Key, t_Val, t_KeyHash, t_KeyEqual >::setValue(
const t_Key & rKey, const t_Val & rValue )
{
+ ::osl::MutexGuard aGuard( _aCacheMutex );
if (_nCachedElements > 0)
{
- ::osl::MutexGuard aGuard( _aCacheMutex );
const typename t_Key2Element::const_iterator iFind( _aKey2Element.find( rKey ) );
CacheEntry * pEntry;
@@ -222,6 +222,7 @@ inline void LRU_Cache< t_Key, t_Val, t_KeyHash, t_KeyEqual >::clear()
_pBlock[nPos].aKey = t_Key();
_pBlock[nPos].aVal = t_Val();
}
+ _nCachedElements = 0;
#ifdef __CACHE_DIAGNOSE
OSL_TRACE( "> cleared cache <\n" );
#endif
diff --git a/stoc/source/corereflection/makefile.mk b/stoc/source/corereflection/makefile.mk
index b61eb13aa9ee..7156f6d63cc4 100644
--- a/stoc/source/corereflection/makefile.mk
+++ b/stoc/source/corereflection/makefile.mk
@@ -73,3 +73,10 @@ DEF1NAME= $(SHL1TARGET)
.INCLUDE : target.mk
+ALLTAR : $(MISC)/reflection.component
+
+$(MISC)/reflection.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ reflection.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_URE_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt reflection.component
diff --git a/stoc/source/corereflection/reflection.component b/stoc/source/corereflection/reflection.component
new file mode 100644
index 000000000000..00772a448367
--- /dev/null
+++ b/stoc/source/corereflection/reflection.component
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.stoc.CoreReflection">
+ <service name="com.sun.star.reflection.CoreReflection"/>
+ <singleton name="com.sun.star.reflection.theCoreReflection"/>
+ </implementation>
+</component>
diff --git a/stoc/source/implementationregistration/implreg.cxx b/stoc/source/implementationregistration/implreg.cxx
index 94be3f1670e7..7ae7b28918cb 100644
--- a/stoc/source/implementationregistration/implreg.cxx
+++ b/stoc/source/implementationregistration/implreg.cxx
@@ -606,9 +606,9 @@ static void deleteUserLink(const Reference < XRegistryKey >& xRootKey,
} else
{
oldImpl = implEntries.getConstArray()[0];
-
+ rtl::OUString path(xOldKey->getKeyName());
xOldKey->closeKey();
- xRootKey->deleteKey(xOldKey->getKeyName());
+ xRootKey->deleteKey(path);
}
OUString oldTarget = searchLinkTargetForImpl(xRootKey, linkName, oldImpl);
@@ -622,8 +622,9 @@ static void deleteUserLink(const Reference < XRegistryKey >& xRootKey,
{
bClean = sal_True;
hasNoImplementations = sal_False;
+ rtl::OUString path(xOldKey->getKeyName());
xOldKey->closeKey();
- xRootKey->deleteKey(xOldKey->getKeyName());
+ xRootKey->deleteKey(path);
}
}
} else
@@ -784,21 +785,24 @@ static void deleteAllImplementations( const Reference < XSimpleRegistry >& xRe
if (hasLocationUrl)
{
hasLocationUrl = sal_False;
+ rtl::OUString path(xImplKey->getKeyName());
xImplKey->closeKey();
- xReg->getRootKey()->deleteKey(xImplKey->getKeyName());
+ xReg->getRootKey()->deleteKey(path);
}
}
subKeys = xSource->openKeys();
if (subKeys.getLength() == 0)
{
+ rtl::OUString path(xSource->getKeyName());
xSource->closeKey();
- xReg->getRootKey()->deleteKey(xSource->getKeyName());
+ xReg->getRootKey()->deleteKey(path);
}
} else
{
+ rtl::OUString path(xSource->getKeyName());
xSource->closeKey();
- xReg->getRootKey()->deleteKey(xSource->getKeyName());
+ xReg->getRootKey()->deleteKey(path);
}
}
@@ -923,21 +927,24 @@ static void deleteAllServiceEntries( const Reference < XSimpleRegistry >& xRe
if (hasNoImplementations)
{
hasNoImplementations = sal_False;
+ rtl::OUString path(xServiceKey->getKeyName());
xServiceKey->closeKey();
- xReg->getRootKey()->deleteKey(xServiceKey->getKeyName());
+ xReg->getRootKey()->deleteKey(path);
}
}
subKeys = xSource->openKeys();
if (subKeys.getLength() == 0)
{
+ rtl::OUString path(xSource->getKeyName());
xSource->closeKey();
- xReg->getRootKey()->deleteKey(xSource->getKeyName());
+ xReg->getRootKey()->deleteKey(path);
}
} else
{
+ rtl::OUString path(xSource->getKeyName());
xSource->closeKey();
- xReg->getRootKey()->deleteKey(xSource->getKeyName());
+ xReg->getRootKey()->deleteKey(path);
}
}
@@ -1122,36 +1129,24 @@ static void prepareRegistry(
{
// update entries in SERVICES section
Sequence< Reference < XRegistryKey > > serviceKeys = xKey->openKeys();
- OUString implName;
-
- if (serviceKeys.getLength())
- {
- const Reference < XRegistryKey > * pServiceKeys = serviceKeys.getConstArray();
-
- implName = OUString(xImplKey->getKeyName().getStr() + 1);
- sal_Int32 firstDot = implName.indexOf('/');
+ const Reference < XRegistryKey > * pServiceKeys = serviceKeys.getConstArray();
- if (firstDot >= 0)
- implName = implName.copy(firstDot + 1);
+ OUString implName = OUString(xImplKey->getKeyName().getStr() + 1);
+ sal_Int32 firstDot = implName.indexOf('/');
- sal_Int32 offset = xKey->getKeyName().getLength() + 1;
-
- for (sal_Int32 j = 0; j < serviceKeys.getLength(); j++)
- {
- OUString serviceName = pServiceKeys[j]->getKeyName().copy(offset);
+ if (firstDot >= 0)
+ implName = implName.copy(firstDot + 1);
- createUniqueSubEntry(
- xDest->getRootKey()->createKey(
- pool.slash_SERVICES + serviceName ),
- implName);
- }
+ sal_Int32 offset = xKey->getKeyName().getLength() + 1;
- }
- else
+ for (sal_Int32 j = 0; j < serviceKeys.getLength(); j++)
{
- throw InvalidRegistryException(
- OUString( RTL_CONSTASCII_USTRINGPARAM( "prepareRegistry(): no service names given by component" ) ),
- Reference< XInterface > () );
+ OUString serviceName = pServiceKeys[j]->getKeyName().copy(offset);
+
+ createUniqueSubEntry(
+ xDest->getRootKey()->createKey(
+ pool.slash_SERVICES + serviceName ),
+ implName);
}
xKey = xImplKey->openKey( pool.slash_UNO );
@@ -1174,38 +1169,38 @@ static void prepareRegistry(
}
}
}
+ }
- // update LOCATION entry
- xKey = xImplKey->createKey( pool.slash_UNO_slash_LOCATION );
+ // update LOCATION entry
+ xKey = xImplKey->createKey( pool.slash_UNO_slash_LOCATION );
- if (xKey.is())
- {
- xKey->setAsciiValue(locationUrl);
- }
+ if (xKey.is())
+ {
+ xKey->setAsciiValue(locationUrl);
+ }
- // update ACTIVATOR entry
- xKey = xImplKey->createKey( pool.slash_UNO_slash_ACTIVATOR );
+ // update ACTIVATOR entry
+ xKey = xImplKey->createKey( pool.slash_UNO_slash_ACTIVATOR );
- if (xKey.is())
- {
- xKey->setAsciiValue(implementationLoaderUrl);
- }
+ if (xKey.is())
+ {
+ xKey->setAsciiValue(implementationLoaderUrl);
+ }
- xKey = xImplKey->openKey( pool.slash_UNO_slash_SERVICES );
+ xKey = xImplKey->openKey( pool.slash_UNO_slash_SERVICES );
+
+ if (xKey.is() && (xKey->getValueType() == RegistryValueType_ASCIILIST))
+ {
+ // update link entries in REGISTRY_LINKS section
+ Sequence<OUString> linkNames = xKey->getAsciiListValue();
- if (xKey.is() && (xKey->getValueType() == RegistryValueType_ASCIILIST))
+ if (linkNames.getLength())
{
- // update link entries in REGISTRY_LINKS section
- Sequence<OUString> linkNames = xKey->getAsciiListValue();
+ const OUString* pLinkNames = linkNames.getConstArray();
- if (linkNames.getLength())
+ for (sal_Int32 j = 0; j < linkNames.getLength(); j++)
{
- const OUString* pLinkNames = linkNames.getConstArray();
-
- for (sal_Int32 j = 0; j < linkNames.getLength(); j++)
- {
- prepareLink(xDest, xImplKey, pLinkNames[j]);
- }
+ prepareLink(xDest, xImplKey, pLinkNames[j]);
}
}
}
diff --git a/stoc/source/inspect/introspection.component b/stoc/source/inspect/introspection.component
new file mode 100644
index 000000000000..349fb0c9dfbe
--- /dev/null
+++ b/stoc/source/inspect/introspection.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.stoc.Introspection">
+ <service name="com.sun.star.beans.Introspection"/>
+ </implementation>
+</component>
diff --git a/stoc/source/inspect/introspection.cxx b/stoc/source/inspect/introspection.cxx
index b700dab53c35..98d9a4c55d0a 100644
--- a/stoc/source/inspect/introspection.cxx
+++ b/stoc/source/inspect/introspection.cxx
@@ -72,7 +72,6 @@
#include <com/sun/star/container/XNameContainer.hpp>
#include <com/sun/star/container/XIndexContainer.hpp>
#include <com/sun/star/container/XEnumerationAccess.hpp>
-#include <com/sun/star/registry/XRegistryKey.hpp>
#include <rtl/ustrbuf.hxx>
#include <rtl/strbuf.hxx>
@@ -3055,32 +3054,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
//==================================================================================================
-sal_Bool SAL_CALL component_writeInfo( void *, void * pRegistryKey )
-{
- if (pRegistryKey)
- {
- try
- {
- Reference< XRegistryKey > xNewKey(
- reinterpret_cast< XRegistryKey * >( pRegistryKey )->createKey(
- OUString(RTL_CONSTASCII_USTRINGPARAM("/" IMPLEMENTATION_NAME "/UNO/SERVICES" )) ) );
-
- const Sequence< OUString > & rSNL =
- stoc_inspect::ImplIntrospection::getSupportedServiceNames_Static();
- const OUString * pArray = rSNL.getConstArray();
- for ( sal_Int32 nPos = rSNL.getLength(); nPos--; )
- xNewKey->createKey( pArray[nPos] );
-
- return sal_True;
- }
- catch (InvalidRegistryException &)
- {
- OSL_ENSURE( sal_False, "### InvalidRegistryException!" );
- }
- }
- return sal_False;
-}
-//==================================================================================================
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * )
{
diff --git a/stoc/source/inspect/makefile.mk b/stoc/source/inspect/makefile.mk
index 80e87dbf7cab..60864eea2496 100644
--- a/stoc/source/inspect/makefile.mk
+++ b/stoc/source/inspect/makefile.mk
@@ -64,3 +64,10 @@ DEF1NAME= $(SHL1TARGET)
.INCLUDE : target.mk
+ALLTAR : $(MISC)/introspection.component
+
+$(MISC)/introspection.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt introspection.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_URE_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt introspection.component
diff --git a/stoc/source/invocation/invocation.component b/stoc/source/invocation/invocation.component
new file mode 100644
index 000000000000..67178ef2e88d
--- /dev/null
+++ b/stoc/source/invocation/invocation.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.stoc.Invocation">
+ <service name="com.sun.star.script.Invocation"/>
+ </implementation>
+</component>
diff --git a/stoc/source/invocation/invocation.cxx b/stoc/source/invocation/invocation.cxx
index 41c516a741cf..fbd71123c54b 100644
--- a/stoc/source/invocation/invocation.cxx
+++ b/stoc/source/invocation/invocation.cxx
@@ -1247,12 +1247,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
//==================================================================================================
-sal_Bool SAL_CALL component_writeInfo(
- void * pServiceManager, void * pRegistryKey )
-{
- return component_writeInfoHelper( pServiceManager, pRegistryKey, g_entries );
-}
-//==================================================================================================
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
{
diff --git a/stoc/source/invocation/makefile.mk b/stoc/source/invocation/makefile.mk
index c170bf6b614e..72eeea37c659 100644
--- a/stoc/source/invocation/makefile.mk
+++ b/stoc/source/invocation/makefile.mk
@@ -62,4 +62,10 @@ DEF1NAME= $(SHL1TARGET)
.INCLUDE : target.mk
+ALLTAR : $(MISC)/invocation.component
+$(MISC)/invocation.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ invocation.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_URE_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt invocation.component
diff --git a/stoc/source/invocation_adapterfactory/iafactory.cxx b/stoc/source/invocation_adapterfactory/iafactory.cxx
index c1e6a55cb44a..f4b3d2d076a4 100644
--- a/stoc/source/invocation_adapterfactory/iafactory.cxx
+++ b/stoc/source/invocation_adapterfactory/iafactory.cxx
@@ -1017,14 +1017,6 @@ void SAL_CALL component_getImplementationEnvironment(
}
//==============================================================================
-sal_Bool SAL_CALL component_writeInfo(
- void * pServiceManager, void * pRegistryKey )
-{
- return ::cppu::component_writeInfoHelper(
- pServiceManager, pRegistryKey, g_entries );
-}
-
-//==============================================================================
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
{
diff --git a/stoc/source/invocation_adapterfactory/invocadapt.component b/stoc/source/invocation_adapterfactory/invocadapt.component
new file mode 100644
index 000000000000..64f7b2b3691a
--- /dev/null
+++ b/stoc/source/invocation_adapterfactory/invocadapt.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.stoc.InvocationAdapterFactory">
+ <service name="com.sun.star.script.InvocationAdapterFactory"/>
+ </implementation>
+</component>
diff --git a/stoc/source/invocation_adapterfactory/makefile.mk b/stoc/source/invocation_adapterfactory/makefile.mk
index 66568af039e7..4c3450ac8c8d 100644
--- a/stoc/source/invocation_adapterfactory/makefile.mk
+++ b/stoc/source/invocation_adapterfactory/makefile.mk
@@ -63,3 +63,11 @@ DEF1NAME= $(SHL1TARGET)
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/invocadapt.component
+
+$(MISC)/invocadapt.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ invocadapt.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_URE_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt invocadapt.component
diff --git a/stoc/source/javaloader/javaloader.component b/stoc/source/javaloader/javaloader.component
new file mode 100644
index 000000000000..bdd3b82d5125
--- /dev/null
+++ b/stoc/source/javaloader/javaloader.component
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.stoc.JavaComponentLoader">
+ <service name="com.sun.star.loader.Java"/>
+ <service name="com.sun.star.loader.Java2"/>
+ </implementation>
+</component>
diff --git a/stoc/source/javaloader/javaloader.cxx b/stoc/source/javaloader/javaloader.cxx
index a68538fa63d3..c8e3b0f612e6 100644
--- a/stoc/source/javaloader/javaloader.cxx
+++ b/stoc/source/javaloader/javaloader.cxx
@@ -473,12 +473,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
//==================================================================================================
-sal_Bool SAL_CALL component_writeInfo(
- void * pServiceManager, void * pRegistryKey )
-{
- return component_writeInfoHelper( pServiceManager, pRegistryKey, g_entries );
-}
-//==================================================================================================
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
{
diff --git a/stoc/source/javaloader/makefile.mk b/stoc/source/javaloader/makefile.mk
index 60eea6a23457..e53b90d5e6e7 100644
--- a/stoc/source/javaloader/makefile.mk
+++ b/stoc/source/javaloader/makefile.mk
@@ -70,3 +70,10 @@ all:
.INCLUDE : target.mk
+ALLTAR : $(MISC)/javaloader.component
+
+$(MISC)/javaloader.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ javaloader.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_URE_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt javaloader.component
diff --git a/stoc/source/javavm/javavm.component b/stoc/source/javavm/javavm.component
new file mode 100644
index 000000000000..f78d8af3ac29
--- /dev/null
+++ b/stoc/source/javavm/javavm.component
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.stoc.JavaVirtualMachine">
+ <service name="com.sun.star.java.JavaVirtualMachine"/>
+ <singleton name="com.sun.star.java.theJavaVirtualMachine"/>
+ </implementation>
+</component>
diff --git a/stoc/source/javavm/javavm.cxx b/stoc/source/javavm/javavm.cxx
index 0b9ad60dd358..caa0fe910c79 100644
--- a/stoc/source/javavm/javavm.cxx
+++ b/stoc/source/javavm/javavm.cxx
@@ -227,15 +227,10 @@ rtl::OUString serviceGetImplementationName()
"com.sun.star.comp.stoc.JavaVirtualMachine"));
}
-rtl::OUString serviceGetServiceName()
-{
- return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.java.JavaVirtualMachine"));
-}
-
css::uno::Sequence< rtl::OUString > serviceGetSupportedServiceNames()
{
- rtl::OUString aServiceName = serviceGetServiceName();
+ rtl::OUString aServiceName(
+ RTL_CONSTASCII_USTRINGPARAM("com.sun.star.java.JavaVirtualMachine"));
return css::uno::Sequence< rtl::OUString >(&aServiceName, 1);
}
@@ -621,34 +616,6 @@ component_getImplementationEnvironment(sal_Char const ** pEnvTypeName,
*pEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-extern "C" sal_Bool SAL_CALL component_writeInfo(void * pServiceManager,
- void * pRegistryKey)
-{
- if (cppu::component_writeInfoHelper(pServiceManager, pRegistryKey,
- aServiceImplementation))
- {
- try
- {
- css::uno::Reference< css::registry::XRegistryKey >(
- reinterpret_cast< css::registry::XRegistryKey * >(
- pRegistryKey)->
- createKey(
- rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.comp.stoc.JavaVirtualMachine"
- "/UNO/SINGLETONS/"
- "com.sun.star.java.theJavaVirtualMachine"))))->
- setStringValue(serviceGetServiceName());
- return true;
- }
- catch (css::uno::Exception &)
- {
- OSL_FAIL("com.sun.star.uno.Exception caught");
- }
- }
- return false;
-}
-
extern "C" void * SAL_CALL component_getFactory(sal_Char const * pImplName,
void * pServiceManager,
void * pRegistryKey)
diff --git a/stoc/source/javavm/makefile.mk b/stoc/source/javavm/makefile.mk
index 96908d10d1a1..bcd36e69681e 100644
--- a/stoc/source/javavm/makefile.mk
+++ b/stoc/source/javavm/makefile.mk
@@ -85,3 +85,10 @@ all:
.INCLUDE : target.mk
+ALLTAR : $(MISC)/javavm.component
+
+$(MISC)/javavm.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ javavm.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_URE_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt javavm.component
diff --git a/stoc/source/namingservice/makefile.mk b/stoc/source/namingservice/makefile.mk
index 424180e114a1..cc98cdfc3571 100644
--- a/stoc/source/namingservice/makefile.mk
+++ b/stoc/source/namingservice/makefile.mk
@@ -64,3 +64,10 @@ DEF1NAME= $(SHL1TARGET)
.INCLUDE : target.mk
+ALLTAR : $(MISC)/namingservice.component
+
+$(MISC)/namingservice.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt namingservice.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_URE_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt namingservice.component
diff --git a/stoc/source/namingservice/namingservice.component b/stoc/source/namingservice/namingservice.component
new file mode 100644
index 000000000000..8450cdee6d7e
--- /dev/null
+++ b/stoc/source/namingservice/namingservice.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.stoc.NamingService">
+ <service name="com.sun.star.uno.NamingService"/>
+ </implementation>
+</component>
diff --git a/stoc/source/namingservice/namingservice.cxx b/stoc/source/namingservice/namingservice.cxx
index 73f036bf7b6e..3fe9a0c8389e 100644
--- a/stoc/source/namingservice/namingservice.cxx
+++ b/stoc/source/namingservice/namingservice.cxx
@@ -238,12 +238,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
//==================================================================================================
-sal_Bool SAL_CALL component_writeInfo(
- void * pServiceManager, void * pRegistryKey )
-{
- return component_writeInfoHelper( pServiceManager, pRegistryKey, g_entries );
-}
-//==================================================================================================
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
{
diff --git a/stoc/source/proxy_factory/makefile.mk b/stoc/source/proxy_factory/makefile.mk
index b38dac146ae1..23146e678f5a 100644
--- a/stoc/source/proxy_factory/makefile.mk
+++ b/stoc/source/proxy_factory/makefile.mk
@@ -63,3 +63,11 @@ DEF1NAME=$(SHL1TARGET)
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/proxyfac.component
+
+$(MISC)/proxyfac.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ proxyfac.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_URE_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt proxyfac.component
diff --git a/stoc/source/proxy_factory/proxyfac.component b/stoc/source/proxy_factory/proxyfac.component
new file mode 100644
index 000000000000..bfe2c9c4268a
--- /dev/null
+++ b/stoc/source/proxy_factory/proxyfac.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.reflection.ProxyFactory">
+ <service name="com.sun.star.reflection.ProxyFactory"/>
+ </implementation>
+</component>
diff --git a/stoc/source/proxy_factory/proxyfac.cxx b/stoc/source/proxy_factory/proxyfac.cxx
index 3dc80ff99f44..50612a0e231d 100644
--- a/stoc/source/proxy_factory/proxyfac.cxx
+++ b/stoc/source/proxy_factory/proxyfac.cxx
@@ -527,13 +527,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-sal_Bool SAL_CALL component_writeInfo(
- void * pServiceManager, void * pRegistryKey )
-{
- return ::cppu::component_writeInfoHelper(
- pServiceManager, pRegistryKey, g_entries );
-}
-
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
{
diff --git a/stoc/source/registry_tdprovider/tdprovider.cxx b/stoc/source/registry_tdprovider/tdprovider.cxx
index 43802388a910..eb2629558fcc 100644
--- a/stoc/source/registry_tdprovider/tdprovider.cxx
+++ b/stoc/source/registry_tdprovider/tdprovider.cxx
@@ -173,6 +173,8 @@ public:
virtual Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
// XHierarchicalNameAccess
+ Any getByHierarchicalNameImpl( const OUString & rName );
+
virtual Any SAL_CALL getByHierarchicalName( const OUString & rName ) throw(::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException);
virtual sal_Bool SAL_CALL hasByHierarchicalName( const OUString & rName ) throw(::com::sun::star::uno::RuntimeException);
@@ -224,14 +226,7 @@ Any ProviderImpl::TypeDescriptionManagerWrapper::getByHierarchicalName(
sal_Bool ProviderImpl::TypeDescriptionManagerWrapper::hasByHierarchicalName(
OUString const & name ) throw (RuntimeException)
{
- try
- {
- return getByHierarchicalName( name ).hasValue();
- }
- catch (container::NoSuchElementException &)
- {
- return false;
- }
+ return m_xTDMgr->hasByHierarchicalName( name ) || m_xThisProvider->hasByHierarchicalName( name );
}
//______________________________________________________________________________
@@ -345,8 +340,7 @@ Sequence< OUString > ProviderImpl::getSupportedServiceNames()
// XHierarchicalNameAccess
//__________________________________________________________________________________________________
-Any SAL_CALL ProviderImpl::getByHierarchicalName( const OUString & rName )
- throw(::com::sun::star::uno::RuntimeException, com::sun::star::container::NoSuchElementException)
+Any ProviderImpl::getByHierarchicalNameImpl( const OUString & rName )
{
Any aRet;
@@ -433,7 +427,17 @@ Any SAL_CALL ProviderImpl::getByHierarchicalName( const OUString & rName )
// Don't stop iteration in this case.
}
+ catch ( NoSuchElementException const & )
+ {
+ }
}
+ return aRet;
+}
+
+Any SAL_CALL ProviderImpl::getByHierarchicalName( const OUString & rName )
+ throw(::com::sun::star::uno::RuntimeException, com::sun::star::container::NoSuchElementException)
+{
+ Any aRet( getByHierarchicalNameImpl( rName ) );
if ( !aRet.hasValue() )
throw NoSuchElementException(
@@ -446,14 +450,7 @@ Any SAL_CALL ProviderImpl::getByHierarchicalName( const OUString & rName )
sal_Bool ProviderImpl::hasByHierarchicalName( const OUString & rName )
throw(::com::sun::star::uno::RuntimeException)
{
- try
- {
- return getByHierarchicalName( rName ).hasValue();
- }
- catch (NoSuchElementException &)
- {
- }
- return sal_False;
+ return getByHierarchicalNameImpl( rName ).hasValue();
}
// XTypeDescriptionEnumerationAccess
diff --git a/stoc/source/simpleregistry/makefile.mk b/stoc/source/simpleregistry/makefile.mk
index 510e7b466d83..bc0ddf7cc71a 100644
--- a/stoc/source/simpleregistry/makefile.mk
+++ b/stoc/source/simpleregistry/makefile.mk
@@ -39,7 +39,8 @@ UNOUCROUT=$(OUT)$/inc$/bootstrap
# ------------------------------------------------------------------
SLOFILES= \
- $(SLO)$/simpleregistry.obj
+ $(SLO)/simpleregistry.obj \
+ $(SLO)/textualservices.obj
# --- Targets ------------------------------------------------------
diff --git a/stoc/source/simpleregistry/simpleregistry.cxx b/stoc/source/simpleregistry/simpleregistry.cxx
index cb2de10fa327..4485f69e020c 100644..100755
--- a/stoc/source/simpleregistry/simpleregistry.cxx
+++ b/stoc/source/simpleregistry/simpleregistry.cxx
@@ -1,1320 +1,1322 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+************************************************************************/
+
#include "precompiled_stoc.hxx"
-#include <osl/diagnose.h>
-#include <osl/mutex.hxx>
-#include <rtl/alloc.h>
-#include <rtl/ustrbuf.hxx>
-#include <cppuhelper/queryinterface.hxx>
-#include <cppuhelper/weak.hxx>
-#include <cppuhelper/factory.hxx>
-#include <cppuhelper/implbase1.hxx>
-#include <cppuhelper/implbase2.hxx>
-#include <cppuhelper/implementationentry.hxx>
-#include <registry/registry.hxx>
-
-#include <com/sun/star/registry/XSimpleRegistry.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-
-using namespace com::sun::star::uno;
-using namespace com::sun::star::registry;
-using namespace com::sun::star::lang;
-using namespace cppu;
-using namespace osl;
-
-using ::rtl::OUString;
-using ::rtl::OUStringBuffer;
-using ::rtl::OString;
-using ::rtl::OStringToOUString;
-using ::rtl::OUStringToOString;
-
-#define SERVICENAME "com.sun.star.registry.SimpleRegistry"
-#define IMPLNAME "com.sun.star.comp.stoc.SimpleRegistry"
+#include "sal/config.h"
+
+#include <cstdlib>
+#include <memory>
+#include <vector>
+
+#include "com/sun/star/lang/XServiceInfo.hpp"
+#include "com/sun/star/registry/InvalidRegistryException.hpp"
+#include "com/sun/star/registry/InvalidValueException.hpp"
+#include "com/sun/star/registry/MergeConflictException.hpp"
+#include "com/sun/star/registry/RegistryKeyType.hpp"
+#include "com/sun/star/registry/XRegistryKey.hpp"
+#include "com/sun/star/registry/XSimpleRegistry.hpp"
+#include "com/sun/star/uno/Reference.hxx"
+#include "com/sun/star/uno/RuntimeException.hpp"
+#include "com/sun/star/uno/XComponentContext.hpp"
+#include "com/sun/star/uno/XInterface.hpp"
+#include "com/sun/star/uno/Sequence.hxx"
+#include "cppuhelper/implbase1.hxx"
+#include "cppuhelper/implbase2.hxx"
+#include "cppuhelper/weak.hxx"
+#include "osl/mutex.hxx"
+#include "registry/registry.hxx"
+#include "registry/regtype.h"
+#include "rtl/ref.hxx"
+#include "rtl/string.h"
+#include "rtl/string.hxx"
+#include "rtl/textcvt.h"
+#include "rtl/textenc.h"
+#include "rtl/unload.h"
+#include "rtl/ustring.h"
+#include "rtl/ustring.hxx"
+#include "sal/types.h"
+
+#include "bootstrapservices.hxx"
+
+#include "textualservices.hxx"
extern rtl_StandardModuleCount g_moduleCount;
-namespace stoc_bootstrap
-{
-Sequence< OUString > simreg_getSupportedServiceNames()
-{
- static Sequence < OUString > *pNames = 0;
- if( ! pNames )
- {
- MutexGuard guard( Mutex::getGlobalMutex() );
- if( !pNames )
- {
- static Sequence< OUString > seqNames(1);
- seqNames.getArray()[0] = OUString(RTL_CONSTASCII_USTRINGPARAM(SERVICENAME));
- pNames = &seqNames;
- }
- }
- return *pNames;
-}
+namespace {
-OUString simreg_getImplementationName()
-{
- static OUString *pImplName = 0;
- if( ! pImplName )
- {
- MutexGuard guard( Mutex::getGlobalMutex() );
- if( ! pImplName )
- {
- static OUString implName( RTL_CONSTASCII_USTRINGPARAM( IMPLNAME ) );
- pImplName = &implName;
- }
- }
- return *pImplName;
-}
-}
+namespace css = com::sun::star;
-namespace stoc_simreg {
-
-//*************************************************************************
-// class RegistryKeyImpl the implenetation of interface XRegistryKey
-//*************************************************************************
-class RegistryKeyImpl;
-
-//*************************************************************************
-// SimpleRegistryImpl
-//*************************************************************************