summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorDaniel Rentz [dr] <daniel.rentz@oracle.com>2010-12-09 10:13:55 +0100
committerDaniel Rentz [dr] <daniel.rentz@oracle.com>2010-12-09 10:13:55 +0100
commit75b47018bbe9e37d00ae2af2e6011b463a60a21e (patch)
tree0639b2f8d521e807ca7c20d03b07175d8ac4c200 /connectivity
parent13bc9463db8c6968925b11a8c1c1c710b3a5c58b (diff)
parent5e5f32868925e3fc20bad2b7cc1c23b77b524d5e (diff)
mib19: rebase to DEV300m95
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/inc/connectivity/filtermanager.hxx7
-rw-r--r--connectivity/prj/d.lst17
-rw-r--r--connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx5
-rw-r--r--connectivity/source/commontools/FValue.cxx30
-rw-r--r--connectivity/source/commontools/dbtools2.cxx1
-rw-r--r--connectivity/source/commontools/filtermanager.cxx60
-rw-r--r--connectivity/source/cpool/Zregistration.cxx29
-rw-r--r--connectivity/source/cpool/dbpool2.component34
-rw-r--r--connectivity/source/cpool/exports.dxp1
-rw-r--r--connectivity/source/cpool/makefile.mk6
-rw-r--r--connectivity/source/dbtools/dbtools.component37
-rw-r--r--connectivity/source/dbtools/exports.dxp1
-rw-r--r--connectivity/source/dbtools/makefile.mk8
-rw-r--r--connectivity/source/drivers/adabas/BDriver.cxx44
-rw-r--r--connectivity/source/drivers/adabas/BFunctions.cxx2
-rw-r--r--connectivity/source/drivers/adabas/Bservices.cxx52
-rw-r--r--connectivity/source/drivers/adabas/adabas.component35
-rw-r--r--connectivity/source/drivers/adabas/adabas.mxp.map1
-rw-r--r--connectivity/source/drivers/adabas/exports.dxp1
-rw-r--r--connectivity/source/drivers/adabas/makefile.mk8
-rw-r--r--connectivity/source/drivers/ado/Aservices.cxx52
-rw-r--r--connectivity/source/drivers/ado/ado.component35
-rw-r--r--connectivity/source/drivers/ado/exports.dxp1
-rw-r--r--connectivity/source/drivers/ado/makefile.mk8
-rw-r--r--connectivity/source/drivers/calc/Cservices.cxx52
-rw-r--r--connectivity/source/drivers/calc/calc.component35
-rw-r--r--connectivity/source/drivers/calc/exports.dxp1
-rw-r--r--connectivity/source/drivers/calc/makefile.mk8
-rw-r--r--connectivity/source/drivers/dbase/DTable.cxx8
-rw-r--r--connectivity/source/drivers/dbase/Dservices.cxx52
-rw-r--r--connectivity/source/drivers/dbase/dbase.component35
-rw-r--r--connectivity/source/drivers/dbase/dbase.mxp.map1
-rw-r--r--connectivity/source/drivers/dbase/exports.dxp1
-rw-r--r--connectivity/source/drivers/dbase/makefile.mk8
-rw-r--r--connectivity/source/drivers/evoab/LServices.cxx52
-rw-r--r--connectivity/source/drivers/evoab/exports.dxp1
-rw-r--r--connectivity/source/drivers/evoab2/NServices.cxx51
-rw-r--r--connectivity/source/drivers/evoab2/evoab.component34
-rw-r--r--connectivity/source/drivers/evoab2/makefile.mk8
-rw-r--r--connectivity/source/drivers/file/FResultSet.cxx40
-rw-r--r--connectivity/source/drivers/file/FStatement.cxx19
-rw-r--r--connectivity/source/drivers/file/fanalyzer.cxx28
-rw-r--r--connectivity/source/drivers/flat/Eservices.cxx52
-rw-r--r--connectivity/source/drivers/flat/exports.dxp1
-rw-r--r--connectivity/source/drivers/flat/flat.component35
-rw-r--r--connectivity/source/drivers/flat/flat.mxp.map1
-rw-r--r--connectivity/source/drivers/flat/makefile.mk8
-rw-r--r--connectivity/source/drivers/hsqldb/HDriver.cxx38
-rw-r--r--connectivity/source/drivers/hsqldb/HStorageMap.cxx2
-rw-r--r--connectivity/source/drivers/hsqldb/Hservices.cxx52
-rw-r--r--connectivity/source/drivers/hsqldb/exports.dxp1
-rw-r--r--connectivity/source/drivers/hsqldb/hsqldb.component35
-rw-r--r--connectivity/source/drivers/hsqldb/hsqldb.map1
-rw-r--r--connectivity/source/drivers/hsqldb/makefile.mk8
-rw-r--r--connectivity/source/drivers/jdbc/exports.dxp1
-rw-r--r--connectivity/source/drivers/jdbc/jdbc.component34
-rw-r--r--connectivity/source/drivers/jdbc/jdbc.mxp.map1
-rw-r--r--connectivity/source/drivers/jdbc/jservices.cxx51
-rw-r--r--connectivity/source/drivers/jdbc/makefile.mk8
-rw-r--r--connectivity/source/drivers/kab/KServices.cxx52
-rw-r--r--connectivity/source/drivers/kab/exports.dxp1
-rw-r--r--connectivity/source/drivers/kab/kab1.component34
-rw-r--r--connectivity/source/drivers/kab/makefile.mk11
-rwxr-xr-xconnectivity/source/drivers/macab/MacabServices.cxx52
-rwxr-xr-xconnectivity/source/drivers/macab/exports.dxp1
-rw-r--r--connectivity/source/drivers/macab/macab1.component34
-rwxr-xr-xconnectivity/source/drivers/macab/makefile.mk8
-rw-r--r--connectivity/source/drivers/mozab/MDriver.cxx2
-rw-r--r--connectivity/source/drivers/mozab/MServices.cxx57
-rw-r--r--connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.cxx45
-rw-r--r--connectivity/source/drivers/mozab/bootstrap/MNSFolders.cxx26
-rw-r--r--connectivity/source/drivers/mozab/bootstrap/MNSFolders.hxx3
-rw-r--r--connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx118
-rw-r--r--connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.hxx3
-rw-r--r--connectivity/source/drivers/mozab/bootstrap/makefile.mk9
-rw-r--r--connectivity/source/drivers/mozab/bootstrap/mozbootstrap.component34
-rw-r--r--connectivity/source/drivers/mozab/exports.dxp1
-rw-r--r--connectivity/source/drivers/mozab/makefile.mk8
-rw-r--r--connectivity/source/drivers/mozab/mozab.component37
-rwxr-xr-xconnectivity/source/drivers/mozab/mozab.xcu2
-rwxr-xr-xconnectivity/source/drivers/mozab/mozab2.xcu2
-rw-r--r--connectivity/source/drivers/mysql/Yservices.cxx52
-rw-r--r--connectivity/source/drivers/mysql/exports.dxp1
-rw-r--r--connectivity/source/drivers/mysql/makefile.mk8
-rw-r--r--connectivity/source/drivers/mysql/mysql.component35
-rw-r--r--connectivity/source/drivers/odbc/OFunctions.cxx4
-rw-r--r--connectivity/source/drivers/odbc/makefile.mk8
-rw-r--r--connectivity/source/drivers/odbc/odbc.component34
-rw-r--r--connectivity/source/drivers/odbc/oservices.cxx52
-rw-r--r--connectivity/source/inc/file/fcomp.hxx2
-rw-r--r--connectivity/source/inc/odbc/OFunctiondefs.hxx2
-rw-r--r--connectivity/source/manager/exports.dxp1
-rw-r--r--connectivity/source/manager/makefile.mk6
-rw-r--r--connectivity/source/manager/mregistration.cxx33
-rw-r--r--connectivity/source/manager/sdbc.mxp.map1
-rw-r--r--connectivity/source/manager/sdbc2.component34
96 files changed, 908 insertions, 1143 deletions
diff --git a/connectivity/inc/connectivity/filtermanager.hxx b/connectivity/inc/connectivity/filtermanager.hxx
index 71494de67b38..c9d1e95cfac4 100644
--- a/connectivity/inc/connectivity/filtermanager.hxx
+++ b/connectivity/inc/connectivity/filtermanager.hxx
@@ -33,7 +33,8 @@
#include <com/sun/star/sdb/XSQLQueryComposer.hpp>
#include <com/sun/star/sdbc/XConnection.hpp>
/** === end UNO includes === **/
-#include <rtl/ustring.hxx>
+
+#include <rtl/ustrbuf.hxx>
#include <vector>
#include "connectivity/dbtoolsdllapi.hxx"
@@ -111,10 +112,10 @@ namespace dbtools
/** appends one filter component to the statement in our composer
*/
- void appendFilterComponent( ::rtl::OUString& /* [inout] */ _rAppendTo, const ::rtl::OUString& _rComponent ) const;
+ void appendFilterComponent( ::rtl::OUStringBuffer& io_appendTo, const ::rtl::OUString& i_component ) const;
/// checks whether there is only one (or even no) non-empty filter component
- bool isThereAtMostOneComponent( ::rtl::OUString& _rOnlyComponent ) const;
+ bool isThereAtMostOneComponent( ::rtl::OUStringBuffer& o_singleComponent ) const;
/// returns the index of the first filter component which should be considered when building the composed filter
inline sal_Int32 getFirstApplicableFilterIndex() const
diff --git a/connectivity/prj/d.lst b/connectivity/prj/d.lst
index e116ee5740ac..01d82ba9177e 100644
--- a/connectivity/prj/d.lst
+++ b/connectivity/prj/d.lst
@@ -31,3 +31,20 @@ mkdir: %_DEST%\xml%_EXT%\registry\spool\DataAccess
..\%__SRC%\misc\registry\data\org\openoffice\Office\DataAccess\*.xcu %_DEST%\xml%_EXT%\registry\spool\DataAccess\*.xcu
..\%COMMON_OUTDIR%\bin\fcfg_drivers_*.zip %_DEST%\pck%_EXT%\fcfg_drivers_*.zip
..\%__SRC%\bin\fcfg_drivers_*.zip %_DEST%\pck%_EXT%\fcfg_drivers_*.zip
+..\%__SRC%\misc\adabas.component %_DEST%\xml%_EXT%\adabas.component
+..\%__SRC%\misc\ado.component %_DEST%\xml%_EXT%\ado.component
+..\%__SRC%\misc\calc.component %_DEST%\xml%_EXT%\calc.component
+..\%__SRC%\misc\dbase.component %_DEST%\xml%_EXT%\dbase.component
+..\%__SRC%\misc\dbpool2.component %_DEST%\xml%_EXT%\dbpool2.component
+..\%__SRC%\misc\dbtools.component %_DEST%\xml%_EXT%\dbtools.component
+..\%__SRC%\misc\evoab.component %_DEST%\xml%_EXT%\evoab.component
+..\%__SRC%\misc\flat.component %_DEST%\xml%_EXT%\flat.component
+..\%__SRC%\misc\hsqldb.component %_DEST%\xml%_EXT%\hsqldb.component
+..\%__SRC%\misc\jdbc.component %_DEST%\xml%_EXT%\jdbc.component
+..\%__SRC%\misc\kab1.component %_DEST%\xml%_EXT%\kab1.component
+..\%__SRC%\misc\macab1.component %_DEST%\xml%_EXT%\macab1.component
+..\%__SRC%\misc\mozab.component %_DEST%\xml%_EXT%\mozab.component
+..\%__SRC%\misc\mozbootstrap.component %_DEST%\xml%_EXT%\mozbootstrap.component
+..\%__SRC%\misc\mysql.component %_DEST%\xml%_EXT%\mysql.component
+..\%__SRC%\misc\odbc.component %_DEST%\xml%_EXT%\odbc.component
+..\%__SRC%\misc\sdbc2.component %_DEST%\xml%_EXT%\sdbc2.component
diff --git a/connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx b/connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx
index 52e76f834ab5..1e3f80546d74 100644
--- a/connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx
+++ b/connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx
@@ -900,11 +900,6 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(const
}
//---------------------------------------------------------------------------------------
-SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(void* serviceManager, com::sun::star::registry::XRegistryKey* registryKey)
-{
- return cppu::component_writeInfoHelper(serviceManager, registryKey, entries);
-}
-//---------------------------------------------------------------------------------------
SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(const sal_Char* implName, ::com::sun::star::lang::XMultiServiceFactory* serviceManager, void* registryKey)
{
return cppu::component_getFactoryHelper(implName, serviceManager, registryKey, entries);
diff --git a/connectivity/source/commontools/FValue.cxx b/connectivity/source/commontools/FValue.cxx
index aca181916b47..1e39befaf5f7 100644
--- a/connectivity/source/commontools/FValue.cxx
+++ b/connectivity/source/commontools/FValue.cxx
@@ -1753,7 +1753,7 @@ Sequence<sal_Int8> ORowSetValue::getSequence() const
}
// -----------------------------------------------------------------------------
-::com::sun::star::util::Date ORowSetValue::getDate() const
+::com::sun::star::util::Date ORowSetValue::getDate() const
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbtools", "Ocke.Janssen@sun.com", "ORowSetValue::getDate" );
::com::sun::star::util::Date aValue;
@@ -1768,8 +1768,6 @@ Sequence<sal_Int8> ORowSetValue::getSequence() const
break;
case DataType::DECIMAL:
case DataType::NUMERIC:
- aValue = DBTypeConversion::toDate((double)*this);
- break;
case DataType::FLOAT:
case DataType::DOUBLE:
case DataType::REAL:
@@ -1787,12 +1785,28 @@ Sequence<sal_Int8> ORowSetValue::getSequence() const
aValue.Year = pDateTime->Year;
}
break;
+ case DataType::BIT:
+ case DataType::BOOLEAN:
+ case DataType::TINYINT:
+ case DataType::SMALLINT:
+ case DataType::INTEGER:
+ case DataType::BIGINT:
+ aValue = DBTypeConversion::toDate( double( sal_Int64( *this ) ) );
+ break;
+
+ case DataType::BLOB:
+ case DataType::CLOB:
+ case DataType::OBJECT:
default:
- {
- Any aAnyValue = getAny();
- aAnyValue >>= aValue;
- break;
- }
+ OSL_ENSURE( false, "ORowSetValue::getDate: cannot retrieve the data!" );
+ // NO break!
+
+ case DataType::BINARY:
+ case DataType::VARBINARY:
+ case DataType::LONGVARBINARY:
+ case DataType::TIME:
+ aValue = DBTypeConversion::toDate( (double)0 );
+ break;
}
}
return aValue;
diff --git a/connectivity/source/commontools/dbtools2.cxx b/connectivity/source/commontools/dbtools2.cxx
index c9a878fe1840..67f1b9130862 100644
--- a/connectivity/source/commontools/dbtools2.cxx
+++ b/connectivity/source/commontools/dbtools2.cxx
@@ -585,7 +585,6 @@ bool getDataSourceSetting( const Reference< XInterface >& _xChild, const ::rtl::
try
{
const Reference< XPropertySet> xDataSourceProperties( findDataSource( _xChild ), UNO_QUERY );
- OSL_ENSURE( xDataSourceProperties.is(), "getDataSourceSetting: invalid data source object!" );
if ( !xDataSourceProperties.is() )
return false;
diff --git a/connectivity/source/commontools/filtermanager.cxx b/connectivity/source/commontools/filtermanager.cxx
index bab2ec4ed144..6b9ac603a722 100644
--- a/connectivity/source/commontools/filtermanager.cxx
+++ b/connectivity/source/commontools/filtermanager.cxx
@@ -35,6 +35,8 @@
#include "TConnection.hxx"
#include <osl/diagnose.h>
#include "connectivity/dbtools.hxx"
+#include <tools/diagnose_ex.h>
+#include <rtl/ustrbuf.hxx>
//........................................................................
namespace dbtools
@@ -92,7 +94,7 @@ namespace dbtools
}
catch( const Exception& )
{
- OSL_ENSURE( sal_False, "FilterManager::setFilterComponent: setting the filter failed!" );
+ DBG_UNHANDLED_EXCEPTION();
}
}
@@ -113,44 +115,30 @@ namespace dbtools
}
catch( const Exception& )
{
- OSL_ENSURE( sal_False, "FilterManager::setApplyPublicFilter: setting the filter failed!" );
+ DBG_UNHANDLED_EXCEPTION();
}
}
//--------------------------------------------------------------------
- namespace
+ void FilterManager::appendFilterComponent( ::rtl::OUStringBuffer& io_appendTo, const ::rtl::OUString& i_component ) const
{
- void lcl_ensureBracketed( ::rtl::OUString& /* [inout] */ _rExpression )
+ if ( io_appendTo.getLength() > 0 )
{
- OSL_ENSURE( _rExpression.getLength(), "lcl_ensureBracketed: expression is empty!" );
- if ( _rExpression.getLength() )
- {
- if ( ( _rExpression.getStr()[0] != '(' ) || ( _rExpression.getStr()[ _rExpression.getLength() - 1 ] != ')' ) )
- {
- ::rtl::OUString sComposed( RTL_CONSTASCII_USTRINGPARAM( "(" ) );
- sComposed += _rExpression;
- sComposed += ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ")" ) );
- _rExpression = sComposed;
- }
- }
+ io_appendTo.insert( 0, sal_Unicode( '(' ) );
+ io_appendTo.insert( 1, sal_Unicode( ' ' ) );
+ io_appendTo.appendAscii( " ) AND " );
}
- }
- //--------------------------------------------------------------------
- void FilterManager::appendFilterComponent( ::rtl::OUString& /* [inout] */ _rAppendTo, const ::rtl::OUString& _rComponent ) const
- {
- if ( _rAppendTo.getLength() )
- _rAppendTo += ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( " AND " ) );
- ::rtl::OUString sComponent( _rComponent );
- lcl_ensureBracketed( sComponent );
- _rAppendTo += sComponent;
+ io_appendTo.appendAscii( "( " );
+ io_appendTo.append( i_component );
+ io_appendTo.appendAscii( " )" );
}
//--------------------------------------------------------------------
- bool FilterManager::isThereAtMostOneComponent( ::rtl::OUString& _rOnlyComponent ) const
+ bool FilterManager::isThereAtMostOneComponent( ::rtl::OUStringBuffer& o_singleComponent ) const
{
sal_Int32 nOnlyNonEmpty = -1;
- sal_Int32 i;
+ sal_Int32 i;
for ( i = getFirstApplicableFilterIndex(); i < FC_COMPONENT_COUNT; ++i )
{
if ( m_aFilterComponents[ i ].getLength() )
@@ -164,14 +152,14 @@ namespace dbtools
}
if ( nOnlyNonEmpty == -1 )
{
- _rOnlyComponent = ::rtl::OUString();
+ o_singleComponent.makeStringAndClear();
return true;
}
if ( i == FC_COMPONENT_COUNT )
{
// we found only one non-empty filter component
- _rOnlyComponent = m_aFilterComponents[ nOnlyNonEmpty ];
+ o_singleComponent = m_aFilterComponents[ nOnlyNonEmpty ];
return true;
}
return false;
@@ -180,17 +168,17 @@ namespace dbtools
//--------------------------------------------------------------------
::rtl::OUString FilterManager::getComposedFilter( ) const
{
- ::rtl::OUString sComposedFilter;
+ ::rtl::OUStringBuffer aComposedFilter;
// if we have only one non-empty component, then there's no need to compose anything
- if ( isThereAtMostOneComponent( sComposedFilter ) )
- return sComposedFilter;
-
- // append the single components
- for ( sal_Int32 i = getFirstApplicableFilterIndex(); i < FC_COMPONENT_COUNT; ++i )
- appendFilterComponent( sComposedFilter, m_aFilterComponents[ i ] );
+ if ( !isThereAtMostOneComponent( aComposedFilter ) )
+ {
+ // append the single components
+ for ( sal_Int32 i = getFirstApplicableFilterIndex(); i < FC_COMPONENT_COUNT; ++i )
+ appendFilterComponent( aComposedFilter, m_aFilterComponents[ i ] );
+ }
- return sComposedFilter;
+ return aComposedFilter.makeStringAndClear();
}
//........................................................................
diff --git a/connectivity/source/cpool/Zregistration.cxx b/connectivity/source/cpool/Zregistration.cxx
index 0786d9ea5f9a..be638aebf620 100644
--- a/connectivity/source/cpool/Zregistration.cxx
+++ b/connectivity/source/cpool/Zregistration.cxx
@@ -50,35 +50,6 @@ extern "C"
}
//---------------------------------------------------------------------------------------
-sal_Bool SAL_CALL component_writeInfo(void* /*_pServiceManager*/, com::sun::star::registry::XRegistryKey* _pRegistryKey)
-{
- ::rtl::OUString sMainKeyName = ::rtl::OUString::createFromAscii("/");
- sMainKeyName += OPoolCollection::getImplementationName_Static();
- sMainKeyName += ::rtl::OUString::createFromAscii("/UNO/SERVICES");
-
- try
- {
- Reference< XRegistryKey > xMainKey = _pRegistryKey->createKey(sMainKeyName);
- if (!xMainKey.is())
- return sal_False;
-
- Sequence< ::rtl::OUString > sServices = OPoolCollection::getSupportedServiceNames_Static();
- const ::rtl::OUString* pServices = sServices.getConstArray();
- for (sal_Int32 i=0; i<sServices.getLength(); ++i, ++pServices)
- xMainKey->createKey(*pServices);
- }
- catch(InvalidRegistryException&)
- {
- return sal_False;
- }
- catch(InvalidValueException&)
- {
- return sal_False;
- }
- return sal_True;
-}
-
-//---------------------------------------------------------------------------------------
void* SAL_CALL component_getFactory(const sal_Char* _pImplName, ::com::sun::star::lang::XMultiServiceFactory* _pServiceManager, void* /*_pRegistryKey*/)
{
void* pRet = NULL;
diff --git a/connectivity/source/cpool/dbpool2.component b/connectivity/source/cpool/dbpool2.component
new file mode 100644
index 000000000000..2fa8a144959c
--- /dev/null
+++ b/connectivity/source/cpool/dbpool2.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.sdbc.OConnectionPool">
+ <service name="com.sun.star.sdbc.ConnectionPool"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/cpool/exports.dxp b/connectivity/source/cpool/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/cpool/exports.dxp
+++ b/connectivity/source/cpool/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/cpool/makefile.mk b/connectivity/source/cpool/makefile.mk
index 1f6e49c6cbd7..9908a6d242cb 100644
--- a/connectivity/source/cpool/makefile.mk
+++ b/connectivity/source/cpool/makefile.mk
@@ -78,4 +78,10 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : target.mk
+ALLTAR : $(MISC)/dbpool2.component
+$(MISC)/dbpool2.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ dbpool2.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt dbpool2.component
diff --git a/connectivity/source/dbtools/dbtools.component b/connectivity/source/dbtools/dbtools.component
new file mode 100644
index 000000000000..08be953bb9d4
--- /dev/null
+++ b/connectivity/source/dbtools/dbtools.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="org.openoffice.comp.helper.DatabaseMetaDataResultSet">
+ <service name="com.sun.star.sdbc.ResultSet"/>
+ </implementation>
+ <implementation name="org.openoffice.comp.helper.ParameterSubstitution">
+ <service name="com.sun.star.sdb.ParameterSubstitution"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/dbtools/exports.dxp b/connectivity/source/dbtools/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/dbtools/exports.dxp
+++ b/connectivity/source/dbtools/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/dbtools/makefile.mk b/connectivity/source/dbtools/makefile.mk
index af4ac13e54cc..a73dae3d047d 100644
--- a/connectivity/source/dbtools/makefile.mk
+++ b/connectivity/source/dbtools/makefile.mk
@@ -95,3 +95,11 @@ $(MISC)$/$(SHL1TARGET).flt: makefile.mk
@echo _TI >$@
@echo _real >>$@
+
+ALLTAR : $(MISC)/dbtools.component
+
+$(MISC)/dbtools.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ dbtools.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt dbtools.component
diff --git a/connectivity/source/drivers/adabas/BDriver.cxx b/connectivity/source/drivers/adabas/BDriver.cxx
index e9a0798761b9..fc92ebb38b0c 100644
--- a/connectivity/source/drivers/adabas/BDriver.cxx
+++ b/connectivity/source/drivers/adabas/BDriver.cxx
@@ -48,9 +48,7 @@
#include <memory>
#include <sys/stat.h>
-#if defined(MAC)
-const char sNewLine = '\015';
-#elif defined(UNX)
+#if defined(UNX)
const char sNewLine = '\012';
#else
const char sNewLine[] = "\015\012"; // \015\012 and not \n
@@ -464,8 +462,10 @@ void SAL_CALL ODriver::createCatalog( const Sequence< PropertyValue >& info ) th
{
TDatabaseStruct aDBInfo;
fillInfo(info,aDBInfo);
- static char envName[] = "DBSERVICE=0";
- putenv( envName );
+
+ ::rtl::OUString envVar(RTL_CONSTASCII_USTRINGPARAM("DBSERVICE"));
+ ::rtl::OUString envData(RTL_CONSTASCII_USTRINGPARAM("0"));
+ osl_setEnvironment(envVar.pData, envData.pData);
m_sDbRunDir = m_sDbWorkURL + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/wrk/")) + aDBInfo.sDBName;
String sTemp;
@@ -854,7 +854,7 @@ void ODriver::createNeededDirs(const ::rtl::OUString& sDBName)
if(UCBContentHelper::Exists(sTemp))
UCBContentHelper::Kill(sTemp);
-#if !(defined(WIN) || defined(WNT))
+#if !(defined(WNT))
sTemp = sDBConfig;
sTemp += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("diag"));
if(!UCBContentHelper::IsFolder(sTemp))
@@ -876,7 +876,7 @@ void ODriver::createNeededDirs(const ::rtl::OUString& sDBName)
void ODriver::clearDatabase(const ::rtl::OUString& sDBName)
{ // stop the database
::rtl::OUString sCommand;
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
::rtl::OUString sStop = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("stop"));
OArgumentList aArgs(2,&sDBName,&sStop);
sCommand = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("x_cons.exe"));
@@ -921,7 +921,7 @@ void ODriver::createDb( const TDatabaseStruct& _aInfo)
PutParam(_aInfo.sDBName,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("KERNELTRACESIZE")),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("100")));
PutParam(_aInfo.sDBName,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("LOG_QUEUE_PAGES")),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("10")));
-#if !(defined(WIN) || defined(WNT))
+#if !defined(WNT)
PutParam(_aInfo.sDBName,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("OPMSG1")),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/dev/null")));
#endif
@@ -989,7 +989,7 @@ int ODriver::X_PARAM(const ::rtl::OUString& _DBNAME,
::std::auto_ptr<SvStream> pFileStream( UcbStreamHelper::CreateStream(sCommandFile,STREAM_STD_READWRITE));
pFileStream->Seek(STREAM_SEEK_TO_END);
(*pFileStream) << "x_param"
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
<< ".exe"
#endif
<< " -d "
@@ -1000,7 +1000,7 @@ int ODriver::X_PARAM(const ::rtl::OUString& _DBNAME,
<< ::rtl::OString(_PWD,_PWD.getLength(),gsl_getSystemTextEncoding())
<< " "
<< ::rtl::OString(_CMD,_CMD.getLength(),gsl_getSystemTextEncoding())
-#if (defined(WIN) || defined(WNT))
+#if defined(WNT)
#if (OSL_DEBUG_LEVEL > 1) || defined(DBG_UTIL)
<< " >> %DBWORK%\\create.log 2>&1"
#endif
@@ -1050,7 +1050,7 @@ void ODriver::PutParam(const ::rtl::OUString& sDBName,
{
OArgumentList aArgs(3,&sDBName,&rWhat,&rHow);
::rtl::OUString sCommand = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("putparam"));
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
sCommand += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(".exe"));
#endif
@@ -1112,7 +1112,7 @@ OSL_TRACE("CreateFile %d",_nSize);
int ODriver::X_START(const ::rtl::OUString& sDBName)
{
::rtl::OUString sCommand;
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
::rtl::OUString sArg1 = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-d"));
::rtl::OUString sArg3 = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-NoDBService"));
@@ -1150,7 +1150,7 @@ int ODriver::X_START(const ::rtl::OUString& sDBName)
int ODriver::X_STOP(const ::rtl::OUString& sDBName)
{
::rtl::OUString sCommand;
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
::rtl::OUString sArg1 = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-d"));
::rtl::OUString sArg2 = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-NoDBService"));
@@ -1195,7 +1195,7 @@ void ODriver::XUTIL(const ::rtl::OUString& _rParam,
::std::auto_ptr<SvStream> pFileStream( UcbStreamHelper::CreateStream(sCommandFile,STREAM_STD_READWRITE));
pFileStream->Seek(STREAM_SEEK_TO_END);
(*pFileStream) <<
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
"xutil.exe"
#else
"utility"
@@ -1248,7 +1248,7 @@ void ODriver::LoadBatch(const ::rtl::OUString& sDBName,
::std::auto_ptr<SvStream> pFileStream( UcbStreamHelper::CreateStream(sCommandFile,STREAM_STD_READWRITE));
pFileStream->Seek(STREAM_SEEK_TO_END);
(*pFileStream) << "xload"
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
<< ".exe"
#endif
<< " -d "
@@ -1317,7 +1317,7 @@ void ODriver::fillEnvironmentVariables()
::rtl::OUString ODriver::generateInitFile() const
{
String sExt;
-#if !(defined(WIN) || defined(WNT))
+#if !defined(WNT)
sExt = String::CreateFromAscii(".sh");
#else
sExt = String::CreateFromAscii(".bat");
@@ -1325,13 +1325,13 @@ void ODriver::fillEnvironmentVariables()
String sWorkUrl(m_sDbWorkURL);
::utl::TempFile aCmdFile(String::CreateFromAscii("Init"),&sExt,&sWorkUrl);
-#if !(defined(WIN) || defined(WNT))
+#if !defined(WNT)
String sPhysicalPath;
LocalFileHelper::ConvertURLToPhysicalName(aCmdFile.GetURL(),sPhysicalPath);
chmod(ByteString(sPhysicalPath,gsl_getSystemTextEncoding()).GetBuffer(),S_IRUSR|S_IWUSR|S_IXUSR);
#endif
-#if !(defined(WIN) || defined(WNT))
+#if !defined(WNT)
SvStream* pFileStream = aCmdFile.GetStream(STREAM_WRITE);
(*pFileStream) << "#!/bin/sh"
<< sNewLine
@@ -1441,7 +1441,7 @@ void ODriver::X_CONS(const ::rtl::OUString& sDBName,const ::rtl::OString& _ACTIO
pFileStream->Seek(STREAM_SEEK_TO_END);
(*pFileStream) << "x_cons"
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
<< ".exe"
#endif
<< " "
@@ -1524,7 +1524,7 @@ sal_Bool ODriver::isVersion(const ::rtl::OUString& sDBName, const char* _pVersio
pFileStream->Seek(STREAM_SEEK_TO_END);
(*pFileStream) << "getparam"
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
<< ".exe"
#endif
<< " "
@@ -1574,7 +1574,7 @@ void ODriver::checkAndInsertNewDevSpace(const ::rtl::OUString& sDBName,
pFileStream->Seek(STREAM_SEEK_TO_END);
(*pFileStream) << "getparam"
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
<< ".exe"
#endif
<< " "
@@ -1654,7 +1654,7 @@ sal_Bool ODriver::isKernelVersion(const char* _pVersion)
// -----------------------------------------------------------------------------
void ODriver::installSystemTables( const TDatabaseStruct& _aInfo)
{
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
// xutil -d %_DBNAME% -u %_CONTROL_USER%,%_CONTROL_PWD% -b %m_sDbRoot%\env\TERMCHAR.ind
::rtl::OUString aBatch = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-b "));
::rtl::OUString sTemp2 = m_sDbRootURL + m_sDelimit
diff --git a/connectivity/source/drivers/adabas/BFunctions.cxx b/connectivity/source/drivers/adabas/BFunctions.cxx
index 3a57e4818e88..6d58c030a578 100644
--- a/connectivity/source/drivers/adabas/BFunctions.cxx
+++ b/connectivity/source/drivers/adabas/BFunctions.cxx
@@ -129,7 +129,7 @@ sal_Bool LoadLibrary_ADABAS(::rtl::OUString &_rPath)
}
const sal_Char* pLibraryAsciiName = NULL;
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
pLibraryAsciiName = "SQLOD32.DLL";
#elif ( defined(SOLARIS) && defined(SPARC)) || defined(LINUX)
pLibraryAsciiName = "odbclib.so";
diff --git a/connectivity/source/drivers/adabas/Bservices.cxx b/connectivity/source/drivers/adabas/Bservices.cxx
index be1d716e8cd0..d895fb72b391 100644
--- a/connectivity/source/drivers/adabas/Bservices.cxx
+++ b/connectivity/source/drivers/adabas/Bservices.cxx
@@ -29,13 +29,11 @@
#include "precompiled_connectivity.hxx"
#include "adabas/BDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::adabas;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -48,31 +46,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "ADABAS::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +96,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- ODriver::getImplementationName_Static(),
- ODriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "ODBC::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/connectivity/source/drivers/adabas/adabas.component b/connectivity/source/drivers/adabas/adabas.component
new file mode 100644
index 000000000000..3c359c3d0217
--- /dev/null
+++ b/connectivity/source/drivers/adabas/adabas.component
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sdbcx.adabas.ODriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ <service name="com.sun.star.sdbcx.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/adabas/adabas.mxp.map b/connectivity/source/drivers/adabas/adabas.mxp.map
index 2ce9f111412b..f64c44c13fce 100644
--- a/connectivity/source/drivers/adabas/adabas.mxp.map
+++ b/connectivity/source/drivers/adabas/adabas.mxp.map
@@ -1,5 +1,4 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
__mh_dylib_header
___builtin_delete
diff --git a/connectivity/source/drivers/adabas/exports.dxp b/connectivity/source/drivers/adabas/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/adabas/exports.dxp
+++ b/connectivity/source/drivers/adabas/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/adabas/makefile.mk b/connectivity/source/drivers/adabas/makefile.mk
index 9268f02a3b42..ffc3960391fd 100644
--- a/connectivity/source/drivers/adabas/makefile.mk
+++ b/connectivity/source/drivers/adabas/makefile.mk
@@ -104,3 +104,11 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/adabas.component
+
+$(MISC)/adabas.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ adabas.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt adabas.component
diff --git a/connectivity/source/drivers/ado/Aservices.cxx b/connectivity/source/drivers/ado/Aservices.cxx
index 05ebd274be84..71d90f289a7d 100644
--- a/connectivity/source/drivers/ado/Aservices.cxx
+++ b/connectivity/source/drivers/ado/Aservices.cxx
@@ -29,13 +29,11 @@
#include "precompiled_connectivity.hxx"
#include "ado/ADriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::ado;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -48,31 +46,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "ADO::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -122,31 +95,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- ODriver::getImplementationName_Static(),
- ODriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "ADO::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/connectivity/source/drivers/ado/ado.component b/connectivity/source/drivers/ado/ado.component
new file mode 100644
index 000000000000..1962a6b710a7
--- /dev/null
+++ b/connectivity/source/drivers/ado/ado.component
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sdbc.ado.ODriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ <service name="com.sun.star.sdbcx.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/ado/exports.dxp b/connectivity/source/drivers/ado/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/ado/exports.dxp
+++ b/connectivity/source/drivers/ado/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/ado/makefile.mk b/connectivity/source/drivers/ado/makefile.mk
index 33e470648219..2b3c91a2010c 100644
--- a/connectivity/source/drivers/ado/makefile.mk
+++ b/connectivity/source/drivers/ado/makefile.mk
@@ -112,3 +112,11 @@ dummy:
# --- Targets ----------------------------------
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/ado.component
+
+$(MISC)/ado.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ado.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ado.component
diff --git a/connectivity/source/drivers/calc/Cservices.cxx b/connectivity/source/drivers/calc/Cservices.cxx
index b172d9d4cf88..5f0338b55aae 100644
--- a/connectivity/source/drivers/calc/Cservices.cxx
+++ b/connectivity/source/drivers/calc/Cservices.cxx
@@ -29,13 +29,11 @@
#include "precompiled_connectivity.hxx"
#include "calc/CDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::calc;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -48,31 +46,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "FILE::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +96,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- ODriver::getImplementationName_Static(),
- ODriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "FILE::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/connectivity/source/drivers/calc/calc.component b/connectivity/source/drivers/calc/calc.component
new file mode 100644
index 000000000000..be949f70de14
--- /dev/null
+++ b/connectivity/source/drivers/calc/calc.component
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sdbc.calc.ODriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ <service name="com.sun.star.sdbcx.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/calc/exports.dxp b/connectivity/source/drivers/calc/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/calc/exports.dxp
+++ b/connectivity/source/drivers/calc/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/calc/makefile.mk b/connectivity/source/drivers/calc/makefile.mk
index 8e193524aa45..a7393b3c8e82 100644
--- a/connectivity/source/drivers/calc/makefile.mk
+++ b/connectivity/source/drivers/calc/makefile.mk
@@ -94,3 +94,11 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/calc.component
+
+$(MISC)/calc.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ calc.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt calc.component
diff --git a/connectivity/source/drivers/dbase/DTable.cxx b/connectivity/source/drivers/dbase/DTable.cxx
index 157d1f7b68fa..011d0e89ce7a 100644
--- a/connectivity/source/drivers/dbase/DTable.cxx
+++ b/connectivity/source/drivers/dbase/DTable.cxx
@@ -1432,16 +1432,8 @@ BOOL ODbaseTable::CreateMemoFile(const INetURLObject& aFile)
char aBuffer[512]; // write buffer
memset(aBuffer,0,sizeof(aBuffer));
-#ifdef WIN
- m_pMemoStream->Seek(0L);
- for (UINT16 i = 0; i < 512; i++)
- {
- (*m_pMemoStream) << BYTE(0);
- }
-#else
m_pMemoStream->SetFiller('\0');
m_pMemoStream->SetStreamSize(512);
-#endif
m_pMemoStream->Seek(0L);
(*m_pMemoStream) << long(1); // Zeiger auf ersten freien Block
diff --git a/connectivity/source/drivers/dbase/Dservices.cxx b/connectivity/source/drivers/dbase/Dservices.cxx
index 831329a1feba..74019abe364d 100644
--- a/connectivity/source/drivers/dbase/Dservices.cxx
+++ b/connectivity/source/drivers/dbase/Dservices.cxx
@@ -29,13 +29,11 @@
#include "precompiled_connectivity.hxx"
#include "dbase/DDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::dbase;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -48,31 +46,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "FILE::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +96,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- ODriver::getImplementationName_Static(),
- ODriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "FILE::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/connectivity/source/drivers/dbase/dbase.component b/connectivity/source/drivers/dbase/dbase.component
new file mode 100644
index 000000000000..7f913f083680
--- /dev/null
+++ b/connectivity/source/drivers/dbase/dbase.component
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sdbc.dbase.ODriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ <service name="com.sun.star.sdbcx.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/dbase/dbase.mxp.map b/connectivity/source/drivers/dbase/dbase.mxp.map
index c5b4377b04c3..87eccc45b66a 100644
--- a/connectivity/source/drivers/dbase/dbase.mxp.map
+++ b/connectivity/source/drivers/dbase/dbase.mxp.map
@@ -1,5 +1,4 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
__mh_dylib_header
___builtin_delete
diff --git a/connectivity/source/drivers/dbase/exports.dxp b/connectivity/source/drivers/dbase/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/dbase/exports.dxp
+++ b/connectivity/source/drivers/dbase/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/dbase/makefile.mk b/connectivity/source/drivers/dbase/makefile.mk
index f855cf1f4554..62b7ae96f8fa 100644
--- a/connectivity/source/drivers/dbase/makefile.mk
+++ b/connectivity/source/drivers/dbase/makefile.mk
@@ -127,3 +127,11 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/dbase.component
+
+$(MISC)/dbase.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ dbase.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt dbase.component
diff --git a/connectivity/source/drivers/evoab/LServices.cxx b/connectivity/source/drivers/evoab/LServices.cxx
index 4ae9d4b9113b..29a19e9168eb 100644
--- a/connectivity/source/drivers/evoab/LServices.cxx
+++ b/connectivity/source/drivers/evoab/LServices.cxx
@@ -29,13 +29,11 @@
#include "precompiled_connectivity.hxx"
#include "LDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::evoab;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -48,31 +46,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "FILE::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +96,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- OEvoabDriver::getImplementationName_Static(),
- OEvoabDriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "FILE::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/connectivity/source/drivers/evoab/exports.dxp b/connectivity/source/drivers/evoab/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/evoab/exports.dxp
+++ b/connectivity/source/drivers/evoab/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/evoab2/NServices.cxx b/connectivity/source/drivers/evoab2/NServices.cxx
index c11eed9d6c61..555837d15a28 100644
--- a/connectivity/source/drivers/evoab2/NServices.cxx
+++ b/connectivity/source/drivers/evoab2/NServices.cxx
@@ -35,7 +35,6 @@ using namespace connectivity::evoab;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -48,31 +47,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "EVOAB::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +97,6 @@ extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnviron
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- OEvoabDriver::getImplementationName_Static(),
- OEvoabDriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "FILE::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/connectivity/source/drivers/evoab2/evoab.component b/connectivity/source/drivers/evoab2/evoab.component
new file mode 100644
index 000000000000..a99719388d13
--- /dev/null
+++ b/connectivity/source/drivers/evoab2/evoab.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.sdbc.evoab.OEvoabDriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/evoab2/makefile.mk b/connectivity/source/drivers/evoab2/makefile.mk
index e8a1cf96cddf..3f5b62903b7a 100644
--- a/connectivity/source/drivers/evoab2/makefile.mk
+++ b/connectivity/source/drivers/evoab2/makefile.mk
@@ -110,3 +110,11 @@ DEF1NAME= $(SHL1TARGET)
# --- Targets ----------------------------------
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/evoab.component
+
+$(MISC)/evoab.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ evoab.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt evoab.component
diff --git a/connectivity/source/drivers/file/FResultSet.cxx b/connectivity/source/drivers/file/FResultSet.cxx
index 421225b34935..c516b325ad9a 100644
--- a/connectivity/source/drivers/file/FResultSet.cxx
+++ b/connectivity/source/drivers/file/FResultSet.cxx
@@ -75,12 +75,7 @@ using namespace com::sun::star::sdbcx;
using namespace com::sun::star::container;
// Maximale Anzahl von Rows, die mit ORDER BY sortiert durchlaufen werden koennen:
-#if defined (WIN)
-#define MAX_KEYSET_SIZE 0x3ff0 // Etwas weniger als ein Segment, damit
- // noch Platz fuer Memory Debug-Informationen
-#else
#define MAX_KEYSET_SIZE 0x40000 // 256K
-#endif
namespace
{
@@ -942,9 +937,13 @@ again:
{
m_pTable->fetchRow(m_aEvaluateRow, rTableCols, sal_True,bRetrieveData || bHasRestriction);
- if ( (!m_bShowDeleted && m_aEvaluateRow->isDeleted())
- || (bHasRestriction && //!bShowDeleted && m_aEvaluateRow->isDeleted() ||// keine Anzeige von geloeschten Saetzen
- !m_pSQLAnalyzer->evaluateRestriction())) // Auswerten der Bedingungen
+ if ( ( !m_bShowDeleted
+ && m_aEvaluateRow->isDeleted()
+ )
+ || ( bHasRestriction
+ && !m_pSQLAnalyzer->evaluateRestriction()
+ )
+ )
{ // naechsten Satz auswerten
// aktuelle Zeile loeschen im Keyset
if (m_pEvaluationKeySet)
@@ -993,12 +992,14 @@ again:
// Evaluate darf nur gesetzt sein,
// wenn der Keyset weiter aufgebaut werden soll
- if (m_aSQLIterator.getStatementType() == SQL_STATEMENT_SELECT && !isCount() &&
- (m_pFileSet.isValid() || m_pSortIndex) && bEvaluate)
+ if ( ( m_aSQLIterator.getStatementType() == SQL_STATEMENT_SELECT )
+ && !isCount()
+ && bEvaluate
+ )
{
if (m_pSortIndex)
{
- OKeyValue* pKeyValue = GetOrderbyKeyValue(m_aEvaluateRow);
+ OKeyValue* pKeyValue = GetOrderbyKeyValue( m_aSelectRow );
m_pSortIndex->AddKeyValue(pKeyValue);
}
else if (m_pFileSet.isValid())
@@ -1049,7 +1050,7 @@ BOOL OResultSet::Move(IResultSetHelper::Movement eCursorPosition, INT32 nOffset,
//
INT32 nTempPos = m_nRowPos;
// exclusiver zugriff auf die Tabelle
- // NAMESPACE_VOS(OGuard)* pGuard = m_pTable->Lock();
+ // vos::OGuard* pGuard = m_pTable->Lock();
if (m_aSQLIterator.getStatementType() == SQL_STATEMENT_SELECT &&
!isCount())
@@ -1299,8 +1300,8 @@ void OResultSet::sortRows()
::std::vector<sal_Int32>::iterator aOrderByIter = m_aOrderbyColumnNumber.begin();
for (::std::vector<sal_Int16>::size_type i=0;aOrderByIter != m_aOrderbyColumnNumber.end(); ++aOrderByIter,++i)
{
- OSL_ENSURE((sal_Int32)m_aRow->get().size() > *aOrderByIter,"Invalid Index");
- switch ((*(m_aRow->get().begin()+*aOrderByIter))->getValue().getTypeKind())
+ OSL_ENSURE((sal_Int32)m_aSelectRow->get().size() > *aOrderByIter,"Invalid Index");
+ switch ((*(m_aSelectRow->get().begin()+*aOrderByIter))->getValue().getTypeKind())
{
case DataType::CHAR:
case DataType::VARCHAR:
@@ -1329,7 +1330,7 @@ void OResultSet::sortRows()
OSL_ASSERT("OFILECursor::Execute: Datentyp nicht implementiert");
break;
}
- (m_aEvaluateRow->get())[*aOrderByIter]->setBound(sal_True);
+ (m_aSelectRow->get())[*aOrderByIter]->setBound(sal_True);
}
m_pSortIndex = new OSortIndex(eKeyType,m_aOrderbyAscending);
@@ -1346,8 +1347,13 @@ void OResultSet::sortRows()
}
else
{
- while (ExecuteRow(IResultSetHelper::NEXT,1,TRUE))
+ while ( ExecuteRow( IResultSetHelper::NEXT, 1, FALSE, TRUE ) )
{
+ m_aSelectRow->get()[0]->setValue( m_aRow->get()[0]->getValue() );
+ if ( m_pSQLAnalyzer->hasFunctions() )
+ m_pSQLAnalyzer->setSelectionEvaluationResult( m_aSelectRow, m_aColMapping );
+ const sal_Int32 nBookmark = (*m_aRow->get().begin())->getValue();
+ ExecuteRow( IResultSetHelper::BOOKMARK, nBookmark, TRUE, FALSE );
}
}
@@ -1409,7 +1415,7 @@ BOOL OResultSet::OpenImpl()
m_nRowCountResult = -1;
// exclusiver zugriff auf die Tabelle
- // NAMESPACE_VOS(OGuard)* pGuard = pTable->Lock();
+ // vos::OGuard* pGuard = pTable->Lock();
m_nLastVisitedPos = m_pTable->getCurrentLastPos();
switch(m_aSQLIterator.getStatementType())
diff --git a/connectivity/source/drivers/file/FStatement.cxx b/connectivity/source/drivers/file/FStatement.cxx
index acc2059f15c7..52200553d042 100644
--- a/connectivity/source/drivers/file/FStatement.cxx
+++ b/connectivity/source/drivers/file/FStatement.cxx
@@ -451,19 +451,12 @@ void OStatement_Base::setOrderbyColumn( OSQLParseNode* pColumnRef,
return;
// Alles geprueft und wir haben den Namen der Column.
// Die wievielte Column ist das?
- try
- {
- m_aOrderbyColumnNumber.push_back(xColLocate->findColumn(aColumnName));
- }
- catch(Exception)
- {
- ::vos::ORef<OSQLColumns> aSelectColumns = m_aSQLIterator.getSelectColumns();
- ::comphelper::UStringMixEqual aCase;
- OSQLColumns::Vector::const_iterator aFind = ::connectivity::find(aSelectColumns->get().begin(),aSelectColumns->get().end(),aColumnName,aCase);
- if ( aFind == aSelectColumns->get().end() )
- throw SQLException();
- m_aOrderbyColumnNumber.push_back((aFind - aSelectColumns->get().begin()) + 1);
- }
+ ::vos::ORef<OSQLColumns> aSelectColumns = m_aSQLIterator.getSelectColumns();
+ ::comphelper::UStringMixEqual aCase;
+ OSQLColumns::Vector::const_iterator aFind = ::connectivity::find(aSelectColumns->get().begin(),aSelectColumns->get().end(),aColumnName,aCase);
+ if ( aFind == aSelectColumns->get().end() )
+ throw SQLException();
+ m_aOrderbyColumnNumber.push_back((aFind - aSelectColumns->get().begin()) + 1);
// Ascending or Descending?
m_aOrderbyAscending.push_back((SQL_ISTOKEN(pAscendingDescending,DESC)) ? SQL_DESC : SQL_ASC);
diff --git a/connectivity/source/drivers/file/fanalyzer.cxx b/connectivity/source/drivers/file/fanalyzer.cxx
index 7abf10191f21..8211e954a49f 100644
--- a/connectivity/source/drivers/file/fanalyzer.cxx
+++ b/connectivity/source/drivers/file/fanalyzer.cxx
@@ -103,7 +103,26 @@ void OSQLAnalyzer::start(OSQLParseNode* pSQLParseNode)
m_pConnection->throwGenericSQLException(STR_QUERY_COMPLEX_COUNT,NULL);
}
else
- m_aSelectionEvaluations.push_back( TPredicates() );
+ {
+ if ( SQL_ISPUNCTUATION( pColumnRef, "*" )
+ || ( SQL_ISRULE( pColumnRef, column_ref )
+ && ( pColumnRef->count() == 3 )
+ && ( pColumnRef->getChild(0)->getNodeType() == SQL_NODE_NAME )
+ && SQL_ISPUNCTUATION( pColumnRef->getChild(1), "." )
+ && SQL_ISRULE( pColumnRef->getChild(2), column_val )
+ && SQL_ISPUNCTUATION( pColumnRef->getChild(2)->getChild(0), "*" )
+ )
+ )
+ {
+ // push one element for each column of our table
+ const Reference< XNameAccess > xColumnNames( m_aCompiler->getOrigColumns() );
+ const Sequence< ::rtl::OUString > aColumnNames( xColumnNames->getElementNames() );
+ for ( sal_Int32 j=0; j<aColumnNames.getLength(); ++j )
+ m_aSelectionEvaluations.push_back( TPredicates() );
+ }
+ else
+ m_aSelectionEvaluations.push_back( TPredicates() );
+ }
}
}
}
@@ -291,11 +310,12 @@ void OSQLAnalyzer::setSelectionEvaluationResult(OValueRefRow& _pRow,const ::std:
{
if ( aIter->second.isValid() )
{
- sal_Int32 map = nPos;
// the first column (index 0) is for convenience only. The first real select column is no 1.
- if ( (nPos > 0) && (nPos < static_cast<sal_Int32>(_rColumnMapping.size())) )
+ sal_Int32 map = nPos;
+ if ( nPos < static_cast< sal_Int32 >( _rColumnMapping.size() ) )
map = _rColumnMapping[nPos];
- aIter->second->startSelection((_pRow->get())[map]);
+ if ( map > 0 )
+ aIter->second->startSelection( (_pRow->get())[map] );
}
}
}
diff --git a/connectivity/source/drivers/flat/Eservices.cxx b/connectivity/source/drivers/flat/Eservices.cxx
index a0445c1ca70f..30553af24cfc 100644
--- a/connectivity/source/drivers/flat/Eservices.cxx
+++ b/connectivity/source/drivers/flat/Eservices.cxx
@@ -29,13 +29,11 @@
#include "precompiled_connectivity.hxx"
#include "flat/EDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::flat;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -48,31 +46,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "FILE::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +96,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- ODriver::getImplementationName_Static(),
- ODriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "FILE::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/connectivity/source/drivers/flat/exports.dxp b/connectivity/source/drivers/flat/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/flat/exports.dxp
+++ b/connectivity/source/drivers/flat/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/flat/flat.component b/connectivity/source/drivers/flat/flat.component
new file mode 100644
index 000000000000..fe8b79ee73b8
--- /dev/null
+++ b/connectivity/source/drivers/flat/flat.component
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sdbc.flat.ODriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ <service name="com.sun.star.sdbcx.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/flat/flat.mxp.map b/connectivity/source/drivers/flat/flat.mxp.map
index 54a8532f7840..2737c61b5a57 100644
--- a/connectivity/source/drivers/flat/flat.mxp.map
+++ b/connectivity/source/drivers/flat/flat.mxp.map
@@ -1,5 +1,4 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
__mh_dylib_header
___builtin_delete
diff --git a/connectivity/source/drivers/flat/makefile.mk b/connectivity/source/drivers/flat/makefile.mk
index 2d1f99f759c7..23920f91c21d 100644
--- a/connectivity/source/drivers/flat/makefile.mk
+++ b/connectivity/source/drivers/flat/makefile.mk
@@ -105,3 +105,11 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/flat.component
+
+$(MISC)/flat.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ flat.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt flat.component
diff --git a/connectivity/source/drivers/hsqldb/HDriver.cxx b/connectivity/source/drivers/hsqldb/HDriver.cxx
index 14758afafb3f..a0b755c107c9 100644
--- a/connectivity/source/drivers/hsqldb/HDriver.cxx
+++ b/connectivity/source/drivers/hsqldb/HDriver.cxx
@@ -273,22 +273,38 @@ namespace connectivity
if ( pStream.get() )
{
ByteString sLine;
+ ByteString sVersionString;
while ( pStream->ReadLine(sLine) )
{
- if ( sLine.Equals("version=",0,sizeof("version=")-1) )
+ if ( sLine.Len() == 0 )
+ continue;
+ const ByteString sIniKey = sLine.GetToken( 0, '=' );
+ const ByteString sValue = sLine.GetToken( 1, '=' );
+ if ( sIniKey.Equals( "hsqldb.compatible_version" ) )
{
- sLine = sLine.GetToken(1,'=');
- const sal_Int32 nMajor = sLine.GetToken(0,'.').ToInt32();
- const sal_Int32 nMinor = sLine.GetToken(1,'.').ToInt32();
- const sal_Int32 nMicro = sLine.GetToken(2,'.').ToInt32();
- if ( nMajor > 1
- || ( nMajor == 1 && nMinor > 8 )
- || ( nMajor == 1 && nMinor == 8 && nMicro > 0 ) )
+ sVersionString = sValue;
+ }
+ else
+ {
+ if ( sIniKey.Equals( "version" )
+ && ( sVersionString.Len() == 0 )
+ )
{
- ::connectivity::SharedResources aResources;
- sMessage = aResources.getResourceString(STR_ERROR_NEW_VERSION);
+ sVersionString = sValue;
}
- break;
+ }
+ }
+ if ( sVersionString.Len() )
+ {
+ const sal_Int32 nMajor = sVersionString.GetToken(0,'.').ToInt32();
+ const sal_Int32 nMinor = sVersionString.GetToken(1,'.').ToInt32();
+ const sal_Int32 nMicro = sVersionString.GetToken(2,'.').ToInt32();
+ if ( nMajor > 1
+ || ( nMajor == 1 && nMinor > 8 )
+ || ( nMajor == 1 && nMinor == 8 && nMicro > 0 ) )
+ {
+ ::connectivity::SharedResources aResources;
+ sMessage = aResources.getResourceString(STR_ERROR_NEW_VERSION);
}
}
}
diff --git a/connectivity/source/drivers/hsqldb/HStorageMap.cxx b/connectivity/source/drivers/hsqldb/HStorageMap.cxx
index 57ed88b1dda8..91626906a906 100644
--- a/connectivity/source/drivers/hsqldb/HStorageMap.cxx
+++ b/connectivity/source/drivers/hsqldb/HStorageMap.cxx
@@ -135,7 +135,7 @@ namespace connectivity
::rtl::OUString StorageContainer::removeOldURLPrefix(const ::rtl::OUString& _sURL)
{
::rtl::OUString sRet = _sURL;
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
sal_Int32 nIndex = sRet.lastIndexOf('\\');
#else
sal_Int32 nIndex = sRet.lastIndexOf('/');
diff --git a/connectivity/source/drivers/hsqldb/Hservices.cxx b/connectivity/source/drivers/hsqldb/Hservices.cxx
index a3e783a3e9a7..ea0d452f1d05 100644
--- a/connectivity/source/drivers/hsqldb/Hservices.cxx
+++ b/connectivity/source/drivers/hsqldb/Hservices.cxx
@@ -30,13 +30,11 @@
#include "hsqldb/HDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::hsqldb;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -49,31 +47,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "ADABAS::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -124,31 +97,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- ODriverDelegator::getImplementationName_Static(),
- ODriverDelegator::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "ODBC::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/connectivity/source/drivers/hsqldb/exports.dxp b/connectivity/source/drivers/hsqldb/exports.dxp
index 7ff56f4f9977..3efc73741d24 100644
--- a/connectivity/source/drivers/hsqldb/exports.dxp
+++ b/connectivity/source/drivers/hsqldb/exports.dxp
@@ -1,5 +1,4 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
Java_com_sun_star_sdbcx_comp_hsqldb_StorageNativeOutputStream_openStream
Java_com_sun_star_sdbcx_comp_hsqldb_StorageNativeOutputStream_write__Ljava_lang_String_2Ljava_lang_String_2_3BII
diff --git a/connectivity/source/drivers/hsqldb/hsqldb.component b/connectivity/source/drivers/hsqldb/hsqldb.component
new file mode 100644
index 000000000000..eb8ae477e749
--- /dev/null
+++ b/connectivity/source/drivers/hsqldb/hsqldb.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.sdbcx.comp.hsqldb.Driver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ <service name="com.sun.star.sdbcx.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/hsqldb/hsqldb.map b/connectivity/source/drivers/hsqldb/hsqldb.map
index b4fc53b320ef..b611aba02d5b 100644
--- a/connectivity/source/drivers/hsqldb/hsqldb.map
+++ b/connectivity/source/drivers/hsqldb/hsqldb.map
@@ -1,7 +1,6 @@
UDK_3_0_0 {
global:
component_getImplementationEnvironment;
- component_writeInfo;
component_getFactory;
Java_com_sun_star_sdbcx_comp_hsqldb_StorageNativeOutputStream_openStream;
Java_com_sun_star_sdbcx_comp_hsqldb_StorageNativeOutputStream_write__Ljava_lang_String_2Ljava_lang_String_2_3BII;
diff --git a/connectivity/source/drivers/hsqldb/makefile.mk b/connectivity/source/drivers/hsqldb/makefile.mk
index e1a953055c04..5be6fa08cd7b 100644
--- a/connectivity/source/drivers/hsqldb/makefile.mk
+++ b/connectivity/source/drivers/hsqldb/makefile.mk
@@ -115,3 +115,11 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/hsqldb.component
+
+$(MISC)/hsqldb.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ hsqldb.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt hsqldb.component
diff --git a/connectivity/source/drivers/jdbc/exports.dxp b/connectivity/source/drivers/jdbc/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/jdbc/exports.dxp
+++ b/connectivity/source/drivers/jdbc/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/jdbc/jdbc.component b/connectivity/source/drivers/jdbc/jdbc.component
new file mode 100644
index 000000000000..5d7db4690ba5
--- /dev/null
+++ b/connectivity/source/drivers/jdbc/jdbc.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.sdbc.JDBCDriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/jdbc/jdbc.mxp.map b/connectivity/source/drivers/jdbc/jdbc.mxp.map
index a4457e2478af..e02823e8c41b 100644
--- a/connectivity/source/drivers/jdbc/jdbc.mxp.map
+++ b/connectivity/source/drivers/jdbc/jdbc.mxp.map
@@ -1,5 +1,4 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
__mh_dylib_header
___builtin_delete
diff --git a/connectivity/source/drivers/jdbc/jservices.cxx b/connectivity/source/drivers/jdbc/jservices.cxx
index cadbbdcbcd49..85a8d37b9346 100644
--- a/connectivity/source/drivers/jdbc/jservices.cxx
+++ b/connectivity/source/drivers/jdbc/jservices.cxx
@@ -34,7 +34,6 @@ using namespace connectivity;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -47,31 +46,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pModCount
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "SBA::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -122,31 +96,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- java_sql_Driver::getImplementationName_Static(),
- java_sql_Driver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "SBA::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/connectivity/source/drivers/jdbc/makefile.mk b/connectivity/source/drivers/jdbc/makefile.mk
index 46619952163b..510daeac4a9f 100644
--- a/connectivity/source/drivers/jdbc/makefile.mk
+++ b/connectivity/source/drivers/jdbc/makefile.mk
@@ -110,3 +110,11 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/jdbc.component
+
+$(MISC)/jdbc.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ jdbc.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt jdbc.component
diff --git a/connectivity/source/drivers/kab/KServices.cxx b/connectivity/source/drivers/kab/KServices.cxx
index 5a0f4c3f9917..6b7a1a39a667 100644
--- a/connectivity/source/drivers/kab/KServices.cxx
+++ b/connectivity/source/drivers/kab/KServices.cxx
@@ -30,13 +30,11 @@
#include "KDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::kab;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -49,31 +47,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pTemp
);
-//***************************************************************************************
-//
-// The following C Api must be provided!
-// It consists in three functions that must be exported by the module
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "KAB::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +96,6 @@ extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnviron
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void*,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- KabDriver::getImplementationName_Static(),
- KabDriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "KAB::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/connectivity/source/drivers/kab/exports.dxp b/connectivity/source/drivers/kab/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/kab/exports.dxp
+++ b/connectivity/source/drivers/kab/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/kab/kab1.component b/connectivity/source/drivers/kab/kab1.component
new file mode 100644
index 000000000000..77227501d36c
--- /dev/null
+++ b/connectivity/source/drivers/kab/kab1.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.sdbc.kab.Driver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/kab/makefile.mk b/connectivity/source/drivers/kab/makefile.mk
index 2a0dc5cd8999..c085cddb2d3b 100644
--- a/connectivity/source/drivers/kab/makefile.mk
+++ b/connectivity/source/drivers/kab/makefile.mk
@@ -46,6 +46,9 @@ CFLAGS+=$(KDE_CFLAGS)
.IF "$(KDE_ROOT)"!=""
EXTRALIBPATHS+=-L$(KDE_ROOT)$/lib
+.IF "$(OS)$(CPU)" == "LINUXX"
+EXTRALIBPATHS+=-L$(KDE_ROOT)$/lib64
+.ENDIF
.ENDIF
# === KAB base library ==========================
@@ -135,3 +138,11 @@ dummy:
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/kab1.component
+
+$(MISC)/kab1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ kab1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt kab1.component
diff --git a/connectivity/source/drivers/macab/MacabServices.cxx b/connectivity/source/drivers/macab/MacabServices.cxx
index b3c303324302..9d2e2faa0ca1 100755
--- a/connectivity/source/drivers/macab/MacabServices.cxx
+++ b/connectivity/source/drivers/macab/MacabServices.cxx
@@ -30,13 +30,11 @@
#include "MacabDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::macab;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -49,31 +47,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pTemp
);
-//***************************************************************************************
-//
-// The following C Api must be provided!
-// It consists in three functions that must be exported by the module
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "MACAB::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +96,6 @@ extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnviron
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void*,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- MacabDriver::getImplementationName_Static(),
- MacabDriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "MACAB::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/connectivity/source/drivers/macab/exports.dxp b/connectivity/source/drivers/macab/exports.dxp
index 9630d7e06768..f0e1c69934bc 100755
--- a/connectivity/source/drivers/macab/exports.dxp
+++ b/connectivity/source/drivers/macab/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/macab/macab1.component b/connectivity/source/drivers/macab/macab1.component
new file mode 100644
index 000000000000..0a120c041883
--- /dev/null
+++ b/connectivity/source/drivers/macab/macab1.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.sdbc.macab.Driver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/macab/makefile.mk b/connectivity/source/drivers/macab/makefile.mk
index 35532b15ec2d..0565d3171329 100755
--- a/connectivity/source/drivers/macab/makefile.mk
+++ b/connectivity/source/drivers/macab/makefile.mk
@@ -127,3 +127,11 @@ dummy:
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/macab1.component
+
+$(MISC)/macab1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ macab1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt macab1.component
diff --git a/connectivity/source/drivers/mozab/MDriver.cxx b/connectivity/source/drivers/mozab/MDriver.cxx
index b0757a201844..37562fa57d57 100644
--- a/connectivity/source/drivers/mozab/MDriver.cxx
+++ b/connectivity/source/drivers/mozab/MDriver.cxx
@@ -249,7 +249,7 @@ EDriverType MozabDriver::impl_classifyURL( const ::rtl::OUString& url )
const sal_Char* pScheme;
} aSchemeMap[] =
{
-#if defined(WNT) || defined(WIN)
+#if defined(WNT)
{ Outlook, "outlook" },
{ OutlookExpress, "outlookexp" },
#endif
diff --git a/connectivity/source/drivers/mozab/MServices.cxx b/connectivity/source/drivers/mozab/MServices.cxx
index 4e595dad57ed..d6a280985969 100644
--- a/connectivity/source/drivers/mozab/MServices.cxx
+++ b/connectivity/source/drivers/mozab/MServices.cxx
@@ -39,7 +39,6 @@ using namespace connectivity::mozab;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
using ::com::sun::star::mozilla::XMozillaBootstrap;
@@ -53,31 +52,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pTemp
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString( RTL_CONSTASCII_USTRINGPARAM("/"));
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString( RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "MOZAB::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -127,37 +101,6 @@ component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
-
- REGISTER_PROVIDER(
- MozabDriver::getImplementationName_Static(),
- MozabDriver::getSupportedServiceNames_Static(), xKey);
-
- Sequence< ::rtl::OUString > aSNS( 1 );
- aSNS[0] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.mozilla.MozillaBootstrap"));
- REGISTER_PROVIDER(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.mozilla.MozillaBootstrap")),
- aSNS, xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "Mozab::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
typedef void* (SAL_CALL * OMozillaBootstrap_CreateInstanceFunction)(const Reference< XMultiServiceFactory >& _rxFactory );
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createMozillaBootstrap(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory) throw( ::com::sun::star::uno::Exception )
{
diff --git a/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.cxx b/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.cxx
index 3a7c169d467d..aeef289bae20 100644
--- a/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.cxx
+++ b/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.cxx
@@ -238,7 +238,6 @@ Sequence< ::rtl::OUString > SAL_CALL MozillaBootstrap::getSupportedServiceNames(
#include <cppuhelper/factory.hxx>
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -251,50 +250,6 @@ component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const ::rtl::OUString& aServiceImplName,
- const Sequence< ::rtl::OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- ::rtl::OUString aMainKeyName;
- aMainKeyName = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/"));
- aMainKeyName += aServiceImplName;
- aMainKeyName += ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "MOZAB::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- Sequence< ::rtl::OUString > aSNS( 1 );
- aSNS[0] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.mozilla.MozillaBootstrap"));
- REGISTER_PROVIDER(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.mozilla.MozillaBootstrap")),
- aSNS, xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "Mozab::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
-
static Reference< XInterface > SAL_CALL createInstance( const Reference< XMultiServiceFactory >& rServiceManager )
{
MozillaBootstrap * pBootstrap = reinterpret_cast<MozillaBootstrap*>(OMozillaBootstrap_CreateInstance(rServiceManager));
diff --git a/connectivity/source/drivers/mozab/bootstrap/MNSFolders.cxx b/connectivity/source/drivers/mozab/bootstrap/MNSFolders.cxx
index a5d3211fecab..90ba51c29d4d 100644
--- a/connectivity/source/drivers/mozab/bootstrap/MNSFolders.cxx
+++ b/connectivity/source/drivers/mozab/bootstrap/MNSFolders.cxx
@@ -51,14 +51,6 @@ using namespace ::com::sun::star::mozilla;
namespace
{
- #if defined(XP_MAC) || defined(XP_MACOSX) || defined(MACOSX)
- #define APP_REGISTRY_NAME "Application Registry"
- #elif defined(XP_WIN) || defined(XP_OS2)
- #define APP_REGISTRY_NAME "registry.dat"
- #else
- #define APP_REGISTRY_NAME "appreg"
- #endif
-
// -------------------------------------------------------------------
static ::rtl::OUString lcl_getUserDataDirectory()
{
@@ -73,15 +65,15 @@ namespace
static const char* DefaultProductDir[3][3] =
{
#if defined(XP_WIN)
- { "Mozilla/", NULL, NULL },
+ { "Mozilla/SeaMonkey/", NULL, NULL },
{ "Mozilla/Firefox/", NULL, NULL },
{ "Thunderbird/", "Mozilla/Thunderbird/", NULL }
#elif(MACOSX)
- { "../Mozilla/", NULL, NULL },
+ { "../Mozilla/SeaMonkey/", NULL, NULL },
{ "Firefox/", NULL, NULL },
{ "../Thunderbird/", NULL, NULL }
#else
- { ".mozilla/", NULL, NULL },
+ { ".mozilla/seamonkey/", NULL, NULL },
{ ".mozilla/firefox/", NULL, NULL },
{ ".thunderbird/", ".mozilla-thunderbird/", ".mozilla/thunderbird/" }
#endif
@@ -115,7 +107,7 @@ namespace
else
{
::rtl::OUString sProductDirCandidate;
- const char* pProfileRegistry = ( _product == MozillaProductType_Mozilla ) ? APP_REGISTRY_NAME : "profiles.ini";
+ const char* pProfileRegistry = "profiles.ini";
// check all possible candidates
for ( size_t i=0; i<3; ++i )
@@ -159,13 +151,3 @@ namespace
return lcl_guessProfileRoot( product );
}
-#ifndef MINIMAL_PROFILEDISCOVER
-// -----------------------------------------------------------------------
-::rtl::OUString getRegistryFileName(MozillaProductType product)
-{
- if (product == MozillaProductType_Default)
- return ::rtl::OUString();
-
- return getRegistryDir(product) + ::rtl::OUString::createFromAscii(APP_REGISTRY_NAME);
-}
-#endif
diff --git a/connectivity/source/drivers/mozab/bootstrap/MNSFolders.hxx b/connectivity/source/drivers/mozab/bootstrap/MNSFolders.hxx
index d69a5e3435bf..c12894d30684 100644
--- a/connectivity/source/drivers/mozab/bootstrap/MNSFolders.hxx
+++ b/connectivity/source/drivers/mozab/bootstrap/MNSFolders.hxx
@@ -38,9 +38,6 @@
#include <rtl/ustring.hxx>
::rtl::OUString getRegistryDir(::com::sun::star::mozilla::MozillaProductType product);
-#ifndef MINIMAL_PROFILEDISCOVER
-::rtl::OUString getRegistryFileName(::com::sun::star::mozilla::MozillaProductType product);
-#endif
#endif
diff --git a/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx b/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx
index aa20fb04a089..a9cd5c62fe0b 100644
--- a/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx
+++ b/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx
@@ -144,11 +144,8 @@ namespace connectivity
sal_Int32 ProfileAccess::LoadProductsInfo()
{
-#ifndef MINIMAL_PROFILEDISCOVER
- //load mozilla profiles to m_ProductProfileList
- LoadMozillaProfiles();
-#endif
- sal_Int32 count=static_cast<sal_Int32>(m_ProductProfileList[MozillaProductType_Mozilla].mProfileList.size());
+ //load SeaMonkey 2 profiles to m_ProductProfileList
+ sal_Int32 count = LoadXPToolkitProfiles(MozillaProductType_Mozilla);
//load thunderbird profiles to m_ProductProfileList
count += LoadXPToolkitProfiles(MozillaProductType_Thunderbird);
@@ -158,117 +155,6 @@ namespace connectivity
count += LoadXPToolkitProfiles(MozillaProductType_Firefox);
return count;
}
-#ifndef MINIMAL_PROFILEDISCOVER
- nsresult ProfileAccess::LoadMozillaProfiles()
- {
- sal_Int32 index=MozillaProductType_Mozilla;
- ProductStruct &m_Product = m_ProductProfileList[index];
- nsresult rv = NS_OK;
-
- //step 1 : get mozilla registry file
- nsCOMPtr<nsILocalFile> localFile;
- ::rtl::OUString regDir( getRegistryFileName( MozillaProductType_Mozilla ) );
- // PRUnichar != sal_Unicode in mingw
- nsAutoString registryDir(reinterpret_cast_mingw_only<const PRUnichar *>(regDir.getStr()));
- rv = NS_NewLocalFile(registryDir, PR_TRUE,
- getter_AddRefs(localFile));
- NS_ENSURE_SUCCESS(rv,rv);
- PRBool bExist;
- rv = localFile->Exists(&bExist);
- NS_ENSURE_SUCCESS(rv,rv);
- if (!bExist)
- return rv;
- nsCOMPtr<nsIRegistry> registry(do_CreateInstance(NS_REGISTRY_CONTRACTID, &rv));
- NS_ENSURE_SUCCESS(rv,rv);
- //step 2: open mozilla registry file
- rv = registry->Open(localFile);
- NS_ENSURE_SUCCESS(rv,rv);
-
- nsCOMPtr<nsIEnumerator> enumKeys;
- nsRegistryKey profilesTreeKey;
-
- //step 3:Enumerator it
- rv = registry->GetKey(nsIRegistry::Common,
- // PRUnichar != sal_Unicode in mingw
- reinterpret_cast_mingw_only<const PRUnichar *>(szProfileSubtreeString.getStr()),
- &profilesTreeKey);
- if (NS_FAILED(rv)) return rv;
-
- nsXPIDLString tmpCurrentProfile;
-
- // Get the current profile
- rv = registry->GetString(profilesTreeKey,
- // PRUnichar != sal_Unicode in mingw
- reinterpret_cast_mingw_only<const PRUnichar *>(szCurrentProfileString.getStr()),
- getter_Copies(tmpCurrentProfile));
-
- if (tmpCurrentProfile)
- {
- // PRUnichar != sal_Unicode in mingw
- m_Product.setCurrentProfile ( reinterpret_cast_mingw_only<const sal_Unicode *>(NS_STATIC_CAST(const PRUnichar*, tmpCurrentProfile)));
- }
-
-
- rv = registry->EnumerateSubtrees( profilesTreeKey, getter_AddRefs(enumKeys));
- NS_ENSURE_SUCCESS(rv,rv);
-
- rv = enumKeys->First();
- NS_ENSURE_SUCCESS(rv,rv);
-
- while (NS_OK != enumKeys->IsDone())
- {
- nsCOMPtr<nsISupports> base;
-
- rv = enumKeys->CurrentItem( getter_AddRefs(base) );
- NS_ENSURE_SUCCESS(rv,rv);
- rv = enumKeys->Next();
- NS_ENSURE_SUCCESS(rv,rv);
-
- // Get specific interface.
- nsCOMPtr <nsIRegistryNode> node;
- nsIID nodeIID = NS_IREGISTRYNODE_IID;
-
- rv = base->QueryInterface( nodeIID, getter_AddRefs(node));
- if (NS_FAILED(rv)) continue;
-
- // Get node name.
- nsXPIDLString profile;
- rv = node->GetName(getter_Copies(profile));
- if (NS_FAILED(rv)) continue;
-
- nsRegistryKey profKey;
- rv = node->GetKey(&profKey);
- if (NS_FAILED(rv)) continue;
-
-
- nsCOMPtr<nsILocalFile> tempLocal;
-
- nsXPIDLString regData;
- rv = registry->GetString(profKey,
- // PRUnichar != sal_Unicode in mingw
- reinterpret_cast_mingw_only<const PRUnichar *>(szDirectoryString.getStr()),
- getter_Copies(regData));
- if (NS_FAILED(rv)) continue;
-
-#if defined(XP_MAC) || defined(XP_MACOSX) || defined(MACOSX)
- rv = NS_NewNativeLocalFile(nsCString(), PR_TRUE, getter_AddRefs(tempLocal));
- if (NS_SUCCEEDED(rv))
- rv = tempLocal->SetPersistentDescriptor(NS_LossyConvertUCS2toASCII(regData));
-#else
- rv = NS_NewLocalFile(regData, PR_TRUE, getter_AddRefs(tempLocal));
-#endif
- //Add found profile to profile lists
- if (NS_SUCCEEDED(rv) && tempLocal)
- {
- // PRUnichar != sal_Unicode in mingw
- ProfileStruct* profileItem = new ProfileStruct(MozillaProductType_Mozilla,reinterpret_cast_mingw_only<const sal_Unicode *>(NS_STATIC_CAST(const PRUnichar*, profile)),tempLocal);
- m_Product.mProfileList[profileItem->getProfileName()] = profileItem;
- }
-
- }
- return rv;
- }
-#endif
//Thunderbird and firefox profiles are saved in profiles.ini
sal_Int32 ProfileAccess::LoadXPToolkitProfiles(MozillaProductType product)
{
diff --git a/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.hxx b/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.hxx
index 9358cd65e650..6c88f04b1cf8 100644
--- a/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.hxx
+++ b/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.hxx
@@ -116,9 +116,6 @@ namespace connectivity
protected:
ProductStruct m_ProductProfileList[4];
sal_Int32 LoadProductsInfo();
-#ifndef MINIMAL_PROFILEDISCOVER
- nsresult LoadMozillaProfiles();
-#endif
sal_Int32 LoadXPToolkitProfiles(MozillaProductType product);
#ifndef MINIMAL_PROFILEDISCOVER
//used by isProfileLocked
diff --git a/connectivity/source/drivers/mozab/bootstrap/makefile.mk b/connectivity/source/drivers/mozab/bootstrap/makefile.mk
index 6a4172da205d..b44436e488ce 100644
--- a/connectivity/source/drivers/mozab/bootstrap/makefile.mk
+++ b/connectivity/source/drivers/mozab/bootstrap/makefile.mk
@@ -78,6 +78,14 @@ SHL1STDLIBS=\
$(SALLIB) \
$(COMPHELPERLIB)
+ALLTAR : $(MISC)/mozbootstrap.component
+
+$(MISC)/mozbootstrap.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt mozbootstrap.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt mozbootstrap.component
+
.ELSE
SLOFILES += \
$(SLO)$/MNSInit.obj \
@@ -90,4 +98,3 @@ SLOFILES += \
# --- Targets ----------------------------------
.INCLUDE : target.mk
-
diff --git a/connectivity/source/drivers/mozab/bootstrap/mozbootstrap.component b/connectivity/source/drivers/mozab/bootstrap/mozbootstrap.component
new file mode 100644
index 000000000000..5da158924a06
--- /dev/null
+++ b/connectivity/source/drivers/mozab/bootstrap/mozbootstrap.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.mozilla.MozillaBootstrap">
+ <service name="com.sun.star.mozilla.MozillaBootstrap"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/mozab/exports.dxp b/connectivity/source/drivers/mozab/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/mozab/exports.dxp
+++ b/connectivity/source/drivers/mozab/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/mozab/makefile.mk b/connectivity/source/drivers/mozab/makefile.mk
index b1e12fde6f8a..852560f1c9a7 100644
--- a/connectivity/source/drivers/mozab/makefile.mk
+++ b/connectivity/source/drivers/mozab/makefile.mk
@@ -184,3 +184,11 @@ $(MISC)$/$(SHL2TARGET).flt: makefile.mk
@echo _TI >$@
@echo _real >>$@
+
+ALLTAR : $(MISC)/mozab.component
+
+$(MISC)/mozab.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ mozab.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt mozab.component
diff --git a/connectivity/source/drivers/mozab/mozab.component b/connectivity/source/drivers/mozab/mozab.component
new file mode 100644
index 000000000000..70f5da3bfe72
--- /dev/null
+++ b/connectivity/source/drivers/mozab/mozab.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.comp.mozilla.MozillaBootstrap">
+ <service name="com.sun.star.mozilla.MozillaBootstrap"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.sdbc.MozabDriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/mozab/mozab.xcu b/connectivity/source/drivers/mozab/mozab.xcu
index c92209e09e5a..fa732d6257ae 100755
--- a/connectivity/source/drivers/mozab/mozab.xcu
+++ b/connectivity/source/drivers/mozab/mozab.xcu
@@ -62,7 +62,7 @@
<value>com.sun.star.comp.sdbc.MozabDriver</value>
</prop>
<prop oor:name="DriverTypeDisplayName" oor:type="xs:string">
- <value xml:lang="en-US">Mozilla Address Book</value>
+ <value xml:lang="en-US">SeaMonkey Address Book</value>
</prop>
<node oor:name="Features">
<node oor:name="EscapeDateTime" oor:op="replace">
diff --git a/connectivity/source/drivers/mozab/mozab2.xcu b/connectivity/source/drivers/mozab/mozab2.xcu
index e7c24143f5a1..d1a620dc73d0 100755
--- a/connectivity/source/drivers/mozab/mozab2.xcu
+++ b/connectivity/source/drivers/mozab/mozab2.xcu
@@ -32,7 +32,7 @@
<value>com.sun.star.comp.sdbc.MozabDriver</value>
</prop>
<prop oor:name="DriverTypeDisplayName" oor:type="xs:string">
- <value xml:lang="en-US">Mozilla Address Book</value>
+ <value xml:lang="en-US">SeaMonkey Address Book</value>
</prop>
<node oor:name="MetaData">
<node oor:name="SupportsBrowsing" oor:op="replace">
diff --git a/connectivity/source/drivers/mysql/Yservices.cxx b/connectivity/source/drivers/mysql/Yservices.cxx
index 0927f191e6e6..b892e2f51066 100644
--- a/connectivity/source/drivers/mysql/Yservices.cxx
+++ b/connectivity/source/drivers/mysql/Yservices.cxx
@@ -29,13 +29,11 @@
#include "precompiled_connectivity.hxx"
#include "mysql/YDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::mysql;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -48,31 +46,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "ADABAS::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +96,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- ODriverDelegator::getImplementationName_Static(),
- ODriverDelegator::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "ODBC::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/connectivity/source/drivers/mysql/exports.dxp b/connectivity/source/drivers/mysql/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/mysql/exports.dxp
+++ b/connectivity/source/drivers/mysql/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/mysql/makefile.mk b/connectivity/source/drivers/mysql/makefile.mk
index fbb68321cb01..453f4b652f21 100644
--- a/connectivity/source/drivers/mysql/makefile.mk
+++ b/connectivity/source/drivers/mysql/makefile.mk
@@ -82,3 +82,11 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/mysql.component
+
+$(MISC)/mysql.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ mysql.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt mysql.component
diff --git a/connectivity/source/drivers/mysql/mysql.component b/connectivity/source/drivers/mysql/mysql.component
new file mode 100644
index 000000000000..ced2297fa07f
--- /dev/null
+++ b/connectivity/source/drivers/mysql/mysql.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="org.openoffice.comp.drivers.MySQL.Driver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ <service name="com.sun.star.sdbcx.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/odbc/OFunctions.cxx b/connectivity/source/drivers/odbc/OFunctions.cxx
index d84c55787635..148c79ebadd4 100644
--- a/connectivity/source/drivers/odbc/OFunctions.cxx
+++ b/connectivity/source/drivers/odbc/OFunctions.cxx
@@ -109,10 +109,6 @@ sal_Bool LoadLibrary_ODBC3(::rtl::OUString &_rPath)
if (bLoaded)
return sal_True;
-#ifdef WIN
- _rPath = ::rtl::OUString::createFromAscii("ODBC.DLL");
-
-#endif
#ifdef WNT
_rPath = ::rtl::OUString::createFromAscii("ODBC32.DLL");
#endif
diff --git a/connectivity/source/drivers/odbc/makefile.mk b/connectivity/source/drivers/odbc/makefile.mk
index 508cbfb6df63..426c75bf0142 100644
--- a/connectivity/source/drivers/odbc/makefile.mk
+++ b/connectivity/source/drivers/odbc/makefile.mk
@@ -76,3 +76,11 @@ SHL1VERSIONMAP=$(SOLARENV)/src/component.map
# --- Targets ----------------------------------
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/odbc.component
+
+$(MISC)/odbc.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ odbc.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt odbc.component
diff --git a/connectivity/source/drivers/odbc/odbc.component b/connectivity/source/drivers/odbc/odbc.component
new file mode 100644
index 000000000000..d4e6bc127da2
--- /dev/null
+++ b/connectivity/source/drivers/odbc/odbc.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.sdbc.ODBCDriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/odbc/oservices.cxx b/connectivity/source/drivers/odbc/oservices.cxx
index 21bc448a5708..1347a00ea4d4 100644
--- a/connectivity/source/drivers/odbc/oservices.cxx
+++ b/connectivity/source/drivers/odbc/oservices.cxx
@@ -30,13 +30,11 @@
#include "ORealDriver.hxx"
#include "odbc/ODriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::odbc;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -49,31 +47,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pTemp
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "ODBC::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -124,31 +97,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- ODBCDriver::getImplementationName_Static(),
- ODBCDriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "ODBC::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/connectivity/source/inc/file/fcomp.hxx b/connectivity/source/inc/file/fcomp.hxx
index b46d24ddd089..7cbdb730258a 100644
--- a/connectivity/source/inc/file/fcomp.hxx
+++ b/connectivity/source/inc/file/fcomp.hxx
@@ -109,7 +109,7 @@ namespace connectivity
inline void startSelection(ORowSetValueDecoratorRef& _rVal)
{
- return evaluateSelection(m_rCompiler->m_aCodeList,_rVal);
+ evaluateSelection(m_rCompiler->m_aCodeList,_rVal);
}
diff --git a/connectivity/source/inc/odbc/OFunctiondefs.hxx b/connectivity/source/inc/odbc/OFunctiondefs.hxx
index 36c2a2f722da..25884342bf89 100644
--- a/connectivity/source/inc/odbc/OFunctiondefs.hxx
+++ b/connectivity/source/inc/odbc/OFunctiondefs.hxx
@@ -29,7 +29,7 @@
#ifndef _CONNECTIVITY_OFUNCTIONDEFS_HXX_
#define _CONNECTIVITY_OFUNCTIONDEFS_HXX_
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
#ifdef _MSC_VER
#pragma warning(push)
diff --git a/connectivity/source/manager/exports.dxp b/connectivity/source/manager/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/manager/exports.dxp
+++ b/connectivity/source/manager/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/manager/makefile.mk b/connectivity/source/manager/makefile.mk
index 52ec191ec836..4880407952f6 100644
--- a/connectivity/source/manager/makefile.mk
+++ b/connectivity/source/manager/makefile.mk
@@ -76,4 +76,10 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : target.mk
+ALLTAR : $(MISC)/sdbc2.component
+$(MISC)/sdbc2.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ sdbc2.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt sdbc2.component
diff --git a/connectivity/source/manager/mregistration.cxx b/connectivity/source/manager/mregistration.cxx
index f3bdf74c9574..16b88c071493 100644
--- a/connectivity/source/manager/mregistration.cxx
+++ b/connectivity/source/manager/mregistration.cxx
@@ -36,7 +36,6 @@
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::registry;
//==========================================================================
//= registration
@@ -51,38 +50,6 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(const
}
//---------------------------------------------------------------------------------------
-SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(void* /*_pServiceManager*/, com::sun::star::registry::XRegistryKey* _pRegistryKey)
-{
-
-
- sal_Bool bReturn = sal_False;
-
- try
- {
- ::rtl::OUString sMainKeyName = ::rtl::OUString::createFromAscii("/");
- sMainKeyName += ::drivermanager::OSDBCDriverManager::getImplementationName_static();
- sMainKeyName += ::rtl::OUString::createFromAscii("/UNO/SERVICES");
- Reference< XRegistryKey > xMainKey = _pRegistryKey->createKey(sMainKeyName);
- if (xMainKey.is())
- {
- Sequence< ::rtl::OUString > sServices(::drivermanager::OSDBCDriverManager::getSupportedServiceNames_static());
- const ::rtl::OUString* pBegin = sServices.getConstArray();
- const ::rtl::OUString* pEnd = pBegin + sServices.getLength();
- for (;pBegin != pEnd ; ++pBegin)
- xMainKey->createKey(*pBegin);
- bReturn = sal_True;
- }
- }
- catch(InvalidRegistryException&)
- {
- }
- catch(InvalidValueException&)
- {
- }
- return bReturn;
-}
-
-//---------------------------------------------------------------------------------------
SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(const sal_Char* _pImplName, ::com::sun::star::lang::XMultiServiceFactory* _pServiceManager, void* /*_pRegistryKey*/)
{
void* pRet = NULL;
diff --git a/connectivity/source/manager/sdbc.mxp.map b/connectivity/source/manager/sdbc.mxp.map
index 14e33ebafb65..431725adbbec 100644
--- a/connectivity/source/manager/sdbc.mxp.map
+++ b/connectivity/source/manager/sdbc.mxp.map
@@ -1,5 +1,4 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
__mh_dylib_header
___builtin_delete
diff --git a/connectivity/source/manager/sdbc2.component b/connectivity/source/manager/sdbc2.component
new file mode 100644
index 000000000000..6cce2b1d9fde
--- /dev/null
+++ b/connectivity/source/manager/sdbc2.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.sdbc.OSDBCDriverManager">
+ <service name="com.sun.star.sdbc.DriverManager"/>
+ </implementation>
+</component>