summaryrefslogtreecommitdiff
path: root/extensions/source
diff options
context:
space:
mode:
authorMathias Bauer <mba@openoffice.org>2010-10-09 18:56:58 +0200
committerMathias Bauer <mba@openoffice.org>2010-10-09 18:56:58 +0200
commit9570f4dffff24b7312f116dd0ef4f7df7ce5bdcc (patch)
tree2bf91ee1cd1adf2c4087798da41696d024c68ac7 /extensions/source
parent392974f485bc3fcaac472fd9dbd40f9041952e71 (diff)
parent365999b26e80d5b1fb68eb5c075f044cbd8b4d01 (diff)
CWS changehid: resync to m89
Diffstat (limited to 'extensions/source')
-rw-r--r--extensions/source/abpilot/abp.component34
-rw-r--r--extensions/source/abpilot/abpservices.cxx21
-rw-r--r--extensions/source/abpilot/exports.dxp1
-rw-r--r--extensions/source/abpilot/makefile.mk8
-rw-r--r--extensions/source/bibliography/bib.component35
-rw-r--r--extensions/source/bibliography/bibload.cxx30
-rw-r--r--extensions/source/bibliography/makefile.mk8
-rw-r--r--extensions/source/config/ldap/componentdef.cxx7
-rw-r--r--extensions/source/config/ldap/exports.dxp1
-rw-r--r--extensions/source/config/ldap/ldapaccess.cxx2
-rw-r--r--extensions/source/config/ldap/ldapbe2.component34
-rw-r--r--extensions/source/config/ldap/makefile.mk8
-rw-r--r--extensions/source/dbpilots/dbp.component40
-rw-r--r--extensions/source/dbpilots/dbpservices.cxx21
-rw-r--r--extensions/source/dbpilots/makefile.mk8
-rw-r--r--extensions/source/inc/componentmodule.cxx48
-rw-r--r--extensions/source/inc/componentmodule.hxx15
-rw-r--r--extensions/source/logging/log.component47
-rw-r--r--extensions/source/logging/makefile.mk8
-rw-r--r--extensions/source/nsplugin/source/so_env.cxx4
-rw-r--r--extensions/source/ole/makefile.mk7
-rw-r--r--extensions/source/ole/oleautobridge.component46
-rw-r--r--extensions/source/ole/oleautobridge.uno.dxp1
-rwxr-xr-x[-rw-r--r--]extensions/source/ole/oleobjw.cxx88
-rw-r--r--extensions/source/ole/oleobjw.hxx11
-rw-r--r--extensions/source/ole/servreg.cxx41
-rw-r--r--extensions/source/ole/unoconversionutilities.hxx52
-rw-r--r--extensions/source/oooimprovecore/makefile.mk8
-rw-r--r--extensions/source/oooimprovecore/oooimprovecore.component34
-rw-r--r--extensions/source/oooimprovement/invite_job.cxx2
-rw-r--r--extensions/source/oooimprovement/makefile.mk8
-rw-r--r--extensions/source/oooimprovement/onlogrotate_job.cxx45
-rw-r--r--extensions/source/oooimprovement/oooimprovement.component38
-rw-r--r--extensions/source/oooimprovement/oooimprovement_exports.cxx22
-rw-r--r--extensions/source/plugin/base/service.cxx27
-rw-r--r--extensions/source/plugin/inc/plugin/unx/mediator.hxx8
-rw-r--r--extensions/source/plugin/inc/plugin/unx/plugcon.hxx2
-rw-r--r--extensions/source/plugin/unx/mediator.cxx8
-rw-r--r--extensions/source/plugin/unx/npnapi.cxx31
-rw-r--r--extensions/source/plugin/unx/nppapi.cxx37
-rw-r--r--extensions/source/plugin/unx/plugcon.cxx2
-rw-r--r--extensions/source/plugin/util/makefile.mk8
-rw-r--r--extensions/source/plugin/util/pl.component37
-rw-r--r--extensions/source/preload/makefile.mk8
-rw-r--r--extensions/source/preload/preload.component34
-rw-r--r--extensions/source/preload/services.cxx21
-rw-r--r--extensions/source/propctrlr/makefile.mk8
-rw-r--r--extensions/source/propctrlr/pcr.component91
-rw-r--r--extensions/source/propctrlr/pcrservices.cxx21
-rw-r--r--extensions/source/resource/exports.dxp1
-rw-r--r--extensions/source/resource/makefile.mk8
-rw-r--r--extensions/source/resource/res.component38
-rw-r--r--extensions/source/resource/res_services.cxx42
-rw-r--r--extensions/source/scanner/exports.dxp1
-rw-r--r--extensions/source/scanner/makefile.mk8
-rw-r--r--extensions/source/scanner/scanner.cxx3
-rw-r--r--extensions/source/scanner/scanner.hxx5
-rw-r--r--extensions/source/scanner/scanunx.cxx101
-rw-r--r--extensions/source/scanner/scanwin.cxx19
-rw-r--r--extensions/source/scanner/scn.component34
-rw-r--r--extensions/source/scanner/scnserv.cxx31
-rw-r--r--extensions/source/scanner/twain.cxx9
-rw-r--r--extensions/source/scanner/twain.hxx2
-rw-r--r--extensions/source/svg/svguno.cxx30
-rw-r--r--extensions/source/update/check/makefile.mk8
-rwxr-xr-x[-rw-r--r--]extensions/source/update/check/updatecheckjob.cxx19
-rw-r--r--extensions/source/update/check/updchk.uno.component37
-rw-r--r--extensions/source/update/feed/makefile.mk8
-rw-r--r--extensions/source/update/feed/updatefeed.component34
-rw-r--r--extensions/source/update/feed/updatefeed.cxx12
-rw-r--r--extensions/source/update/ui/makefile.mk8
-rw-r--r--extensions/source/update/ui/updatecheckui.cxx12
-rw-r--r--extensions/source/update/ui/updchk.component34
-rw-r--r--extensions/source/xmlextract/makefile.mk8
-rw-r--r--extensions/source/xmlextract/xmx.component34
-rw-r--r--extensions/source/xmlextract/xmxuno.cxx21
76 files changed, 1132 insertions, 561 deletions
diff --git a/extensions/source/abpilot/abp.component b/extensions/source/abpilot/abp.component
new file mode 100644
index 000000000000..a07cef986219
--- /dev/null
+++ b/extensions/source/abpilot/abp.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="org.openoffice.comp.abp.OAddressBookSourcePilot">
+ <service name="com.sun.star.ui.dialogs.AddressBookSourcePilot"/>
+ </implementation>
+</component>
diff --git a/extensions/source/abpilot/abpservices.cxx b/extensions/source/abpilot/abpservices.cxx
index 8997ce335676..1cb327f73c72 100644
--- a/extensions/source/abpilot/abpservices.cxx
+++ b/extensions/source/abpilot/abpservices.cxx
@@ -66,27 +66,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* pServiceManager,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- return ::abp::OModule::writeComponentInfos(
- static_cast<XMultiServiceFactory*>(pServiceManager),
- static_cast<XRegistryKey*>(pRegistryKey));
- }
- catch (InvalidRegistryException& )
- {
- OSL_ASSERT("abp::component_writeInfo: could not create a registry key (InvalidRegistryException) !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/extensions/source/abpilot/exports.dxp b/extensions/source/abpilot/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/extensions/source/abpilot/exports.dxp
+++ b/extensions/source/abpilot/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/extensions/source/abpilot/makefile.mk b/extensions/source/abpilot/makefile.mk
index 19477e1b6b2b..86bc5c68a7df 100644
--- a/extensions/source/abpilot/makefile.mk
+++ b/extensions/source/abpilot/makefile.mk
@@ -104,3 +104,11 @@ DEF1EXPORTFILE= exports.dxp
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/abp.component
+
+$(MISC)/abp.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ abp.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt abp.component
diff --git a/extensions/source/bibliography/bib.component b/extensions/source/bibliography/bib.component
new file mode 100644
index 000000000000..98627854dffa
--- /dev/null
+++ b/extensions/source/bibliography/bib.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.extensions.Bibliography">
+ <service name="com.sun.star.frame.Bibliography"/>
+ <service name="com.sun.star.frame.FrameLoader"/>
+ </implementation>
+</component>
diff --git a/extensions/source/bibliography/bibload.cxx b/extensions/source/bibliography/bibload.cxx
index 91356a0d1074..64262d2356a9 100644
--- a/extensions/source/bibliography/bibload.cxx
+++ b/extensions/source/bibliography/bibload.cxx
@@ -225,36 +225,6 @@ extern "C"
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
- sal_Bool SAL_CALL component_writeInfo( void * //pServiceManager
- , registry::XRegistryKey * pRegistryKey )
- {
- try
- {
- rtl::OUString sKey = rtl::OUString::createFromAscii("/");
- sKey += BibliographyLoader::getImplementationName_Static();
- //creates the impl key: /com.sun.star.extensions.Bibliography
- Reference< registry::XRegistryKey > xImplKey = pRegistryKey->createKey(sKey);
-
-
- //sKey += rtl::OUString::createFromAscii("/UNO/SERVICES");
- Reference< registry::XRegistryKey > xNewKey = xImplKey->createKey( C2U("/UNO/SERVICES") );
- Sequence< rtl::OUString > aServices = BibliographyLoader::getSupportedServiceNames_Static();
- for( INT32 i = 0; i < aServices.getLength(); i++ )
- xNewKey->createKey( aServices.getConstArray()[i]);
- xNewKey = xImplKey->createKey( C2U("/UNO/Loader"));
-
- Reference< registry::XRegistryKey > xPatternKey = xImplKey->createKey( C2U("/Loader/Pattern" ));
- xPatternKey->setAsciiValue( C2U( ".component:Bibliography/*" ) );
-
- return sal_True;
- }
- catch (Exception &)
- {
- return sal_False;
- }
- }
-
-
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, XMultiServiceFactory * pServiceManager, void * /*pRegistryKey*/ )
{
diff --git a/extensions/source/bibliography/makefile.mk b/extensions/source/bibliography/makefile.mk
index f25dce11045b..e24c32237533 100644
--- a/extensions/source/bibliography/makefile.mk
+++ b/extensions/source/bibliography/makefile.mk
@@ -89,3 +89,11 @@ DEF1NAME= $(SHL1TARGET)
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/bib.component
+
+$(MISC)/bib.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ bib.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt bib.component
diff --git a/extensions/source/config/ldap/componentdef.cxx b/extensions/source/config/ldap/componentdef.cxx
index 0fd917d2ff9e..e76314ba56f2 100644
--- a/extensions/source/config/ldap/componentdef.cxx
+++ b/extensions/source/config/ldap/componentdef.cxx
@@ -62,13 +62,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//------------------------------------------------------------------------------
-extern "C" sal_Bool SAL_CALL component_writeInfo(void *aServiceManager,
- void *aRegistryKey) {
- return cppu::component_writeInfoHelper(
- aServiceManager, aRegistryKey, kImplementations_entries);
-}
-//------------------------------------------------------------------------------
-
extern "C" void *component_getFactory(const sal_Char *aImplementationName,
void *aServiceManager,
void *aRegistryKey) {
diff --git a/extensions/source/config/ldap/exports.dxp b/extensions/source/config/ldap/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/extensions/source/config/ldap/exports.dxp
+++ b/extensions/source/config/ldap/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/extensions/source/config/ldap/ldapaccess.cxx b/extensions/source/config/ldap/ldapaccess.cxx
index c518dc37e94c..99312cdfde23 100644
--- a/extensions/source/config/ldap/ldapaccess.cxx
+++ b/extensions/source/config/ldap/ldapaccess.cxx
@@ -279,7 +279,7 @@ void LdapConnection::loadModule()
{
if ( !s_Ldap_Module )
{
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
# define LIBLDAP "nsldap32v50.dll"
#else
# ifdef WITH_OPENLDAP
diff --git a/extensions/source/config/ldap/ldapbe2.component b/extensions/source/config/ldap/ldapbe2.component
new file mode 100644
index 000000000000..071064d1c823
--- /dev/null
+++ b/extensions/source/config/ldap/ldapbe2.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.configuration.backend.LdapUserProfileBe">
+ <service name="com.sun.star.configuration.backend.LdapUserProfileBe"/>
+ </implementation>
+</component>
diff --git a/extensions/source/config/ldap/makefile.mk b/extensions/source/config/ldap/makefile.mk
index a27cb39b6225..d35e2428ca31 100644
--- a/extensions/source/config/ldap/makefile.mk
+++ b/extensions/source/config/ldap/makefile.mk
@@ -95,3 +95,11 @@ DEF1DES=Configuration: LDAP User Profile Backend
.INCLUDE : target.mk
.INCLUDE : $(PRJ)$/util$/target.pmk
+
+ALLTAR : $(MISC)/ldapbe2.component
+
+$(MISC)/ldapbe2.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ldapbe2.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ldapbe2.component
diff --git a/extensions/source/dbpilots/dbp.component b/extensions/source/dbpilots/dbp.component
new file mode 100644
index 000000000000..84ec98713b2a
--- /dev/null
+++ b/extensions/source/dbpilots/dbp.component
@@ -0,0 +1,40 @@
+<?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="org.openoffice.comp.dbp.OGridWizard">
+ <service name="com.sun.star.sdb.GridControlAutoPilot"/>
+ </implementation>
+ <implementation name="org.openoffice.comp.dbp.OGroupBoxWizard">
+ <service name="com.sun.star.sdb.GroupBoxAutoPilot"/>
+ </implementation>
+ <implementation name="org.openoffice.comp.dbp.OListComboWizard">
+ <service name="com.sun.star.sdb.ListComboBoxAutoPilot"/>
+ </implementation>
+</component>
diff --git a/extensions/source/dbpilots/dbpservices.cxx b/extensions/source/dbpilots/dbpservices.cxx
index 28e55e1e8900..6cb77dde19bb 100644
--- a/extensions/source/dbpilots/dbpservices.cxx
+++ b/extensions/source/dbpilots/dbpservices.cxx
@@ -70,27 +70,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* pServiceManager,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- return ::dbp::OModule::writeComponentInfos(
- static_cast<XMultiServiceFactory*>(pServiceManager),
- static_cast<XRegistryKey*>(pRegistryKey));
- }
- catch (InvalidRegistryException& )
- {
- OSL_ASSERT("dbp::component_writeInfo: could not create a registry key (InvalidRegistryException) !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/extensions/source/dbpilots/makefile.mk b/extensions/source/dbpilots/makefile.mk
index b5831e5fda0f..e37ab0a546ac 100644
--- a/extensions/source/dbpilots/makefile.mk
+++ b/extensions/source/dbpilots/makefile.mk
@@ -101,3 +101,11 @@ DEF1NAME= $(SHL1TARGET)
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/dbp.component
+
+$(MISC)/dbp.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ dbp.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt dbp.component
diff --git a/extensions/source/inc/componentmodule.cxx b/extensions/source/inc/componentmodule.cxx
index 6b08c46ff13b..f72458b01ec2 100644
--- a/extensions/source/inc/componentmodule.cxx
+++ b/extensions/source/inc/componentmodule.cxx
@@ -238,54 +238,6 @@ namespace COMPMOD_NAMESPACE
}
//--------------------------------------------------------------------------
- sal_Bool OModule::writeComponentInfos(
- const Reference< XMultiServiceFactory >& /*_rxServiceManager*/,
- const Reference< XRegistryKey >& _rxRootKey)
- {
- OSL_ENSURE(_rxRootKey.is(), "OModule::writeComponentInfos : invalid argument !");
-
- if (!s_pImplementationNames)
- {
- OSL_ASSERT("OModule::writeComponentInfos : have no class infos ! Are you sure called this method at the right time ?");
- return sal_True;
- }
- OSL_ENSURE(s_pImplementationNames && s_pSupportedServices && s_pCreationFunctionPointers && s_pFactoryFunctionPointers,
- "OModule::writeComponentInfos : inconsistent state (the pointers) !");
- OSL_ENSURE( (s_pImplementationNames->getLength() == s_pSupportedServices->getLength())
- && (s_pImplementationNames->getLength() == s_pCreationFunctionPointers->getLength())
- && (s_pImplementationNames->getLength() == s_pFactoryFunctionPointers->getLength()),
- "OModule::writeComponentInfos : inconsistent state !");
-
- sal_Int32 nLen = s_pImplementationNames->getLength();
- const ::rtl::OUString* pImplName = s_pImplementationNames->getConstArray();
- const Sequence< ::rtl::OUString >* pServices = s_pSupportedServices->getConstArray();
-
- ::rtl::OUString sRootKey("/", 1, RTL_TEXTENCODING_ASCII_US);
- for (sal_Int32 i=0; i<nLen; ++i, ++pImplName, ++pServices)
- {
- ::rtl::OUString aMainKeyName(sRootKey);
- aMainKeyName += *pImplName;
- aMainKeyName += ::rtl::OUString::createFromAscii("/UNO/SERVICES");
-
- try
- {
- Reference< XRegistryKey > xNewKey( _rxRootKey->createKey(aMainKeyName) );
-
- const ::rtl::OUString* pService = pServices->getConstArray();
- for (sal_Int32 j=0; j<pServices->getLength(); ++j, ++pService)
- xNewKey->createKey(*pService);
- }
- catch(Exception&)
- {
- OSL_ASSERT("OModule::writeComponentInfos : something went wrong while creating the keys !");
- return sal_False;
- }
- }
-
- return sal_True;
- }
-
- //--------------------------------------------------------------------------
Reference< XInterface > OModule::getComponentFactory(
const ::rtl::OUString& _rImplementationName,
const Reference< XMultiServiceFactory >& _rxServiceManager)
diff --git a/extensions/source/inc/componentmodule.hxx b/extensions/source/inc/componentmodule.hxx
index 09fd0807639f..88d6e5cf99c0 100644
--- a/extensions/source/inc/componentmodule.hxx
+++ b/extensions/source/inc/componentmodule.hxx
@@ -121,21 +121,6 @@ typedef ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleService
static void revokeComponent(
const ::rtl::OUString& _rImplementationName);
- /** write the registration information of all known components
- <p>writes the registration information of all components which are currently registered into the
- specified registry.<p/>
- <p>Usually used from within component_writeInfo.<p/>
- @param _rxServiceManager
- the service manager
- @param _rRootKey
- the registry key under which the information will be stored
- @return
- sal_True if the registration of all implementations was successfull, sal_False otherwise
- */
- static sal_Bool writeComponentInfos(
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxServiceManager,
- const ::com::sun::star::uno::Reference< ::com::sun::star::registry::XRegistryKey >& _rRootKey);
-
/** creates a Factory for the component with the given implementation name.
<p>Usually used from within component_getFactory.<p/>
@param _rxServiceManager
diff --git a/extensions/source/logging/log.component b/extensions/source/logging/log.component
new file mode 100644
index 000000000000..4dd2db56c3cc
--- /dev/null
+++ b/extensions/source/logging/log.component
@@ -0,0 +1,47 @@
+<?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.extensions.ConsoleHandler">
+ <service name="com.sun.star.logging.ConsoleHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.extensions.CsvFormatter">
+ <service name="com.sun.star.logging.CsvFormatter"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.extensions.FileHandler">
+ <service name="com.sun.star.logging.FileHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.extensions.LoggerPool">
+ <service name="com.sun.star.logging.LoggerPool"/>
+ <singleton name="com.sun.star.logging.LoggerPool"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.extensions.PlainTextFormatter">
+ <service name="com.sun.star.logging.PlainTextFormatter"/>
+ </implementation>
+</component>
diff --git a/extensions/source/logging/makefile.mk b/extensions/source/logging/makefile.mk
index 4a1fa9813cb0..1436576e89ba 100644
--- a/extensions/source/logging/makefile.mk
+++ b/extensions/source/logging/makefile.mk
@@ -74,3 +74,11 @@ SHL1VERSIONMAP=$(SOLARENV)/src/component.map
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/log.component
+
+$(MISC)/log.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ log.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt log.component
diff --git a/extensions/source/nsplugin/source/so_env.cxx b/extensions/source/nsplugin/source/so_env.cxx
index 5e86da9726b9..f4eb2ef42169 100644
--- a/extensions/source/nsplugin/source/so_env.cxx
+++ b/extensions/source/nsplugin/source/so_env.cxx
@@ -204,7 +204,9 @@ int nspluginOOoModuleHook (void** aResult)
strcpy (realFileName, libFileName);
}
+ #if OSL_DEBUG_LEVEL > 1
fprintf (stderr, "OpenOffice path before fixup is '%s'\n", realFileName);
+ #endif
if (realFileName[0] != '/') {
/* a relative sym-link and we need to get an absolute path */
@@ -223,7 +225,9 @@ int nspluginOOoModuleHook (void** aResult)
*aResult = realFileName;
+ #if OSL_DEBUG_LEVEL > 1
fprintf (stderr, "OpenOffice path is '%s'\n", realFileName);
+ #endif
return 0;
}
diff --git a/extensions/source/ole/makefile.mk b/extensions/source/ole/makefile.mk
index ad4ecee72c82..806cd027eaae 100644
--- a/extensions/source/ole/makefile.mk
+++ b/extensions/source/ole/makefile.mk
@@ -129,3 +129,10 @@ DEF2EXPORTFILE=$(TARGET).dxp
.INCLUDE : target.mk
+ALLTAR : $(MISC)/oleautobridge.component
+
+$(MISC)/oleautobridge.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt oleautobridge.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt oleautobridge.component
diff --git a/extensions/source/ole/oleautobridge.component b/extensions/source/ole/oleautobridge.component
new file mode 100644
index 000000000000..6f5309e42ad9
--- /dev/null
+++ b/extensions/source/ole/oleautobridge.component
@@ -0,0 +1,46 @@
+<?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.ole.OleClient">
+ <service name="com.sun.star.bridge.OleObjectFactory"/>
+ <service name="com.sun.star.bridge.oleautomation.Factory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ole.OleConverter2">
+ <service name="com.sun.star.bridge.OleBridgeSupplier2"/>
+ <service name="com.sun.star.bridge.oleautomation.BridgeSupplier"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ole.OleConverterVar1">
+ <service name="com.sun.star.bridge.OleBridgeSupplierVar1"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ole.OleServer">
+ <service name="com.sun.star.bridge.OleApplicationRegistration"/>
+ <service name="com.sun.star.bridge.oleautomation.ApplicationRegistration"/>
+ </implementation>
+</component>
diff --git a/extensions/source/ole/oleautobridge.uno.dxp b/extensions/source/ole/oleautobridge.uno.dxp
index e7947188aa92..1f26fd019c1c 100644
--- a/extensions/source/ole/oleautobridge.uno.dxp
+++ b/extensions/source/ole/oleautobridge.uno.dxp
@@ -1,4 +1,3 @@
-component_writeInfo @100
component_getFactory @101
component_getImplementationEnvironment @102
component_canUnload @103
diff --git a/extensions/source/ole/oleobjw.cxx b/extensions/source/ole/oleobjw.cxx
index ea9377ccf596..89cb5625bca3 100644..100755
--- a/extensions/source/ole/oleobjw.cxx
+++ b/extensions/source/ole/oleobjw.cxx
@@ -69,6 +69,7 @@ using namespace boost;
using namespace osl;
using namespace rtl;
using namespace cppu;
+using namespace com::sun::star::script;
using namespace com::sun::star::lang;
using namespace com::sun::star::bridge;
using namespace com::sun::star::bridge::oleautomation;
@@ -108,7 +109,7 @@ IUnknownWrapper_Impl::IUnknownWrapper_Impl( Reference<XMultiServiceFactory>& xFa
sal_uInt8 unoWrapperClass, sal_uInt8 comWrapperClass):
UnoConversionUtilities<IUnknownWrapper_Impl>( xFactory, unoWrapperClass, comWrapperClass),
m_pxIdlClass( NULL), m_eJScript( JScriptUndefined),
- m_bComTlbIndexInit(false)
+ m_bComTlbIndexInit(false), m_bHasDfltMethod(false), m_bHasDfltProperty(false)
{
}
@@ -147,17 +148,15 @@ IUnknownWrapper_Impl::~IUnknownWrapper_Impl()
Any IUnknownWrapper_Impl::queryInterface(const Type& t)
throw (RuntimeException)
{
- if (t == getCppuType(static_cast<Reference<XInvocation>*>( 0)))
- {
- if (m_spDispatch)
- return WeakImplHelper4<XInvocation, XBridgeSupplier2,
- XInitialization, XAutomationObject>::queryInterface(t);
- else
- return Any();
- }
-
- return WeakImplHelper4<XInvocation, XBridgeSupplier2,
- XInitialization, XAutomationObject>::queryInterface(t);
+ if (t == getCppuType(static_cast<Reference<XDefaultMethod>*>( 0)) && !m_bHasDfltMethod )
+ return Any();
+ if (t == getCppuType(static_cast<Reference<XDefaultProperty>*>( 0)) && !m_bHasDfltProperty )
+ return Any();
+ if (t == getCppuType(static_cast<Reference<XInvocation>*>( 0)) && !m_spDispatch)
+ return Any();
+
+ return WeakImplHelper6<XInvocation, XBridgeSupplier2,
+ XInitialization, XAutomationObject, XDefaultProperty, XDefaultMethod>::queryInterface(t);
}
Reference<XIntrospectionAccess> SAL_CALL IUnknownWrapper_Impl::getIntrospection(void)
@@ -1194,6 +1193,68 @@ void SAL_CALL IUnknownWrapper_Impl::initialize( const Sequence< Any >& aArgument
aArguments[1] >>= m_bOriginalDispatch;
aArguments[2] >>= m_seqTypes;
+
+ ITypeInfo* pType = NULL;
+ try
+ {
+ // a COM object implementation that has no TypeInfo is still a legal COM object;
+ // such objects can at least be transported through UNO using the bridge
+ // so we should allow to create wrappers for them as well
+ pType = getTypeInfo();
+ }
+ catch( BridgeRuntimeError& )
+ {}
+ catch( Exception& )
+ {}
+
+ if ( pType )
+ {
+ try
+ {
+ // Get Default member
+ CComBSTR defaultMemberName;
+ if ( SUCCEEDED( pType->GetDocumentation(0, &defaultMemberName, 0, 0, 0 ) ) )
+ {
+ OUString usName(reinterpret_cast<const sal_Unicode*>(LPCOLESTR(defaultMemberName)));
+ FuncDesc aDescGet(pType);
+ FuncDesc aDescPut(pType);
+ VarDesc aVarDesc(pType);
+ // see if this is a property first ( more likely to be a property then a method )
+ getPropDesc( usName, & aDescGet, & aDescPut, & aVarDesc);
+
+ if ( !aDescGet && !aDescPut )
+ {
+ getFuncDesc( usName, &aDescGet );
+ if ( !aDescGet )
+ throw BridgeRuntimeError( OUSTR("[automation bridge]IUnknownWrapper_Impl::initialize() Failed to get Function or Property desc. for " ) + usName );
+ }
+ // now for some funny heuristics to make basic understand what to do
+ // a single aDescGet ( that doesn't take any params ) would be
+ // a read only ( defaultmember ) property e.g. this object
+ // should implement XDefaultProperty
+ // a single aDescGet ( that *does* ) take params is basically a
+ // default method e.g. implement XDefaultMethod
+
+ // a DescPut ( I guess we only really support a default param with '1' param ) as a setValue ( but I guess we can leave it through, the object will fail if we don't get it right anyway )
+ if ( aDescPut || ( aDescGet && aDescGet->cParams == 0 ) )
+ m_bHasDfltProperty = true;
+ if ( aDescGet->cParams > 0 )
+ m_bHasDfltMethod = true;
+ if ( m_bHasDfltProperty || m_bHasDfltMethod )
+ m_sDefaultMember = usName;
+ }
+ }
+ catch ( BridgeRuntimeError & e )
+ {
+ throw RuntimeException( e.message, Reference<XInterface>() );
+ }
+ catch( Exception& e )
+ {
+ throw RuntimeException(
+ OUSTR("[automation bridge] unexpected exception in IUnknownWrapper_Impl::initialiase() error message: \n") + e.Message,
+ Reference<XInterface>() );
+ }
+ }
}
// UnoConversionUtilities --------------------------------------------------------------------------------
@@ -1445,6 +1506,9 @@ Any IUnknownWrapper_Impl::invokeWithDispIdComTlb(const OUString& sFuncName,
arDispidNamedArgs.reset(new DISPID[nSizeAr]);
HRESULT hr = getTypeInfo()->GetIDsOfNames(arNames, nSizeAr,
arDispidNamedArgs.get());
+ if ( hr == E_NOTIMPL )
+ hr = m_spDispatch->GetIDsOfNames(IID_NULL, arNames, nSizeAr, LOCALE_USER_DEFAULT, arDispidNamedArgs.get() );
+
if (hr == S_OK)
{
// In a "property put" operation, the property value is a named param with the
diff --git a/extensions/source/ole/oleobjw.hxx b/extensions/source/ole/oleobjw.hxx
index 230de2b7dcf8..b990ac3af17d 100644
--- a/extensions/source/ole/oleobjw.hxx
+++ b/extensions/source/ole/oleobjw.hxx
@@ -50,11 +50,14 @@
#endif
#include <cppuhelper/implbase3.hxx>
#include <cppuhelper/implbase4.hxx>
+#include <cppuhelper/implbase6.hxx>
#include <com/sun/star/lang/XInitialization.hpp>
#include <com/sun/star/bridge/oleautomation/XAutomationObject.hpp>
#include <rtl/ustring.hxx>
+#include <com/sun/star/script/XDefaultProperty.hpp>
+#include <com/sun/star/script/XDefaultMethod.hpp>
#include <typelib/typedescription.hxx>
#include "unoconversionutilities.hxx"
@@ -78,7 +81,8 @@ typedef hash_multimap<OUString, unsigned int, hashOUString_Impl, equalOUString_I
// This class wraps an IDispatch and maps XInvocation calls to IDispatch calls on the wrapped object.
// If m_TypeDescription is set then this class represents an UNO interface implemented in a COM component.
// The interface is not a real interface in terms of an abstract class but is realized through IDispatch.
-class IUnknownWrapper_Impl : public WeakImplHelper4<XInvocation, XBridgeSupplier2, XInitialization, XAutomationObject>,
+class IUnknownWrapper_Impl : public WeakImplHelper6<XInvocation, XBridgeSupplier2, XInitialization, XAutomationObject, XDefaultProperty, XDefaultMethod>,
+
public UnoConversionUtilities<IUnknownWrapper_Impl>
{
@@ -126,7 +130,9 @@ public:
// XInitialization
virtual void SAL_CALL initialize( const Sequence< Any >& aArguments )
throw(Exception, RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getDefaultPropertyName( ) throw (::com::sun::star::uno::RuntimeException) { return m_sDefaultMember; }
protected:
+ virtual ::rtl::OUString SAL_CALL getDefaultMethodName( ) throw (::com::sun::star::uno::RuntimeException) { return m_sDefaultMember; }
// ----------------------------------------------------------------------------
virtual Any invokeWithDispIdUnoTlb(const OUString& sFunctionName,
@@ -253,6 +259,9 @@ protected:
bool m_bComTlbIndexInit;
// Keeps the ITypeInfo obtained from IDispatch::GetTypeInfo
CComPtr< ITypeInfo > m_spTypeInfo;
+ rtl::OUString m_sDefaultMember;
+ bool m_bHasDfltMethod;
+ bool m_bHasDfltProperty;
};
} // end namespace
diff --git a/extensions/source/ole/servreg.cxx b/extensions/source/ole/servreg.cxx
index 17fc24e9a08c..f5d6c8080a15 100644
--- a/extensions/source/ole/servreg.cxx
+++ b/extensions/source/ole/servreg.cxx
@@ -119,47 +119,6 @@ extern "C" void * SAL_CALL component_getFactory(
}
-extern "C" sal_Bool SAL_CALL component_writeInfo( void * /*pServiceManager*/, void * pRegistryKey )
-{
- if (pRegistryKey)
- {
- try
- {
- //deprecated
- Reference<XRegistryKey> xNewKey =
- reinterpret_cast<XRegistryKey*>( pRegistryKey)->createKey(reinterpret_cast<const sal_Unicode*>(L"/com.sun.star.comp.ole.OleConverter2/UNO/SERVICES"));
- xNewKey->createKey(reinterpret_cast<const sal_Unicode*>(L"com.sun.star.bridge.OleBridgeSupplier2"));
-
- xNewKey->createKey(reinterpret_cast<const sal_Unicode*>(L"com.sun.star.bridge.oleautomation.BridgeSupplier"));
-
- //deprecated
- xNewKey =
- reinterpret_cast<XRegistryKey*>( pRegistryKey)->createKey(reinterpret_cast<const sal_Unicode*>(L"/com.sun.star.comp.ole.OleConverterVar1/UNO/SERVICES"));
- xNewKey->createKey(reinterpret_cast<const sal_Unicode*>(L"com.sun.star.bridge.OleBridgeSupplierVar1"));
-
- //deprecated
- xNewKey =
- reinterpret_cast<XRegistryKey*>( pRegistryKey)->createKey(reinterpret_cast<const sal_Unicode*>(L"/com.sun.star.comp.ole.OleClient/UNO/SERVICES"));
- xNewKey->createKey(reinterpret_cast<const sal_Unicode*>(L"com.sun.star.bridge.OleObjectFactory"));
-
- xNewKey->createKey(reinterpret_cast<const sal_Unicode*>(L"com.sun.star.bridge.oleautomation.Factory"));
- //deprecated
- xNewKey =
- reinterpret_cast<XRegistryKey*>( pRegistryKey)->createKey(reinterpret_cast<const sal_Unicode*>(L"/com.sun.star.comp.ole.OleServer/UNO/SERVICES"));
- xNewKey->createKey(reinterpret_cast<const sal_Unicode*>(L"com.sun.star.bridge.OleApplicationRegistration"));
-
- xNewKey->createKey(reinterpret_cast<const sal_Unicode*>(L"com.sun.star.bridge.oleautomation.ApplicationRegistration"));
-
- return sal_True;
- }
- catch (InvalidRegistryException &)
- {
- OSL_ENSURE( sal_False, "### InvalidRegistryException!" );
- }
- }
- return sal_False;
-}
-
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
{
diff --git a/extensions/source/ole/unoconversionutilities.hxx b/extensions/source/ole/unoconversionutilities.hxx
index 9eb47166ca82..da95b9950427 100644
--- a/extensions/source/ole/unoconversionutilities.hxx
+++ b/extensions/source/ole/unoconversionutilities.hxx
@@ -1324,33 +1324,47 @@ SAFEARRAY* UnoConversionUtilities<T>::createUnoSequenceWrapper(const Any& rSeq)
typelib_TypeDescription* pSeqElementDesc= NULL;
TYPELIB_DANGER_GET( &pSeqElementDesc, pSeqElementTypeRef);
- sal_Int32 nElementSize= pSeqElementDesc->nSize;
- n= punoSeq->nElements;
- SAFEARRAYBOUND rgsabound[1];
- rgsabound[0].lLbound = 0;
- rgsabound[0].cElements = n;
- VARIANT oleElement;
- long safeI[1];
+ // try to find VARIANT type that is related to the UNO type of the sequence elements
+ // the sequence as a sequence element should be handled in a special way
+ VARTYPE eTargetElementType = VT_EMPTY;
+ if ( pSeqElementDesc->eTypeClass != TypeClass_SEQUENCE )
+ eTargetElementType = mapTypeClassToVartype( static_cast< TypeClass >( pSeqElementDesc->eTypeClass ) );
- pArray = SafeArrayCreate(VT_VARIANT, 1, rgsabound);
+ if ( eTargetElementType != VT_EMPTY )
+ pArray = createUnoSequenceWrapper( rSeq, eTargetElementType );
- Any unoElement;
- // sal_uInt8 * pSeqData= (sal_uInt8*) punoSeq->pElements;
- sal_uInt8 * pSeqData= (sal_uInt8*) punoSeq->elements;
-
- for (sal_uInt32 i = 0; i < n; i++)
+ if ( !pArray )
{
- unoElement.setValue( pSeqData + i * nElementSize, pSeqElementDesc);
- VariantInit(&oleElement);
+ sal_Int32 nElementSize= pSeqElementDesc->nSize;
+ n= punoSeq->nElements;
+
+ SAFEARRAYBOUND rgsabound[1];
+ rgsabound[0].lLbound = 0;
+ rgsabound[0].cElements = n;
+ VARIANT oleElement;
+ long safeI[1];
+
+ pArray = SafeArrayCreate(VT_VARIANT, 1, rgsabound);
+
+ Any unoElement;
+ // sal_uInt8 * pSeqData= (sal_uInt8*) punoSeq->pElements;
+ sal_uInt8 * pSeqData= (sal_uInt8*) punoSeq->elements;
- anyToVariant(&oleElement, unoElement);
+ for (sal_uInt32 i = 0; i < n; i++)
+ {
+ unoElement.setValue( pSeqData + i * nElementSize, pSeqElementDesc);
+ VariantInit(&oleElement);
+
+ anyToVariant(&oleElement, unoElement);
- safeI[0] = i;
- SafeArrayPutElement(pArray, safeI, &oleElement);
+ safeI[0] = i;
+ SafeArrayPutElement(pArray, safeI, &oleElement);
- VariantClear(&oleElement);
+ VariantClear(&oleElement);
+ }
}
+
TYPELIB_DANGER_RELEASE( pSeqElementDesc);
return pArray;
diff --git a/extensions/source/oooimprovecore/makefile.mk b/extensions/source/oooimprovecore/makefile.mk
index 97e130c3a644..f92804dbf261 100644
--- a/extensions/source/oooimprovecore/makefile.mk
+++ b/extensions/source/oooimprovecore/makefile.mk
@@ -75,3 +75,11 @@ SHL1VERSIONMAP=$(SOLARENV)/src/component.map
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/oooimprovecore.component
+
+$(MISC)/oooimprovecore.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt oooimprovecore.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt oooimprovecore.component
diff --git a/extensions/source/oooimprovecore/oooimprovecore.component b/extensions/source/oooimprovecore/oooimprovecore.component
new file mode 100644
index 000000000000..58bdaf37c2c5
--- /dev/null
+++ b/extensions/source/oooimprovecore/oooimprovecore.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.extensions.oooimprovecore.Core">
+ <service name="com.sun.star.oooimprovement.Core"/>
+ </implementation>
+</component>
diff --git a/extensions/source/oooimprovement/invite_job.cxx b/extensions/source/oooimprovement/invite_job.cxx
index 8bf4a3c5d241..69036826432f 100644
--- a/extensions/source/oooimprovement/invite_job.cxx
+++ b/extensions/source/oooimprovement/invite_job.cxx
@@ -121,7 +121,7 @@ namespace oooimprovement
Sequence<OUString> SAL_CALL InviteJob::getSupportedServiceNames_static()
{
Sequence<OUString> aServiceNames(1);
- aServiceNames[0] = OUString::createFromAscii("com.sun.star.task.XAsyncJob");
+ aServiceNames[0] = OUString::createFromAscii("com.sun.star.task.AsyncJob");
return aServiceNames;
}
diff --git a/extensions/source/oooimprovement/makefile.mk b/extensions/source/oooimprovement/makefile.mk
index 6e5d7ab0d6a2..16e3f12f126c 100644
--- a/extensions/source/oooimprovement/makefile.mk
+++ b/extensions/source/oooimprovement/makefile.mk
@@ -102,3 +102,11 @@ $(SPOOLDIR)$/$(PACKAGEDIR)$/Jobs$/Jobs-oooimprovement.xcu : $(XCU_SOURCEDIR)$/Jo
$(SPOOLDIR)$/$(PACKAGEDIR)$/Logging$/Logging-oooimprovement.xcu : $(XCU_SOURCEDIR)$/Logging.xcu
@-$(MKDIRHIER) $(@:d)
@$(COPY) $< $@
+
+ALLTAR : $(MISC)/oooimprovement.component
+
+$(MISC)/oooimprovement.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt oooimprovement.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt oooimprovement.component
diff --git a/extensions/source/oooimprovement/onlogrotate_job.cxx b/extensions/source/oooimprovement/onlogrotate_job.cxx
index a92044b87d7e..c5f6b56be31a 100644
--- a/extensions/source/oooimprovement/onlogrotate_job.cxx
+++ b/extensions/source/oooimprovement/onlogrotate_job.cxx
@@ -35,15 +35,21 @@
#include "soapsender.hxx"
#include <com/sun/star/ucb/XSimpleFileAccess.hpp>
+#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/XTerminateListener.hpp>
#include <osl/mutex.hxx>
#include <osl/thread.hxx>
#include <osl/time.h>
+#include <cppuhelper/implbase1.hxx>
+#include <memory>
using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::task;
using namespace ::com::sun::star::uno;
+using ::com::sun::star::frame::XTerminateListener;
+using ::com::sun::star::frame::XDesktop;
using ::com::sun::star::ucb::XSimpleFileAccess;
using ::rtl::OUString;
using ::std::vector;
@@ -102,7 +108,8 @@ namespace
public:
OnLogRotateThread(Reference<XMultiServiceFactory> sf);
virtual void SAL_CALL run();
- void disposing();
+ OnLogRotateThread* disposing();
+
private:
Reference<XMultiServiceFactory> m_ServiceFactory;
::osl::Mutex m_ServiceFactoryMutex;
@@ -135,11 +142,35 @@ namespace
}
}
- void OnLogRotateThread::disposing()
+ OnLogRotateThread* OnLogRotateThread::disposing()
{
::osl::Guard< ::osl::Mutex> service_factory_guard(m_ServiceFactoryMutex);
m_ServiceFactory.clear();
+ return this;
}
+
+ class OnLogRotateThreadWatcher : public ::cppu::WeakImplHelper1<XTerminateListener>
+ {
+ public:
+ OnLogRotateThreadWatcher(Reference<XMultiServiceFactory> sf)
+ : m_Thread(new OnLogRotateThread(sf))
+ {
+ m_Thread->create();
+ }
+ virtual ~OnLogRotateThreadWatcher()
+ { m_Thread->disposing()->terminate(); };
+
+ // XTerminateListener
+ virtual void SAL_CALL queryTermination(const EventObject&) throw(RuntimeException)
+ { };
+ virtual void SAL_CALL notifyTermination(const EventObject&) throw(RuntimeException)
+ { m_Thread->disposing()->terminate(); };
+ // XEventListener
+ virtual void SAL_CALL disposing(const EventObject&) throw(RuntimeException)
+ { m_Thread->disposing()->terminate(); };
+ private:
+ ::std::auto_ptr<OnLogRotateThread> m_Thread;
+ };
}
namespace oooimprovement
@@ -163,9 +194,11 @@ namespace oooimprovement
const Reference<XJobListener>& listener)
throw(RuntimeException)
{
- OnLogRotateThread* thread = new OnLogRotateThread(m_ServiceFactory);
- thread->create();
-
+ Reference<XDesktop> xDesktop(
+ m_ServiceFactory->createInstance(OUString::createFromAscii("com.sun.star.frame.Desktop")),
+ UNO_QUERY);
+ if(xDesktop.is())
+ xDesktop->addTerminateListener(Reference<XTerminateListener>(new OnLogRotateThreadWatcher(m_ServiceFactory)));
Any result;
listener->jobFinished(Reference<XAsyncJob>(this), result);
}
@@ -190,7 +223,7 @@ namespace oooimprovement
Sequence<OUString> SAL_CALL OnLogRotateJob::getSupportedServiceNames_static()
{
Sequence<OUString> aServiceNames(1);
- aServiceNames[0] = OUString::createFromAscii("com.sun.star.task.XAsyncJob");
+ aServiceNames[0] = OUString::createFromAscii("com.sun.star.task.AsyncJob");
return aServiceNames;
}
diff --git a/extensions/source/oooimprovement/oooimprovement.component b/extensions/source/oooimprovement/oooimprovement.component
new file mode 100644
index 000000000000..e133f932c199
--- /dev/null
+++ b/extensions/source/oooimprovement/oooimprovement.component
@@ -0,0 +1,38 @@
+<?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.extensions.oooimprovement.CoreController">
+ <service name="com.sun.star.oooimprovement.CoreController"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.extensions.oooimprovement.InviteJob"/>
+ <implementation
+ name="com.sun.star.comp.extensions.oooimprovement.OnLogRotateJob"/>
+</component>
diff --git a/extensions/source/oooimprovement/oooimprovement_exports.cxx b/extensions/source/oooimprovement/oooimprovement_exports.cxx
index 147089dd203c..b351f84680d7 100644
--- a/extensions/source/oooimprovement/oooimprovement_exports.cxx
+++ b/extensions/source/oooimprovement/oooimprovement_exports.cxx
@@ -65,28 +65,6 @@ extern "C"
void SAL_CALL component_getImplementationEnvironment(const sal_Char** env_type_name, uno_Environment**)
{ *env_type_name = CPPU_CURRENT_LANGUAGE_BINDING_NAME; }
- sal_Bool SAL_CALL component_writeInfo(void*, void* p_reg_key)
- {
- if (!p_reg_key) return sal_False;
- try
- {
- Reference<XRegistryKey> reg_key(reinterpret_cast<XRegistryKey*>(p_reg_key), UNO_QUERY);
- writeInfo(reg_key,
- CoreController::getImplementationName_static(),
- CoreController::getSupportedServiceNames_static()[0]);
- writeInfo(reg_key,
- OnLogRotateJob::getImplementationName_static(),
- OnLogRotateJob::getSupportedServiceNames_static()[0]);
- writeInfo(reg_key,
- InviteJob::getImplementationName_static(),
- InviteJob::getSupportedServiceNames_static()[0]);
- return sal_True;
- }
- catch(const InvalidRegistryException&)
- { OSL_ENSURE( sal_False, "### InvalidRegistryException!" ); }
- return sal_False;
- }
-
void* SAL_CALL component_getFactory(const sal_Char* pImplName, void* pServiceManager, void*)
{
if ( !pServiceManager || !pImplName ) return 0;
diff --git a/extensions/source/plugin/base/service.cxx b/extensions/source/plugin/base/service.cxx
index de74d05060db..21389caa2bbd 100644
--- a/extensions/source/plugin/base/service.cxx
+++ b/extensions/source/plugin/base/service.cxx
@@ -54,33 +54,6 @@ extern "C" {
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
- sal_Bool SAL_CALL component_writeInfo( void* /*pServiceManager*/, void* pXUnoKey )
- {
- if( pXUnoKey )
- {
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey( reinterpret_cast< ::com::sun::star::registry::XRegistryKey* >( pXUnoKey ) );
-
- ::rtl::OUString aImplName = ::rtl::OUString::createFromAscii( "/" );
- aImplName += XPluginManager_Impl::getImplementationName_Static();
- aImplName += ::rtl::OUString::createFromAscii( "/UNO/SERVICES/com.sun.star.plugin.PluginManager" );
- xKey->createKey( aImplName );
-
- aImplName = ::rtl::OUString::createFromAscii( "/" );
- aImplName += PluginModel::getImplementationName_Static();
- aImplName += ::rtl::OUString::createFromAscii( "/UNO/SERVICES/com.sun.star.plugin.PluginModel" );
- xKey->createKey( aImplName );
-
- return sal_True;
- }
- catch( ::com::sun::star::registry::InvalidRegistryException& )
- {
- }
- }
- return sal_False;
- }
-
void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pXUnoSMgr,
diff --git a/extensions/source/plugin/inc/plugin/unx/mediator.hxx b/extensions/source/plugin/inc/plugin/unx/mediator.hxx
index 68619db54cad..e1a7f59b5dee 100644
--- a/extensions/source/plugin/inc/plugin/unx/mediator.hxx
+++ b/extensions/source/plugin/inc/plugin/unx/mediator.hxx
@@ -90,10 +90,10 @@ protected:
int m_nSocket;
std::vector<MediatorMessage*> m_aMessageQueue;
- NAMESPACE_VOS(OMutex) m_aQueueMutex;
- NAMESPACE_VOS(OMutex) m_aSendMutex;
+ vos::OMutex m_aQueueMutex;
+ vos::OMutex m_aSendMutex;
// only one thread can send a message at any given time
- NAMESPACE_VOS(OCondition) m_aNewMessageCdtn;
+ vos::OCondition m_aNewMessageCdtn;
MediatorListener* m_pListener;
// thread to fill the queue
@@ -150,7 +150,7 @@ public:
}
};
-class MediatorListener : public NAMESPACE_VOS( OThread )
+class MediatorListener : public vos:: OThread
{
friend class Mediator;
private:
diff --git a/extensions/source/plugin/inc/plugin/unx/plugcon.hxx b/extensions/source/plugin/inc/plugin/unx/plugcon.hxx
index 9044a14a9cbc..694fab30801a 100644
--- a/extensions/source/plugin/inc/plugin/unx/plugcon.hxx
+++ b/extensions/source/plugin/inc/plugin/unx/plugcon.hxx
@@ -166,7 +166,7 @@ public:
class PluginConnector : public Mediator
{
protected:
- NAMESPACE_VOS(OMutex) m_aUserEventMutex;
+ vos::OMutex m_aUserEventMutex;
static std::vector<PluginConnector*> allConnectors;
diff --git a/extensions/source/plugin/unx/mediator.cxx b/extensions/source/plugin/unx/mediator.cxx
index 6191fa5e897a..9ecf0f48d9f8 100644
--- a/extensions/source/plugin/unx/mediator.cxx
+++ b/extensions/source/plugin/unx/mediator.cxx
@@ -80,7 +80,7 @@ ULONG Mediator::SendMessage( ULONG nBytes, const char* pBytes, ULONG nMessageID
if( ! m_pListener )
return 0;
- NAMESPACE_VOS(OGuard) aGuard( m_aSendMutex );
+ vos::OGuard aGuard( m_aSendMutex );
if( ! nMessageID )
nMessageID = m_nCurrentID;
@@ -132,7 +132,7 @@ MediatorMessage* Mediator::WaitForAnswer( ULONG nMessageID )
while( m_pListener )
{
{
- NAMESPACE_VOS(OGuard) aGuard( m_aQueueMutex );
+ vos::OGuard aGuard( m_aQueueMutex );
for( size_t i = 0; i < m_aMessageQueue.size(); i++ )
{
MediatorMessage* pMessage = m_aMessageQueue[ i ];
@@ -157,7 +157,7 @@ MediatorMessage* Mediator::GetNextMessage( BOOL bWait )
{
// guard must be after WaitForMessage, else the listener
// cannot insert a new one -> deadlock
- NAMESPACE_VOS(OGuard) aGuard( m_aQueueMutex );
+ vos::OGuard aGuard( m_aQueueMutex );
for( size_t i = 0; i < m_aMessageQueue.size(); i++ )
{
MediatorMessage* pMessage = m_aMessageQueue[ i ];
@@ -207,7 +207,7 @@ void MediatorListener::run()
{
::vos::OGuard aMyGuard( m_aMutex );
{
- NAMESPACE_VOS(OGuard)
+ vos::OGuard
aGuard( m_pMediator->m_aQueueMutex );
MediatorMessage* pMessage =
new MediatorMessage( nHeader[ 0 ], nHeader[ 1 ], pBuffer );
diff --git a/extensions/source/plugin/unx/npnapi.cxx b/extensions/source/plugin/unx/npnapi.cxx
index 003b4d0943a5..4a88577c5b71 100644
--- a/extensions/source/plugin/unx/npnapi.cxx
+++ b/extensions/source/plugin/unx/npnapi.cxx
@@ -1,10 +1,29 @@
/*************************************************************************
-
- Source Code Control System - Header
-
- $Header: /zpool/svn/migration/cvs_rep_09_09_08/code/extensions/source/plugin/unx/npnapi.cxx,v 1.11 2008-01-14 14:53:25 ihi Exp $
-
-*************************************************************************/
+ *
+ * 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
#include "precompiled_extensions.hxx"
diff --git a/extensions/source/plugin/unx/nppapi.cxx b/extensions/source/plugin/unx/nppapi.cxx
index 6dc1b7a30407..82be7ae3c2df 100644
--- a/extensions/source/plugin/unx/nppapi.cxx
+++ b/extensions/source/plugin/unx/nppapi.cxx
@@ -1,10 +1,29 @@
/*************************************************************************
-
- Source Code Control System - Header
-
- $Header: /zpool/svn/migration/cvs_rep_09_09_08/code/extensions/source/plugin/unx/nppapi.cxx,v 1.7 2008-01-14 14:53:38 ihi Exp $
-
-*************************************************************************/
+ *
+ * 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
#include "precompiled_extensions.hxx"
@@ -27,7 +46,7 @@ PluginConnector::PluginConnector( int nSocket ) :
PluginConnector::~PluginConnector()
{
- NAMESPACE_VOS(OGuard) aGuard( m_aUserEventMutex );
+ vos::OGuard aGuard( m_aUserEventMutex );
for( std::vector< PluginConnector* >::iterator it = allConnectors.begin();
it != allConnectors.end(); ++it )
{
@@ -41,7 +60,7 @@ PluginConnector::~PluginConnector()
IMPL_LINK( PluginConnector, NewMessageHdl, Mediator*, /*pMediator*/ )
{
- NAMESPACE_VOS(OGuard) aGuard( m_aUserEventMutex );
+ vos::OGuard aGuard( m_aUserEventMutex );
bool bFound = false;
for( std::vector< PluginConnector* >::iterator it = allConnectors.begin();
it != allConnectors.end() && bFound == false; ++it )
@@ -68,7 +87,7 @@ IMPL_LINK( PluginConnector, WorkOnNewMessageHdl, Mediator*, /*pMediator*/ )
return 0;
/*
{
- NAMESPACE_VOS(OGuard) aGuard( m_aUserEventMutex );
+ vos::OGuard aGuard( m_aUserEventMutex );
m_aUserEventIDs.pop_front();
}
*/
diff --git a/extensions/source/plugin/unx/plugcon.cxx b/extensions/source/plugin/unx/plugcon.cxx
index 74d8fa8bd2da..8e0183ab8c81 100644
--- a/extensions/source/plugin/unx/plugcon.cxx
+++ b/extensions/source/plugin/unx/plugcon.cxx
@@ -172,7 +172,7 @@ MediatorMessage* PluginConnector::WaitForAnswer( ULONG nMessageID )
while( m_pListener )
{
{
- NAMESPACE_VOS(OGuard) aGuard( m_aQueueMutex );
+ vos::OGuard aGuard( m_aQueueMutex );
for( size_t i = 0; i < m_aMessageQueue.size(); i++ )
{
MediatorMessage* pMessage = m_aMessageQueue[ i ];
diff --git a/extensions/source/plugin/util/makefile.mk b/extensions/source/plugin/util/makefile.mk
index 7a8c46c01769..765941689658 100644
--- a/extensions/source/plugin/util/makefile.mk
+++ b/extensions/source/plugin/util/makefile.mk
@@ -107,3 +107,11 @@ SHL1STDLIBS+=$(SHL1OWNLIBS)
+
+ALLTAR : $(MISC)/pl.component
+
+$(MISC)/pl.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ pl.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt pl.component
diff --git a/extensions/source/plugin/util/pl.component b/extensions/source/plugin/util/pl.component
new file mode 100644
index 000000000000..4a9d98f7dc7b
--- /dev/null
+++ b/extensions/source/plugin/util/pl.component
@@ -0,0 +1,37 @@
+<?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.extensions.PluginManager">
+ <service name="com.sun.star.plugin.PluginManager"/>
+ </implementation>
+ <implementation name="com.sun.star.extensions.PluginModel">
+ <service name="com.sun.star.plugin.PluginModel"/>
+ </implementation>
+</component>
diff --git a/extensions/source/preload/makefile.mk b/extensions/source/preload/makefile.mk
index fb11a2bfd32c..8bd6226619bc 100644
--- a/extensions/source/preload/makefile.mk
+++ b/extensions/source/preload/makefile.mk
@@ -83,3 +83,11 @@ DEF1NAME= $(SHL1TARGET)
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/preload.component
+
+$(MISC)/preload.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ preload.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt preload.component
diff --git a/extensions/source/preload/preload.component b/extensions/source/preload/preload.component
new file mode 100644
index 000000000000..56a8a0d7a0cf
--- /dev/null
+++ b/extensions/source/preload/preload.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="org.openoffice.comp.preload.OEMPreloadWizard">
+ <service name="org.openoffice.comp.preload.OEMPreloadWizard"/>
+ </implementation>
+</component>
diff --git a/extensions/source/preload/services.cxx b/extensions/source/preload/services.cxx
index 39904ef7cc51..e063789e0f0c 100644
--- a/extensions/source/preload/services.cxx
+++ b/extensions/source/preload/services.cxx
@@ -66,27 +66,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* pServiceManager,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- return ::preload::OModule::writeComponentInfos(
- static_cast<XMultiServiceFactory*>(pServiceManager),
- static_cast<XRegistryKey*>(pRegistryKey));
- }
- catch (InvalidRegistryException& )
- {
- OSL_ASSERT("preload::component_writeInfo: could not create a registry key (InvalidRegistryException) !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/extensions/source/propctrlr/makefile.mk b/extensions/source/propctrlr/makefile.mk
index c69f47bcef1a..ebb629ae39c9 100644
--- a/extensions/source/propctrlr/makefile.mk
+++ b/extensions/source/propctrlr/makefile.mk
@@ -144,3 +144,11 @@ DEF1NAME= $(SHL1TARGET)
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/pcr.component
+
+$(MISC)/pcr.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ pcr.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt pcr.component
diff --git a/extensions/source/propctrlr/pcr.component b/extensions/source/propctrlr/pcr.component
new file mode 100644
index 000000000000..2b606cc01c11
--- /dev/null
+++ b/extensions/source/propctrlr/pcr.component
@@ -0,0 +1,91 @@
+<?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="StringRepresentation">
+ <service name="com.sun.star.inspection.StringRepresentation"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.extensions.ButtonNavigationHandler">
+ <service name="com.sun.star.form.inspection.ButtonNavigationHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.extensions.CellBindingPropertyHandler">
+ <service name="com.sun.star.form.inspection.CellBindingPropertyHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.extensions.EFormsPropertyHandler">
+ <service name="com.sun.star.form.inspection.XMLFormsPropertyHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.extensions.EditPropertyHandler">
+ <service name="com.sun.star.form.inspection.EditPropertyHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.extensions.EventHandler">
+ <service name="com.sun.star.form.inspection.EventHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.extensions.FormComponentPropertyHandler">
+ <service name="com.sun.star.form.inspection.FormComponentPropertyHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.extensions.FormGeometryHandler">
+ <service name="com.sun.star.form.inspection.FormGeometryHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.extensions.GenericPropertyHandler">
+ <service name="com.sun.star.inspection.GenericPropertyHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.extensions.SubmissionPropertyHandler">
+ <service name="com.sun.star.form.inspection.SubmissionPropertyHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.extensions.XSDValidationPropertyHandler">
+ <service name="com.sun.star.form.inspection.XSDValidationPropertyHandler"/>
+ </implementation>
+ <implementation name="org.openoffice.comp.extensions.DefaultFormComponentInspectorModel">
+ <service name="com.sun.star.form.inspection.DefaultFormComponentInspectorModel"/>
+ </implementation>
+ <implementation name="org.openoffice.comp.extensions.DefaultHelpProvider">
+ <service name="com.sun.star.inspection.DefaultHelpProvider"/>
+ </implementation>
+ <implementation name="org.openoffice.comp.extensions.DialogController">
+ <service name="com.sun.star.awt.PropertyBrowserController"/>
+ </implementation>
+ <implementation name="org.openoffice.comp.extensions.FormController">
+ <service name="com.sun.star.form.PropertyBrowserController"/>
+ </implementation>
+ <implementation name="org.openoffice.comp.extensions.ObjectInspector">
+ <service name="com.sun.star.inspection.ObjectInspector"/>
+ </implementation>
+ <implementation name="org.openoffice.comp.extensions.ObjectInspectorModel">
+ <service name="com.sun.star.inspection.ObjectInspectorModel"/>
+ </implementation>
+ <implementation name="org.openoffice.comp.form.ui.MasterDetailLinkDialog">
+ <service name="com.sun.star.form.MasterDetailLinkDialog"/>
+ </implementation>
+ <implementation name="org.openoffice.comp.form.ui.OControlFontDialog">
+ <service name="com.sun.star.form.ControlFontDialog"/>
+ </implementation>
+ <implementation name="org.openoffice.comp.form.ui.OTabOrderDialog">
+ <service name="com.sun.star.form.ui.TabOrderDialog"/>
+ </implementation>
+</component>
diff --git a/extensions/source/propctrlr/pcrservices.cxx b/extensions/source/propctrlr/pcrservices.cxx
index e04169e7d90e..e515a87c1b16 100644
--- a/extensions/source/propctrlr/pcrservices.cxx
+++ b/extensions/source/propctrlr/pcrservices.cxx
@@ -104,27 +104,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* pServiceManager,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- return ::pcr::PcrModule::getInstance().writeComponentInfos(
- static_cast<XMultiServiceFactory*>(pServiceManager),
- static_cast<XRegistryKey*>(pRegistryKey));
- }
- catch (InvalidRegistryException& )
- {
- OSL_ASSERT("pcr::component_writeInfo: could not create a registry key (InvalidRegistryException) !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/extensions/source/resource/exports.dxp b/extensions/source/resource/exports.dxp
index 9e59e94034a6..f0e1c69934bc 100644
--- a/extensions/source/resource/exports.dxp
+++ b/extensions/source/resource/exports.dxp
@@ -1,3 +1,2 @@
-component_writeInfo
component_getImplementationEnvironment
component_getFactory
diff --git a/extensions/source/resource/makefile.mk b/extensions/source/resource/makefile.mk
index a89d690b7393..adeec5fd09dc 100644
--- a/extensions/source/resource/makefile.mk
+++ b/extensions/source/resource/makefile.mk
@@ -74,3 +74,11 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : target.mk
.INCLUDE : $(PRJ)$/util$/target.pmk
+
+ALLTAR : $(MISC)/res.component
+
+$(MISC)/res.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ res.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt res.component
diff --git a/extensions/source/resource/res.component b/extensions/source/resource/res.component
new file mode 100644
index 000000000000..57f96609d5df
--- /dev/null
+++ b/extensions/source/resource/res.component
@@ -0,0 +1,38 @@
+<?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.extensions.ResourceService">
+ <service name="com.sun.star.resource.VclStringResourceLoader"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.resource.OpenOfficeResourceLoader">
+ <service name="com.sun.star.resource.OfficeResourceLoader"/>
+ <singleton name="com.sun.star.resource.OfficeResourceLoader"/>
+ </implementation>
+</component>
diff --git a/extensions/source/resource/res_services.cxx b/extensions/source/resource/res_services.cxx
index 6babbe48e8cd..7bdc684294ea 100644
--- a/extensions/source/resource/res_services.cxx
+++ b/extensions/source/resource/res_services.cxx
@@ -29,12 +29,7 @@
#include "precompiled_extensions.hxx"
#include "res_services.hxx"
-/** === begin UNO includes === **/
-#include <com/sun/star/registry/XRegistryKey.hpp>
-/** === end UNO includes === **/
-
/** === begin UNO using === **/
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
using ::com::sun::star::uno::Exception;
@@ -64,43 +59,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-sal_Bool SAL_CALL component_writeInfo( void * /*pServiceManager*/, XRegistryKey * pRegistryKey )
-{
- try
- {
- ::std::vector< ::res::ComponentInfo > aComponentInfos( ::res::getComponentInfos() );
- for ( ::std::vector< ::res::ComponentInfo >::const_iterator loop = aComponentInfos.begin();
- loop != aComponentInfos.end();
- ++loop
- )
- {
- Reference< XRegistryKey > xNewKey =
- pRegistryKey->createKey( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") )
- + loop->sImplementationName + ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES" ) ) );
-
- for( sal_Int32 i = 0; i < loop->aSupportedServices.getLength(); ++i )
- xNewKey->createKey( loop->aSupportedServices.getConstArray()[i]);
-
- if ( loop->sSingletonName.getLength() )
- {
- OSL_ENSURE( loop->aSupportedServices.getLength() == 1, "singletons must support exactly one service!" );
- xNewKey = pRegistryKey->createKey( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") )
- + loop->sImplementationName + ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/UNO/SINGLETONS/" ) )
- + loop->sSingletonName );
- xNewKey->setStringValue( loop->aSupportedServices[ 0 ] );
- }
- }
-
- return sal_True;
- }
- catch (Exception &)
- {
- // not allowed to throw an exception over the c function.
- //OSL_ENSURE( sal_False, "Exception cannot register component!" );
- return sal_False;
- }
-}
-
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, XMultiServiceFactory * /*pServiceManager*/, void * /*pRegistryKey*/ )
{
diff --git a/extensions/source/scanner/exports.dxp b/extensions/source/scanner/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/extensions/source/scanner/exports.dxp
+++ b/extensions/source/scanner/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/extensions/source/scanner/makefile.mk b/extensions/source/scanner/makefile.mk
index ff42864e0496..519be1ff863d 100644
--- a/extensions/source/scanner/makefile.mk
+++ b/extensions/source/scanner/makefile.mk
@@ -98,3 +98,11 @@ DEF1EXPORTFILE=exports.dxp
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/scn.component
+
+$(MISC)/scn.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ scn.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt scn.component
diff --git a/extensions/source/scanner/scanner.cxx b/extensions/source/scanner/scanner.cxx
index 884ee866a902..cc08b5f10c52 100644
--- a/extensions/source/scanner/scanner.cxx
+++ b/extensions/source/scanner/scanner.cxx
@@ -43,13 +43,14 @@ REF( XInterface ) SAL_CALL ScannerManager_CreateInstance( const REF( com::sun::s
ScannerManager::ScannerManager() :
mpData( NULL )
{
+ AcquireData();
}
// -----------------------------------------------------------------------------
ScannerManager::~ScannerManager()
{
- DestroyData();
+ ReleaseData();
}
// -----------------------------------------------------------------------------
diff --git a/extensions/source/scanner/scanner.hxx b/extensions/source/scanner/scanner.hxx
index 6ca0804d1c33..3453598974a7 100644
--- a/extensions/source/scanner/scanner.hxx
+++ b/extensions/source/scanner/scanner.hxx
@@ -73,7 +73,8 @@ protected:
vos::OMutex maProtector;
void* mpData;
- void DestroyData();
+ void AcquireData();
+ void ReleaseData();
public:
@@ -105,7 +106,7 @@ public:
void Unlock() { maProtector.release(); }
void* GetData() const { return mpData; }
- void SetData( void* pData ) { DestroyData(); mpData = pData; }
+ void SetData( void* pData ) { ReleaseData(); mpData = pData; }
};
// -----------------------------------------------------------------------------
diff --git a/extensions/source/scanner/scanunx.cxx b/extensions/source/scanner/scanunx.cxx
index b47ddb9adbea..0a477a9dae7d 100644
--- a/extensions/source/scanner/scanunx.cxx
+++ b/extensions/source/scanner/scanunx.cxx
@@ -31,6 +31,7 @@
#include <sanedlg.hxx>
#include <vos/thread.hxx>
#include <tools/list.hxx>
+#include <boost/shared_ptr.hpp>
#if OSL_DEBUG_LEVEL > 1
#include <stdio.h>
@@ -113,12 +114,41 @@ struct SaneHolder
vos::OMutex m_aProtector;
ScanError m_nError;
bool m_bBusy;
+
+ SaneHolder() : m_nError(ScanError_ScanErrorNone), m_bBusy(false) {}
};
-DECLARE_LIST( SaneHolderList, SaneHolder* )
+namespace
+{
+ typedef std::vector< boost::shared_ptr<SaneHolder> > sanevec;
+ class allSanes
+ {
+ private:
+ int mnRefCount;
+ public:
+ sanevec m_aSanes;
+ allSanes() : mnRefCount(0) {}
+ void acquire();
+ void release();
+ };
+
+ void allSanes::acquire()
+ {
+ ++mnRefCount;
+ }
+
+ void allSanes::release()
+ {
+ // was unused, now because of i99835: "Scanning interface not SANE API
+ // compliant" destroy all SaneHolder to get Sane Dtor called
+ --mnRefCount;
+ if (!mnRefCount)
+ m_aSanes.clear();
+ }
-static SaneHolderList allSanes;
-static vos::OMutex aSaneProtector;
+ struct theSaneProtector : public rtl::Static<vos::OMutex, theSaneProtector> {};
+ struct theSanes : public rtl::Static<allSanes, theSanes> {};
+}
// -----------------
// - ScannerThread -
@@ -126,7 +156,7 @@ static vos::OMutex aSaneProtector;
class ScannerThread : public vos::OThread
{
- SaneHolder* m_pHolder;
+ boost::shared_ptr<SaneHolder> m_pHolder;
REF( com::sun::star::lang::XEventListener ) m_xListener;
ScannerManager* m_pManager; // just for the disposing call
@@ -134,7 +164,7 @@ public:
virtual void run();
virtual void onTerminated() { delete this; }
public:
- ScannerThread( SaneHolder* pHolder,
+ ScannerThread( boost::shared_ptr<SaneHolder> pHolder,
const REF( com::sun::star::lang::XEventListener )& listener,
ScannerManager* pManager );
virtual ~ScannerThread();
@@ -143,7 +173,7 @@ public:
// -----------------------------------------------------------------------------
ScannerThread::ScannerThread(
- SaneHolder* pHolder,
+ boost::shared_ptr<SaneHolder> pHolder,
const REF( com::sun::star::lang::XEventListener )& listener,
ScannerManager* pManager )
: m_pHolder( pHolder ), m_xListener( listener ), m_pManager( pManager )
@@ -192,16 +222,16 @@ void ScannerThread::run()
// - ScannerManager -
// ------------------
-void ScannerManager::DestroyData()
+void ScannerManager::AcquireData()
{
- // was unused, now because of i99835: "Scanning interface not SANE API compliant"
- // delete all SaneHolder to get Sane Dtor called
- int i;
- for ( i = allSanes.Count(); i > 0; i-- )
- {
- SaneHolder *pSaneHolder = allSanes.GetObject(i-1);
- if ( pSaneHolder ) delete pSaneHolder;
- }
+ vos::OGuard aGuard( theSaneProtector::get() );
+ theSanes::get().acquire();
+}
+
+void ScannerManager::ReleaseData()
+{
+ vos::OGuard aGuard( theSaneProtector::get() );
+ theSanes::get().release();
}
// -----------------------------------------------------------------------------
@@ -224,17 +254,14 @@ SEQ( sal_Int8 ) ScannerManager::getDIB() throw()
SEQ( ScannerContext ) ScannerManager::getAvailableScanners() throw()
{
- vos::OGuard aGuard( aSaneProtector );
+ vos::OGuard aGuard( theSaneProtector::get() );
+ sanevec &rSanes = theSanes::get().m_aSanes;
- if( ! allSanes.Count() )
+ if( rSanes.empty() )
{
- SaneHolder* pSaneHolder = new SaneHolder;
- pSaneHolder->m_nError = ScanError_ScanErrorNone;
- pSaneHolder->m_bBusy = false;
+ boost::shared_ptr<SaneHolder> pSaneHolder(new SaneHolder);
if( Sane::IsSane() )
- allSanes.Insert( pSaneHolder );
- else
- delete pSaneHolder;
+ rSanes.push_back( pSaneHolder );
}
if( Sane::IsSane() )
@@ -252,20 +279,21 @@ SEQ( ScannerContext ) ScannerManager::getAvailableScanners() throw()
BOOL ScannerManager::configureScanner( ScannerContext& scanner_context ) throw( ScannerException )
{
- vos::OGuard aGuard( aSaneProtector );
+ vos::OGuard aGuard( theSaneProtector::get() );
+ sanevec &rSanes = theSanes::get().m_aSanes;
#if OSL_DEBUG_LEVEL > 1
fprintf( stderr, "ScannerManager::configureScanner\n" );
#endif
- if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= allSanes.Count() )
+ if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= rSanes.size() )
throw ScannerException(
::rtl::OUString::createFromAscii( "Scanner does not exist" ),
REF( XScannerManager )( this ),
ScanError_InvalidContext
);
- SaneHolder* pHolder = allSanes.GetObject( scanner_context.InternalData );
+ boost::shared_ptr<SaneHolder> pHolder = rSanes[scanner_context.InternalData];
if( pHolder->m_bBusy )
throw ScannerException(
::rtl::OUString::createFromAscii( "Scanner is busy" ),
@@ -286,19 +314,20 @@ BOOL ScannerManager::configureScanner( ScannerContext& scanner_context ) throw(
void ScannerManager::startScan( const ScannerContext& scanner_context,
const REF( com::sun::star::lang::XEventListener )& listener ) throw( ScannerException )
{
- vos::OGuard aGuard( aSaneProtector );
+ vos::OGuard aGuard( theSaneProtector::get() );
+ sanevec &rSanes = theSanes::get().m_aSanes;
#if OSL_DEBUG_LEVEL > 1
fprintf( stderr, "ScannerManager::startScan\n" );
#endif
- if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= allSanes.Count() )
+ if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= rSanes.size() )
throw ScannerException(
::rtl::OUString::createFromAscii( "Scanner does not exist" ),
REF( XScannerManager )( this ),
ScanError_InvalidContext
);
- SaneHolder* pHolder = allSanes.GetObject( scanner_context.InternalData );
+ boost::shared_ptr<SaneHolder> pHolder = rSanes[scanner_context.InternalData];
if( pHolder->m_bBusy )
throw ScannerException(
::rtl::OUString::createFromAscii( "Scanner is busy" ),
@@ -315,16 +344,17 @@ void ScannerManager::startScan( const ScannerContext& scanner_context,
ScanError ScannerManager::getError( const ScannerContext& scanner_context ) throw( ScannerException )
{
- vos::OGuard aGuard( aSaneProtector );
+ vos::OGuard aGuard( theSaneProtector::get() );
+ sanevec &rSanes = theSanes::get().m_aSanes;
- if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= allSanes.Count() )
+ if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= rSanes.size() )
throw ScannerException(
::rtl::OUString::createFromAscii( "Scanner does not exist" ),
REF( XScannerManager )( this ),
ScanError_InvalidContext
);
- SaneHolder* pHolder = allSanes.GetObject( scanner_context.InternalData );
+ boost::shared_ptr<SaneHolder> pHolder = rSanes[scanner_context.InternalData];
return pHolder->m_nError;
}
@@ -333,15 +363,16 @@ ScanError ScannerManager::getError( const ScannerContext& scanner_context ) thro
REF( AWT::XBitmap ) ScannerManager::getBitmap( const ScannerContext& scanner_context ) throw( ScannerException )
{
- vos::OGuard aGuard( aSaneProtector );
+ vos::OGuard aGuard( theSaneProtector::get() );
+ sanevec &rSanes = theSanes::get().m_aSanes;
- if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= allSanes.Count() )
+ if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= rSanes.size() )
throw ScannerException(
::rtl::OUString::createFromAscii( "Scanner does not exist" ),
REF( XScannerManager )( this ),
ScanError_InvalidContext
);
- SaneHolder* pHolder = allSanes.GetObject( scanner_context.InternalData );
+ boost::shared_ptr<SaneHolder> pHolder = rSanes[scanner_context.InternalData];
vos::OGuard aProtGuard( pHolder->m_aProtector );
diff --git a/extensions/source/scanner/scanwin.cxx b/extensions/source/scanner/scanwin.cxx
index e14fffa87d0c..f245cc95d1f6 100644
--- a/extensions/source/scanner/scanwin.cxx
+++ b/extensions/source/scanner/scanwin.cxx
@@ -74,10 +74,7 @@ using namespace ::com::sun::star;
#define FIXTODOUBLE( nFix ) ((double)nFix.Whole+(double)nFix.Frac/65536.)
#define FIXTOLONG( nFix ) ((long)floor(FIXTODOUBLE(nFix)+0.5))
-#if defined WIN
-#define TWAIN_LIBNAME "TWAIN.DLL"
-#define TWAIN_FUNCNAME "DSM_Entry"
-#elif defined WNT
+#if defined WNT
#define TWAIN_LIBNAME "TWAIN_32.DLL"
#define TWAIN_FUNCNAME "DSM_Entry"
#endif
@@ -109,7 +106,7 @@ class ImpTwain : public ::cppu::WeakImplHelper1< util::XCloseListener >
TW_IDENTITY aSrcIdent;
Link aNotifyLink;
DSMENTRYPROC pDSM;
- NAMESPACE_VOS( OModule )* pMod;
+ vos:: OModule * pMod;
ULONG nCurState;
HWND hTwainWnd;
HHOOK hTwainHook;
@@ -887,7 +884,11 @@ static Twain aTwain;
// - ScannerManager -
// ------------------
-void ScannerManager::DestroyData()
+void ScannerManager::AcquireData()
+{
+}
+
+void ScannerManager::ReleaseData()
{
if( mpData )
{
@@ -979,7 +980,7 @@ SEQ( sal_Int8 ) ScannerManager::getDIB() throw()
}
GlobalUnlock( hDIB );
- DestroyData();
+ ReleaseData();
}
return aRet;
@@ -1009,7 +1010,7 @@ BOOL SAL_CALL ScannerManager::configureScanner( ScannerContext& rContext )
if( rContext.InternalData != 0 || rContext.ScannerName != ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TWAIN" ) ) )
throw ScannerException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Scanner does not exist" ) ), xThis, ScanError_InvalidContext );
- DestroyData();
+ ReleaseData();
return aTwain.SelectSource( *this );
}
@@ -1025,7 +1026,7 @@ void SAL_CALL ScannerManager::startScan( const ScannerContext& rContext, const u
if( rContext.InternalData != 0 || rContext.ScannerName != ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TWAIN" ) ) )
throw ScannerException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Scanner does not exist" ) ), xThis, ScanError_InvalidContext );
- DestroyData();
+ ReleaseData();
aTwain.PerformTransfer( *this, rxListener );
}
diff --git a/extensions/source/scanner/scn.component b/extensions/source/scanner/scn.component
new file mode 100644
index 000000000000..d7daf3ae36d4
--- /dev/null
+++ b/extensions/source/scanner/scn.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.scanner.ScannerManager">
+ <service name="com.sun.star.scanner.ScannerManager"/>
+ </implementation>
+</component>
diff --git a/extensions/source/scanner/scnserv.cxx b/extensions/source/scanner/scnserv.cxx
index e7c125fe1cae..e96522002b9a 100644
--- a/extensions/source/scanner/scnserv.cxx
+++ b/extensions/source/scanner/scnserv.cxx
@@ -45,37 +45,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment( const sal_Char*
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-// -----------------------
-// - component_writeInfo -
-// -----------------------
-
-extern "C" sal_Bool SAL_CALL component_writeInfo( void* /*pServiceManager*/, void* pRegistryKey )
-{
- sal_Bool bRet = sal_False;
-
- if( pRegistryKey )
- {
- try
- {
- ::rtl::OUString aImplName( '/' );
-
- aImplName += ScannerManager::getImplementationName_Static();
- aImplName += ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES/" ) );
- aImplName += ScannerManager::getImplementationName_Static();
-
- REF( XRegistryKey ) xNewKey1( static_cast< XRegistryKey* >( pRegistryKey )->createKey( aImplName ) );
-
- bRet = sal_True;
- }
- catch( InvalidRegistryException& )
- {
- OSL_ENSURE( sal_False, "### InvalidRegistryException!" );
- }
- }
-
- return bRet;
-}
-
// ------------------------
// - component_getFactory -
// ------------------------
diff --git a/extensions/source/scanner/twain.cxx b/extensions/source/scanner/twain.cxx
index b11f2725501e..d0fcaf411d6a 100644
--- a/extensions/source/scanner/twain.cxx
+++ b/extensions/source/scanner/twain.cxx
@@ -31,7 +31,7 @@
#include <string.h>
#include <math.h>
-#if defined( WNT ) || defined (WIN)
+#if defined( WNT )
#include <tools/svwin.h>
#endif
#ifdef OS2
@@ -52,10 +52,7 @@
#define FIXTODOUBLE( nFix ) ((double)nFix.Whole+(double)nFix.Frac/65536.)
#define FIXTOLONG( nFix ) ((long)floor(FIXTODOUBLE(nFix)+0.5))
-#if defined WIN
-#define TWAIN_LIBNAME "TWAIN.DLL"
-#define TWAIN_FUNCNAME "DSM_Entry"
-#elif defined WNT
+#if defined WNT
#define TWAIN_LIBNAME "TWAIN_32.DLL"
#define TWAIN_FUNCNAME "DSM_Entry"
#elif defined OS2
@@ -242,7 +239,7 @@ void ImpTwain::ImplOpenSourceManager()
{
if( 1 == nCurState )
{
- pMod = new NAMESPACE_VOS( OModule )();
+ pMod = new vos:: OModule ();
if( pMod->load( TWAIN_LIBNAME ) )
{
diff --git a/extensions/source/scanner/twain.hxx b/extensions/source/scanner/twain.hxx
index 7599f86d7813..6f4605f5f796 100644
--- a/extensions/source/scanner/twain.hxx
+++ b/extensions/source/scanner/twain.hxx
@@ -57,7 +57,7 @@ class ImpTwain
Link aNotifyLink;
Bitmap aBitmap;
DSMENTRYPROC pDSM;
- NAMESPACE_VOS( OModule )* pMod;
+ vos:: OModule * pMod;
ULONG nCurState;
void ImplCreate();
diff --git a/extensions/source/svg/svguno.cxx b/extensions/source/svg/svguno.cxx
index cb76e80d9319..5e4281ca2e28 100644
--- a/extensions/source/svg/svguno.cxx
+++ b/extensions/source/svg/svguno.cxx
@@ -60,36 +60,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment( const sal_Char
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-// -----------------------
-// - component_writeInfo -
-// -----------------------
-
-extern "C" sal_Bool SAL_CALL component_writeInfo( void* /*pServiceManager*/, void* pRegistryKey )
-{
- sal_Bool bRet = sal_False;
-
- if( pRegistryKey )
- {
- try
- {
- REF( NMSP_REGISTRY::XRegistryKey ) xNewKey1(
- static_cast< NMSP_REGISTRY::XRegistryKey* >( pRegistryKey )->createKey(
- B2UCONST( "/com.sun.star.comp.extensions.SVGWriter/UNO/SERVICES/com.sun.star.svg.SVGWriter" ) ) );
- REF( NMSP_REGISTRY::XRegistryKey ) xNewKey2(
- static_cast< NMSP_REGISTRY::XRegistryKey* >( pRegistryKey )->createKey(
- B2UCONST( "/com.sun.star.comp.extensions.SVGPrinter/UNO/SERVICES/com.sun.star.svg.SVGPrinter" ) ) );
-
- bRet = sal_True;
- }
- catch( NMSP_REGISTRY::InvalidRegistryException& )
- {
- OSL_ENSURE( sal_False, "### InvalidRegistryException!" );
- }
- }
-
- return bRet;
-}
-
// ------------------------
// - component_getFactory -
// ------------------------
diff --git a/extensions/source/update/check/makefile.mk b/extensions/source/update/check/makefile.mk
index 9f5f544102dd..47da869ea11e 100644
--- a/extensions/source/update/check/makefile.mk
+++ b/extensions/source/update/check/makefile.mk
@@ -132,3 +132,11 @@ $(SPOOLDIR)$/$(PACKAGEDIR)$/Jobs$/Jobs-onlineupdate.xcu : $(XCU_SOURCEDIR)$/Jobs
@$(COPY) $< $@
# @$(PERL) transform.pl < $< > $@
+
+ALLTAR : $(MISC)/updchk.uno.component
+
+$(MISC)/updchk.uno.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ updchk.uno.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt updchk.uno.component
diff --git a/extensions/source/update/check/updatecheckjob.cxx b/extensions/source/update/check/updatecheckjob.cxx
index 2444637515d4..9a87779e0999 100644..100755
--- a/extensions/source/update/check/updatecheckjob.cxx
+++ b/extensions/source/update/check/updatecheckjob.cxx
@@ -327,13 +327,14 @@ void SAL_CALL UpdateCheckJob::queryTermination( lang::EventObject const & )
}
//------------------------------------------------------------------------------
-void SAL_CALL UpdateCheckJob::notifyTermination( lang::EventObject const & rEvt )
+void SAL_CALL UpdateCheckJob::notifyTermination( lang::EventObject const & )
throw ( uno::RuntimeException )
{
if ( m_pInitThread.get() != 0 )
+ {
m_pInitThread->setTerminating();
-
- disposing( rEvt );
+ m_pInitThread->join();
+ }
}
} // anonymous namespace
@@ -387,18 +388,6 @@ component_getImplementationEnvironment( const sal_Char **aEnvTypeName, uno_Envir
//------------------------------------------------------------------------------
-extern "C" sal_Bool SAL_CALL
-component_writeInfo(void *pServiceManager, void *pRegistryKey)
-{
- return cppu::component_writeInfoHelper(
- pServiceManager,
- pRegistryKey,
- kImplementations_entries
- );
-}
-
-//------------------------------------------------------------------------------
-
extern "C" void *
component_getFactory(const sal_Char *pszImplementationName, void *pServiceManager, void *pRegistryKey)
{
diff --git a/extensions/source/update/check/updchk.uno.component b/extensions/source/update/check/updchk.uno.component
new file mode 100644
index 000000000000..b1eb32917eaf
--- /dev/null
+++ b/extensions/source/update/check/updchk.uno.component
@@ -0,0 +1,37 @@
+<?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="vnd.sun.UpdateCheck">
+ <service name="com.sun.star.setup.UpdateCheck"/>
+ </implementation>
+ <implementation name="vnd.sun.UpdateCheckConfig">
+ <service name="com.sun.star.setup.UpdateCheckConfig"/>
+ </implementation>
+</component>
diff --git a/extensions/source/update/feed/makefile.mk b/extensions/source/update/feed/makefile.mk
index 7e12970ddef1..6361f20bdd73 100644
--- a/extensions/source/update/feed/makefile.mk
+++ b/extensions/source/update/feed/makefile.mk
@@ -62,3 +62,11 @@ DEF1NAME=$(SHL1TARGET)
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/updatefeed.component
+
+$(MISC)/updatefeed.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ updatefeed.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt updatefeed.component
diff --git a/extensions/source/update/feed/updatefeed.component b/extensions/source/update/feed/updatefeed.component
new file mode 100644
index 000000000000..2d53ff5f9398
--- /dev/null
+++ b/extensions/source/update/feed/updatefeed.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="vnd.sun.UpdateInformationProvider">
+ <service name="com.sun.star.deployment.UpdateInformationProvider"/>
+ </implementation>
+</component>
diff --git a/extensions/source/update/feed/updatefeed.cxx b/extensions/source/update/feed/updatefeed.cxx
index e5eb490e29a2..12af008ee853 100644
--- a/extensions/source/update/feed/updatefeed.cxx
+++ b/extensions/source/update/feed/updatefeed.cxx
@@ -851,18 +851,6 @@ component_getImplementationEnvironment( const sal_Char **aEnvTypeName, uno_Envir
//------------------------------------------------------------------------------
-extern "C" sal_Bool SAL_CALL
-component_writeInfo(void *pServiceManager, void *pRegistryKey)
-{
- return cppu::component_writeInfoHelper(
- pServiceManager,
- pRegistryKey,
- kImplementations_entries
- );
-}
-
-//------------------------------------------------------------------------------
-
extern "C" void *
component_getFactory(const sal_Char *pszImplementationName, void *pServiceManager, void *pRegistryKey)
{
diff --git a/extensions/source/update/ui/makefile.mk b/extensions/source/update/ui/makefile.mk
index c4826efba9ca..5ea6994d3d22 100644
--- a/extensions/source/update/ui/makefile.mk
+++ b/extensions/source/update/ui/makefile.mk
@@ -72,3 +72,11 @@ DEF1NAME=$(SHL1TARGET)
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/updchk.component
+
+$(MISC)/updchk.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ updchk.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt updchk.component
diff --git a/extensions/source/update/ui/updatecheckui.cxx b/extensions/source/update/ui/updatecheckui.cxx
index a2a8c31908fc..a6fe8fb27d32 100644
--- a/extensions/source/update/ui/updatecheckui.cxx
+++ b/extensions/source/update/ui/updatecheckui.cxx
@@ -1059,18 +1059,6 @@ component_getImplementationEnvironment( const sal_Char **aEnvTypeName, uno_Envir
//------------------------------------------------------------------------------
-extern "C" sal_Bool SAL_CALL
-component_writeInfo(void *pServiceManager, void *pRegistryKey)
-{
- return cppu::component_writeInfoHelper(
- pServiceManager,
- pRegistryKey,
- kImplementations_entries
- );
-}
-
-//------------------------------------------------------------------------------
-
extern "C" void *
component_getFactory(const sal_Char *pszImplementationName, void *pServiceManager, void *pRegistryKey)
{
diff --git a/extensions/source/update/ui/updchk.component b/extensions/source/update/ui/updchk.component
new file mode 100644
index 000000000000..bd533e30d1f3
--- /dev/null
+++ b/extensions/source/update/ui/updchk.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="vnd.sun.UpdateCheckUI">
+ <service name="com.sun.star.setup.UpdateCheckUI"/>
+ </implementation>
+</component>
diff --git a/extensions/source/xmlextract/makefile.mk b/extensions/source/xmlextract/makefile.mk
index 0a021027f4b4..fa54df738b58 100644
--- a/extensions/source/xmlextract/makefile.mk
+++ b/extensions/source/xmlextract/makefile.mk
@@ -63,3 +63,11 @@ SHL1LIBS= $(SLB)$/$(TARGET).lib
# --- Targets ----------------------------------
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/xmx.component
+
+$(MISC)/xmx.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ xmx.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt xmx.component
diff --git a/extensions/source/xmlextract/xmx.component b/extensions/source/xmlextract/xmx.component
new file mode 100644
index 000000000000..456ff33b6c06
--- /dev/null
+++ b/extensions/source/xmlextract/xmx.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.io.XMLExtractor">
+ <service name="com.sun.star.io.XMLExtractor"/>
+ </implementation>
+</component>
diff --git a/extensions/source/xmlextract/xmxuno.cxx b/extensions/source/xmlextract/xmxuno.cxx
index ba4044a54e6b..98d11238fb73 100644
--- a/extensions/source/xmlextract/xmxuno.cxx
+++ b/extensions/source/xmlextract/xmxuno.cxx
@@ -52,27 +52,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
//==================================================================================================
-sal_Bool SAL_CALL component_writeInfo(
- void * /*pServiceManager*/, void * pRegistryKey )
-{
- if (pRegistryKey)
- {
- try
- {
- REF( NMSP_REGISTRY::XRegistryKey ) xNewKey(
- reinterpret_cast< NMSP_REGISTRY::XRegistryKey * >( pRegistryKey )->createKey(
- NMSP_RTL::OUString( RTL_CONSTASCII_USTRINGPARAM("/com.sun.star.comp.io.XMLExtractor/UNO/SERVICES/com.sun.star.io.XMLExtractor") ) ) );
-
- return sal_True;
- }
- catch (NMSP_REGISTRY::InvalidRegistryException &)
- {
- OSL_ENSURE( sal_False, "### InvalidRegistryException!" );
- }
- }
- return sal_False;
-}
-//==================================================================================================
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{