summaryrefslogtreecommitdiff
path: root/dbaccess/source/inc
diff options
context:
space:
mode:
Diffstat (limited to 'dbaccess/source/inc')
-rw-r--r--dbaccess/source/inc/apitools.hxx458
-rw-r--r--dbaccess/source/inc/cfg_reghelper.hxx63
-rw-r--r--dbaccess/source/inc/cfgstrings.hrc102
-rw-r--r--dbaccess/source/inc/constasciistring.hxx61
-rw-r--r--dbaccess/source/inc/dbadllapi.hxx45
-rw-r--r--dbaccess/source/inc/dbastrings.hrc54
-rw-r--r--dbaccess/source/inc/dbu_reghelper.hxx63
-rw-r--r--dbaccess/source/inc/dbustrings.hrc81
-rw-r--r--dbaccess/source/inc/dsntypes.hxx242
-rw-r--r--dbaccess/source/inc/flt_reghelper.hxx63
-rw-r--r--dbaccess/source/inc/registrationhelper.hxx171
-rw-r--r--dbaccess/source/inc/sdbtstrings.hrc45
-rw-r--r--dbaccess/source/inc/stringconstants.hrc433
-rw-r--r--dbaccess/source/inc/stringconstants.inc272
-rw-r--r--dbaccess/source/inc/xmlstrings.hrc48
15 files changed, 2201 insertions, 0 deletions
diff --git a/dbaccess/source/inc/apitools.hxx b/dbaccess/source/inc/apitools.hxx
new file mode 100644
index 000000000000..e377123c3eb6
--- /dev/null
+++ b/dbaccess/source/inc/apitools.hxx
@@ -0,0 +1,458 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: apitools.hxx,v $
+ * $Revision: 1.18 $
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _DBASHARED_APITOOLS_HXX_
+#define _DBASHARED_APITOOLS_HXX_
+
+#ifndef _CPPUHELPER_COMPONENT_HXX_
+#include <cppuhelper/component.hxx>
+#endif
+#ifndef _OSL_MUTEX_HXX_
+#include <osl/mutex.hxx>
+#endif
+#ifndef _CPPUHELPER_INTERFACECONTAINER_HXX_
+#include <cppuhelper/interfacecontainer.hxx>
+#endif
+#ifndef _OSL_DIAGNOSE_H_
+#include <osl/diagnose.h>
+#endif
+#ifndef _COMPHELPER_STLTYPES_HXX_
+#include <comphelper/stl_types.hxx>
+#endif
+#ifndef _CPPUHELPER_TYPEPROVIDER_HXX_
+#include <cppuhelper/typeprovider.hxx>
+#endif
+#ifndef _COMPHELPER_SEQUENCE_HXX_
+#include <comphelper/sequence.hxx>
+#endif
+
+//==================================================================================
+//= various typedefs
+//==================================================================================
+DECLARE_STL_VECTOR(::com::sun::star::uno::WeakReferenceHelper, OWeakRefArray);
+
+//==================================================================================
+//= OSubComponent - a component which holds a hard ref to it's parent
+//= and is been hold itself (by the parent) with a weak ref
+//==================================================================================
+class OSubComponent : public ::cppu::OComponentHelper
+{
+protected:
+ // the parent must support the tunnel implementation
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > m_xParent;
+ virtual ~OSubComponent();
+
+public:
+ OSubComponent(::osl::Mutex& _rMutex,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _xParent);
+
+// ::com::sun::star::lang::XTypeProvider
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::uno::XInterface
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType )
+ throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL acquire() throw();
+ virtual void SAL_CALL release() throw();
+
+ inline operator ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > () const
+ { return (::com::sun::star::uno::XWeak *)this; }
+
+};
+
+//==================================================================================
+//= helper for implementing the XServiceInfo interface
+
+//----------------------------------------------------------------------------------
+// (internal - not to be used outside - usually)
+#define IMPLEMENT_SERVICE_INFO_IMPLNAME(classname, implasciiname) \
+ ::rtl::OUString SAL_CALL classname::getImplementationName( ) throw (::com::sun::star::uno::RuntimeException) \
+ { \
+ return ::rtl::OUString::createFromAscii(implasciiname); \
+ } \
+
+#define IMPLEMENT_SERVICE_INFO_IMPLNAME_STATIC(classname, implasciiname) \
+ ::rtl::OUString SAL_CALL classname::getImplementationName( ) throw (::com::sun::star::uno::RuntimeException) \
+ { \
+ return getImplementationName_Static(); \
+ } \
+ ::rtl::OUString SAL_CALL classname::getImplementationName_Static( ) throw (::com::sun::star::uno::RuntimeException) \
+ { \
+ return ::rtl::OUString::createFromAscii(implasciiname); \
+ } \
+
+#define IMPLEMENT_SERVICE_INFO_SUPPORTS(classname) \
+ sal_Bool SAL_CALL classname::supportsService( const ::rtl::OUString& _rServiceName ) throw(::com::sun::star::uno::RuntimeException) \
+ { \
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > aSupported(getSupportedServiceNames()); \
+ const ::rtl::OUString* pSupported = aSupported.getConstArray(); \
+ for (sal_Int32 i=0; i<aSupported.getLength(); ++i, ++pSupported) \
+ if (pSupported->equals(_rServiceName)) \
+ return sal_True; \
+ \
+ return sal_False; \
+ } \
+
+#define IMPLEMENT_SERVICE_INFO_GETSUPPORTED1(classname, serviceasciiname) \
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL classname::getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException) \
+ { \
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > aSupported(1); \
+ aSupported[0] = ::rtl::OUString::createFromAscii(serviceasciiname); \
+ return aSupported; \
+ } \
+
+#define IMPLEMENT_SERVICE_INFO_GETSUPPORTED1_STATIC(classname, serviceasciiname) \
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL classname::getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException) \
+ { \
+ return getSupportedServiceNames_Static(); \
+ } \
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL classname::getSupportedServiceNames_Static( ) throw(::com::sun::star::uno::RuntimeException) \
+ { \
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > aSupported(1); \
+ aSupported[0] = ::rtl::OUString::createFromAscii(serviceasciiname); \
+ return aSupported; \
+ } \
+
+#define IMPLEMENT_SERVICE_INFO_GETSUPPORTED2_STATIC(classname, serviceasciiname1, serviceasciiname2) \
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL classname::getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException) \
+ { \
+ return getSupportedServiceNames_Static(); \
+ } \
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL classname::getSupportedServiceNames_Static( ) throw(::com::sun::star::uno::RuntimeException) \
+ { \
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > aSupported(2); \
+ aSupported[0] = ::rtl::OUString::createFromAscii(serviceasciiname1); \
+ aSupported[1] = ::rtl::OUString::createFromAscii(serviceasciiname2); \
+ return aSupported; \
+ } \
+
+#define IMPLEMENT_SERVICE_INFO_GETSUPPORTED2(classname, serviceasciiname1, serviceasciiname2) \
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL classname::getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException) \
+ { \
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > aSupported(2); \
+ aSupported[0] = ::rtl::OUString::createFromAscii(serviceasciiname1); \
+ aSupported[1] = ::rtl::OUString::createFromAscii(serviceasciiname2); \
+ return aSupported; \
+ } \
+
+#define IMPLEMENT_SERVICE_INFO_GETSUPPORTED3(classname, serviceasciiname1, serviceasciiname2, serviceasciiname3) \
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL classname::getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException) \
+ { \
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > aSupported(3); \
+ aSupported[0] = ::rtl::OUString::createFromAscii(serviceasciiname1); \
+ aSupported[1] = ::rtl::OUString::createFromAscii(serviceasciiname2); \
+ aSupported[2] = ::rtl::OUString::createFromAscii(serviceasciiname3); \
+ return aSupported; \
+ } \
+
+#define IMPLEMENT_SERVICE_INFO_CREATE_STATIC(classname) \
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > \
+ SAL_CALL classname::Create(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB) \
+ { \
+ return static_cast< XServiceInfo* >(new classname(_rxORB)); \
+ } \
+
+//----------------------------------------------------------------------------------
+// declare service info methods - no getImplementationName, so the class is abstract
+#define DECLARE_SERVICE_INFO_ABSTRACT() \
+ virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException); \
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException) \
+
+//----------------------------------------------------------------------------------
+// declare service info methods
+#define DECLARE_SERVICE_INFO() \
+ virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException); \
+ virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException); \
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException) \
+
+#define DECLARE_SERVICE_INFO_STATIC() \
+ DECLARE_SERVICE_INFO(); \
+ static ::rtl::OUString SAL_CALL getImplementationName_Static( ) throw (::com::sun::star::uno::RuntimeException); \
+ static ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames_Static( ) throw(::com::sun::star::uno::RuntimeException); \
+ static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > \
+ SAL_CALL Create(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&) \
+
+//----------------------------------------------------------------------------------
+#define IMPLEMENT_SERVICE_INFO1(classname, implasciiname, serviceasciiname) \
+ IMPLEMENT_SERVICE_INFO_IMPLNAME(classname, implasciiname) \
+ IMPLEMENT_SERVICE_INFO_SUPPORTS(classname) \
+ IMPLEMENT_SERVICE_INFO_GETSUPPORTED1(classname, serviceasciiname) \
+
+//----------------------------------------------------------------------------------
+#define IMPLEMENT_SERVICE_INFO1_STATIC(classname, implasciiname, serviceasciiname) \
+ IMPLEMENT_SERVICE_INFO_IMPLNAME_STATIC(classname, implasciiname) \
+ IMPLEMENT_SERVICE_INFO_SUPPORTS(classname) \
+ IMPLEMENT_SERVICE_INFO_GETSUPPORTED1_STATIC(classname, serviceasciiname) \
+ IMPLEMENT_SERVICE_INFO_CREATE_STATIC(classname) \
+
+//----------------------------------------------------------------------------------
+#define IMPLEMENT_SERVICE_INFO2(classname, implasciiname, serviceasciiname1, serviceasciiname2) \
+ IMPLEMENT_SERVICE_INFO_IMPLNAME(classname, implasciiname) \
+ IMPLEMENT_SERVICE_INFO_SUPPORTS(classname) \
+ IMPLEMENT_SERVICE_INFO_GETSUPPORTED2(classname, serviceasciiname1, serviceasciiname2)
+
+//----------------------------------------------------------------------------------
+#define IMPLEMENT_SERVICE_INFO2_STATIC(classname, implasciiname, serviceasciiname1, serviceasciiname2) \
+ IMPLEMENT_SERVICE_INFO_IMPLNAME_STATIC(classname, implasciiname) \
+ IMPLEMENT_SERVICE_INFO_SUPPORTS(classname) \
+ IMPLEMENT_SERVICE_INFO_GETSUPPORTED2_STATIC(classname, serviceasciiname1,serviceasciiname2) \
+ IMPLEMENT_SERVICE_INFO_CREATE_STATIC(classname) \
+
+//----------------------------------------------------------------------------------
+#define IMPLEMENT_SERVICE_INFO3(classname, implasciiname, serviceasciiname1, serviceasciiname2, serviceasciiname3) \
+ IMPLEMENT_SERVICE_INFO_IMPLNAME(classname, implasciiname) \
+ IMPLEMENT_SERVICE_INFO_SUPPORTS(classname) \
+ IMPLEMENT_SERVICE_INFO_GETSUPPORTED3(classname, serviceasciiname1, serviceasciiname2, serviceasciiname3) \
+
+//----------------------------------------------------------------------------------
+#define IMPLEMENT_SERVICE_INFO1_ABSTRACT(classname, serviceasciiname) \
+ IMPLEMENT_SERVICE_INFO_SUPPORTS(classname) \
+ IMPLEMENT_SERVICE_INFO_GETSUPPORTED1(classname, serviceasciiname) \
+
+//----------------------------------------------------------------------------------
+#define IMPLEMENT_SERVICE_INFO2_ABSTRACT(classname, serviceasciiname1, serviceasciiname2) \
+ IMPLEMENT_SERVICE_INFO_SUPPORTS(classname) \
+ IMPLEMENT_SERVICE_INFO_GETSUPPORTED2(classname, serviceasciiname1, serviceasciiname2) \
+
+//==================================================================================
+//= XTypeProvider helpers
+
+//--------------------------------------------------------------------------
+#define DECLARE_IMPLEMENTATION_ID( ) \
+ virtual ::com::sun::star::uno::Sequence<sal_Int8> SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException); \
+ static ::com::sun::star::uno::Sequence< sal_Int8 > getUnoTunnelImplementationId() \
+
+//--------------------------------------------------------------------------
+#define DECLARE_GETTYPES( ) \
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw (::com::sun::star::uno::RuntimeException);
+
+//--------------------------------------------------------------------------
+#define DECLARE_TYPEPROVIDER( ) \
+ DECLARE_GETTYPES( ) \
+ DECLARE_IMPLEMENTATION_ID( )
+
+//--------------------------------------------------------------------------
+#define IMPLEMENT_IMPLEMENTATION_ID( classname ) \
+::com::sun::star::uno::Sequence< sal_Int8 > classname::getUnoTunnelImplementationId() \
+{ \
+ static ::cppu::OImplementationId* pId = 0; \
+ if ( !pId ) \
+ { \
+ ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() ); \
+ if ( !pId ) \
+ { \
+ static ::cppu::OImplementationId aId; \
+ pId = &aId; \
+ } \
+ } \
+ return pId->getImplementationId(); \
+} \
+::com::sun::star::uno::Sequence< sal_Int8 > classname::getImplementationId() throw (::com::sun::star::uno::RuntimeException) \
+{ \
+ return classname::getUnoTunnelImplementationId(); \
+}
+
+//--------------------------------------------------------------------------
+#define IMPLEMENT_GETTYPES2( classname, baseclass1, baseclass2 ) \
+ ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > classname::getTypes() throw (::com::sun::star::uno::RuntimeException) \
+ { \
+ return ::comphelper::concatSequences( \
+ baseclass1::getTypes( ), \
+ baseclass2::getTypes( ) \
+ ); \
+ }
+
+//--------------------------------------------------------------------------
+#define IMPLEMENT_GETTYPES3( classname, baseclass1, baseclass2, baseclass3 ) \
+ ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > classname::getTypes() throw (::com::sun::star::uno::RuntimeException) \
+ { \
+ return ::comphelper::concatSequences( \
+ baseclass1::getTypes( ), \
+ baseclass2::getTypes( ), \
+ baseclass3::getTypes( ) \
+ ); \
+ }
+
+//--------------------------------------------------------------------------
+#define IMPLEMENT_TYPEPROVIDER2( classname, baseclass1, baseclass2 ) \
+ IMPLEMENT_IMPLEMENTATION_ID( classname) \
+ IMPLEMENT_GETTYPES2( classname, baseclass1, baseclass2 )
+
+//--------------------------------------------------------------------------
+#define IMPLEMENT_TYPEPROVIDER3( classname, baseclass1, baseclass2, baseclass3 ) \
+ IMPLEMENT_IMPLEMENTATION_ID( classname) \
+ IMPLEMENT_GETTYPES3(classname, baseclass1, baseclass2, baseclass3 )
+
+//==================================================================================
+//= helper for declaring/implementing classes based on the OPropertyContainer and an OPropertyArrayUsageHelper
+//----------------------------------------------------------------------------------
+#define DECLARE_PROPERTYCONTAINER_DEFAULTS( ) \
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo> SAL_CALL getPropertySetInfo() throw(::com::sun::star::uno::RuntimeException); \
+ virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper(); \
+ virtual ::cppu::IPropertyArrayHelper* createArrayHelper( ) const
+
+//----------------------------------------------------------------------------------
+#define IMPLEMENT_PROPERTYCONTAINER_DEFAULTS2( classname , baseclass1) \
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL classname::getPropertySetInfo() throw(::com::sun::star::uno::RuntimeException) \
+ { \
+ Reference< XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) ); \
+ return xInfo; \
+ } \
+ ::cppu::IPropertyArrayHelper& classname::getInfoHelper() \
+ { \
+ return *baseclass1::getArrayHelper(); \
+ } \
+ ::cppu::IPropertyArrayHelper* classname::createArrayHelper( ) const \
+ { \
+ ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property > aProps; \
+ describeProperties(aProps); \
+ return new ::cppu::OPropertyArrayHelper(aProps); \
+ }
+//----------------------------------------------------------------------------------
+#define IMPLEMENT_PROPERTYCONTAINER_DEFAULTS( classname ) \
+ IMPLEMENT_PROPERTYCONTAINER_DEFAULTS2( classname, classname )
+
+//==================================================================================
+//= helper for implementing the createArrayHelper
+//----------------------------------------------------------------------------------
+#define BEGIN_PROPERTY_SEQUENCE(count) \
+ ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property> aDescriptor(count); \
+ ::com::sun::star::beans::Property* pDesc = aDescriptor.getArray(); \
+ sal_Int32 nPos = 0; \
+
+//----------------------------------------------------------------------------------
+#define BEGIN_PROPERTY_HELPER(count) \
+ BEGIN_PROPERTY_SEQUENCE(count)
+
+//----------------------------------------------------------------------------------
+#define DECL_PROP_IMPL(varname, cpputype) \
+ pDesc[nPos++] = ::com::sun::star::beans::Property(PROPERTY_##varname, PROPERTY_ID_##varname, cpputype,
+
+//----------------------------------------------------------------------------------
+#define DECL_PROP0(varname, type) \
+ DECL_PROP_IMPL(varname, ::getCppuType((const type *)0)) 0)
+//----------------------------------------------------------------------------------
+#define DECL_PROP0_BOOL(varname) \
+ DECL_PROP_IMPL(varname, ::getBooleanCppuType()) 0)
+//----------------------------------------------------------------------------------
+#define DECL_PROP0_IFACE(varname, iface) \
+ DECL_PROP_IMPL(varname, ::getCppuType(static_cast< ::com::sun::star::uno::Reference< iface >* >(NULL))) 0)
+
+//----------------------------------------------------------------------------------
+#define DECL_PROP1(varname, type, attrib1) \
+ DECL_PROP_IMPL(varname, ::getCppuType((const type *)0)) ::com::sun::star::beans::PropertyAttribute::attrib1)
+//----------------------------------------------------------------------------------
+#define DECL_PROP1_BOOL(varname, attrib1) \
+ DECL_PROP_IMPL(varname, ::getBooleanCppuType()) ::com::sun::star::beans::PropertyAttribute::attrib1)
+//----------------------------------------------------------------------------------
+#define DECL_PROP1_IFACE(varname, iface, attrib1) \
+ DECL_PROP_IMPL(varname, ::getCppuType(static_cast< ::com::sun::star::uno::Reference< iface >* >(NULL))) ::com::sun::star::beans::PropertyAttribute::attrib1)
+//----------------------------------------------------------------------------------
+#define DECL_PROP2_IFACE(varname, iface, attrib1, attrib2) \
+ DECL_PROP_IMPL(varname, ::getCppuType(static_cast< ::com::sun::star::uno::Reference< iface >* >(NULL))) ::com::sun::star::beans::PropertyAttribute::attrib1 | ::com::sun::star::beans::PropertyAttribute::attrib2)
+
+//----------------------------------------------------------------------------------
+#define DECL_PROP2(varname, type, attrib1, attrib2) \
+ DECL_PROP_IMPL(varname, ::getCppuType((const type *)0)) ::com::sun::star::beans::PropertyAttribute::attrib1 | ::com::sun::star::beans::PropertyAttribute::attrib2)
+//----------------------------------------------------------------------------------
+#define DECL_PROP2_BOOL(varname, attrib1, attrib2) \
+ DECL_PROP_IMPL(varname, ::getBooleanCppuType()) ::com::sun::star::beans::PropertyAttribute::attrib1 | ::com::sun::star::beans::PropertyAttribute::attrib2)
+
+//----------------------------------------------------------------------------------
+#define DECL_PROP3(varname, type, attrib1, attrib2, attrib3) \
+ DECL_PROP_IMPL(varname, ::getCppuType((const type *)0)) ::com::sun::star::beans::PropertyAttribute::attrib1 | ::com::sun::star::beans::PropertyAttribute::attrib2 | ::com::sun::star::beans::PropertyAttribute::attrib3)
+//----------------------------------------------------------------------------------
+#define DECL_PROP3_BOOL(varname, attrib1, attrib2, attrib3) \
+ DECL_PROP_IMPL(varname, ::getBooleanCppuType()) ::com::sun::star::beans::PropertyAttribute::attrib1 | ::com::sun::star::beans::PropertyAttribute::attrib2 | ::com::sun::star::beans::PropertyAttribute::attrib3)
+
+
+//----------------------------------------------------------------------------------
+#define END_PROPERTY_SEQUENCE() \
+ OSL_ENSURE(nPos == aDescriptor.getLength(), "forgot to adjust the count ?"); \
+
+//----------------------------------------------------------------------------------
+#define END_PROPERTY_HELPER() \
+ END_PROPERTY_SEQUENCE() \
+ return new ::cppu::OPropertyArrayHelper(aDescriptor);
+
+
+#define NOTIFY_LISTERNERS(_rListeners,T,method) \
+ Sequence< Reference< XInterface > > aListenerSeq = _rListeners.getElements(); \
+ \
+ const Reference< XInterface >* pxIntBegin = aListenerSeq.getConstArray(); \
+ const Reference< XInterface >* pxInt = pxIntBegin + aListenerSeq.getLength(); \
+ \
+ _rGuard.clear(); \
+ while( pxInt > pxIntBegin ) \
+ { \
+ try \
+ { \
+ while( pxInt > pxIntBegin ) \
+ { \
+ --pxInt; \
+ static_cast< T* >( pxInt->get() )->method(aEvt); \
+ } \
+ } \
+ catch( RuntimeException& ) \
+ { \
+ } \
+ } \
+ _rGuard.reset();
+
+#define NOTIFY_LISTERNERS1(_rListeners,T,method,arg1) \
+ Sequence< Reference< XInterface > > aListenerSeq = _rListeners.getElements(); \
+ \
+ const Reference< XInterface >* pxIntBegin = aListenerSeq.getConstArray(); \
+ const Reference< XInterface >* pxInt = pxIntBegin + aListenerSeq.getLength(); \
+ \
+ _rGuard.clear(); \
+ while( pxInt > pxIntBegin ) \
+ { \
+ try \
+ { \
+ while( pxInt > pxIntBegin ) \
+ { \
+ --pxInt; \
+ static_cast< T* >( pxInt->get() )->method(aEvt,arg1); \
+ } \
+ } \
+ catch( RuntimeException& ) \
+ { \
+ } \
+ } \
+ _rGuard.reset();
+
+
+//==================================================================================
+// miscellaneous
+#define UNUSED(x) x;
+
+#endif // _DBASHARED_APITOOLS_HXX_
+
diff --git a/dbaccess/source/inc/cfg_reghelper.hxx b/dbaccess/source/inc/cfg_reghelper.hxx
new file mode 100644
index 000000000000..0434fd27b2d0
--- /dev/null
+++ b/dbaccess/source/inc/cfg_reghelper.hxx
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: cfg_reghelper.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef CFG_REGHELPER_HXX
+#define CFG_REGHELPER_HXX
+
+#ifndef _COM_SUN_STAR_UNO_SEQUENCE_HXX_
+#include <com/sun/star/uno/Sequence.hxx>
+#endif
+#ifndef _COM_SUN_STAR_REGISTRY_XREGISTRYKEY_HPP_
+#include <com/sun/star/registry/XRegistryKey.hpp>
+#endif
+#ifndef _COM_SUN_STAR_LANG_XSINGLESERVICEFACTORY_HPP_
+#include <com/sun/star/lang/XSingleServiceFactory.hpp>
+#endif
+#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#endif
+#ifndef _RTL_USTRING_HXX_
+#include <rtl/ustring.hxx>
+#endif
+#ifndef _CPPUHELPER_FACTORY_HXX_
+#include <cppuhelper/factory.hxx>
+#endif
+
+namespace dbacfg
+{
+
+ #define _REGISTRATIONHELPER_INCLUDED_INDIRECTLY_
+ #include "registrationhelper.hxx"
+ #undef _REGISTRATIONHELPER_INCLUDED_INDIRECTLY_
+
+}
+
+#endif // CFG_REGHELPER_HXX
+
diff --git a/dbaccess/source/inc/cfgstrings.hrc b/dbaccess/source/inc/cfgstrings.hrc
new file mode 100644
index 000000000000..03fc1cf7a5e9
--- /dev/null
+++ b/dbaccess/source/inc/cfgstrings.hrc
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: cfgstrings.hrc,v $
+ * $Revision: 1.6 $
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef DBACCESS_SHARED_CFGSTRINGS_HRC
+#define DBACCESS_SHARED_CFGSTRINGS_HRC
+
+#ifndef _RTL_USTRING_HXX_
+#include <rtl/ustring.hxx>
+#endif
+
+namespace dbacfg
+{
+#define STRINGCONSTANTS_INCLUDED_INDIRECT
+#include "stringconstants.hrc"
+#undef STRINGCONSTANTS_INCLUDED_INDIRECT
+
+ //============================================================
+ //= configuration key names
+ //============================================================
+ // (we could use PROPERTY_* strings for this, but this would mean that
+ // our configuration scheme would change if a property name changes for
+ // any reason)
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DBLINK_CONNECTURL);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DBLINK_USER);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DBLINK_TABLEFILTER);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DBLINK_TABLETYEFILTER);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DBLINK_LOGINTIMEOUT);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DBLINK_PASSWORDREQUIRED);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DBLINK_SUPPRESSVERSIONCL);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DBLINK_BOOKMARKS);
+
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_QRYDESCR_COMMAND);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_QRYDESCR_ESCAPE_PROCESSING);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_QRYDESCR_UPDATE_TABLENAME);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_QRYDESCR_UPDATE_SCHEMANAME);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_QRYDESCR_UPDATE_CATALOGNAME);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_QRYDESCR_COLUMNS);
+
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FILTER);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_APPLYFILTER);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_ORDER);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_ROW_HEIGHT);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_TEXTCOLOR);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_NAME);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_HEIGHT);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_WIDTH);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_STYLENAME);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_FAMILY);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_CHARSET);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_PITCH);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_CHARACTERWIDTH);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_WEIGHT);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_SLANT);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_UNDERLINE);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_STRIKEOUT);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_ORIENTATION);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_KERNING);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_WORDLINEMODE);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_TYPE);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_UNDERLINECOLOR);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_CHARACTEREMPHASIS);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_DEFSET_FONT_CHARACTERRELIEF);
+
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_SETTINGS);
+
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_COLUMN_ALIGNMENT);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_COLUMN_WIDTH);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_COLUMN_NUMBERFORMAT);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_COLUMN_RELPOSITION);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_COLUMN_HIDDEN);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_LAYOUTINFORMATION);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_COLUMN_HELPTEXT);
+ DECLARE_CONSTASCII_USTRING(CONFIGKEY_COLUMN_CONTROLDEFAULT);
+}
+
+#endif // DBACCESS_SHARED_CFGSTRINGS_HRC
diff --git a/dbaccess/source/inc/constasciistring.hxx b/dbaccess/source/inc/constasciistring.hxx
new file mode 100644
index 000000000000..07861a054a47
--- /dev/null
+++ b/dbaccess/source/inc/constasciistring.hxx
@@ -0,0 +1,61 @@
+#ifndef _DBASHARED_CONSTASCIISTRING_HXX_
+#define _DBASHARED_CONSTASCIISTRING_HXX_
+
+#ifndef CONSTASCII_INCLUDED_INDIRECT
+#error "don't include this file directly! use stringconstants.hrc instead!"
+#endif
+
+// no namespaces. This file is included from several other files _within_ a namespace.
+
+//============================================================
+//= a helper for static ascii pseudo-unicode strings
+//============================================================
+// string constants
+struct ConstAsciiString
+{
+ const sal_Char* ascii;
+ sal_Int32 length;
+
+ inline operator const ::rtl::OUString& () const;
+ inline operator const sal_Char* () const { return ascii; }
+
+ inline ConstAsciiString(const sal_Char* _pAsciiZeroTerminated, const sal_Int32 _nLength);
+ inline ~ConstAsciiString();
+
+private:
+ mutable ::rtl::OUString* ustring;
+};
+
+//------------------------------------------------------------
+inline ConstAsciiString::ConstAsciiString(const sal_Char* _pAsciiZeroTerminated, const sal_Int32 _nLength)
+ :ascii(_pAsciiZeroTerminated)
+ ,length(_nLength)
+ ,ustring(NULL)
+{
+}
+
+//------------------------------------------------------------
+inline ConstAsciiString::~ConstAsciiString()
+{
+ delete ustring;
+ ustring = NULL;
+}
+
+//------------------------------------------------------------
+inline ConstAsciiString::operator const ::rtl::OUString& () const
+{
+ if (!ustring)
+ ustring = new ::rtl::OUString(ascii, length, RTL_TEXTENCODING_ASCII_US);
+ return *ustring;
+}
+
+//============================================================
+
+#define DECLARE_CONSTASCII_USTRING( name ) \
+ extern const ConstAsciiString name
+
+#define IMPLEMENT_CONSTASCII_USTRING( name, string ) \
+ const ConstAsciiString name(string, sizeof(string)-1)
+
+
+#endif // _DBASHARED_CONSTASCIISTRING_HXX_
diff --git a/dbaccess/source/inc/dbadllapi.hxx b/dbaccess/source/inc/dbadllapi.hxx
new file mode 100644
index 000000000000..326b8dbf9b3a
--- /dev/null
+++ b/dbaccess/source/inc/dbadllapi.hxx
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: $
+ *
+ * $Revision: $
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_DBACCESS_SOURCE_INC_DBADLLAPI_HXX
+#define INCLUDED_DBACCESS_SOURCE_INC_DBADLLAPI_HXX
+
+#include "sal/config.h"
+
+#include "sal/types.h"
+
+#if defined OOO_DLLIMPLEMENTATION_DBA
+#define OOO_DLLPUBLIC_DBA SAL_DLLPUBLIC_EXPORT
+#else
+#define OOO_DLLPUBLIC_DBA SAL_DLLPUBLIC_IMPORT
+#endif
+
+#endif
diff --git a/dbaccess/source/inc/dbastrings.hrc b/dbaccess/source/inc/dbastrings.hrc
new file mode 100644
index 000000000000..1e5eb7984046
--- /dev/null
+++ b/dbaccess/source/inc/dbastrings.hrc
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: dbastrings.hrc,v $
+ * $Revision: 1.11 $
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef DBACCESS_SHARED_DBASTRINGS_HRC
+#define DBACCESS_SHARED_DBASTRINGS_HRC
+
+#ifndef _RTL_USTRING_HXX_
+#include <rtl/ustring.hxx>
+#endif
+
+namespace dbaccess
+{
+#define STRINGCONSTANTS_INCLUDED_INDIRECT
+#include "stringconstants.hrc"
+#undef STRINGCONSTANTS_INCLUDED_INDIRECT
+
+ //============================================================
+ //= SQLSTATE
+ //============================================================
+ DECLARE_CONSTASCII_USTRING(SQLSTATE_GENERAL);
+
+ //============================================================
+ //= Properties
+ //============================================================
+ DECLARE_CONSTASCII_USTRING(PROPERTY_APPLYFORMDESIGNMODE);
+}
+
+#endif // DBACCESS_SHARED_DBASTRINGS_HRC
diff --git a/dbaccess/source/inc/dbu_reghelper.hxx b/dbaccess/source/inc/dbu_reghelper.hxx
new file mode 100644
index 000000000000..0df4038eb8ee
--- /dev/null
+++ b/dbaccess/source/inc/dbu_reghelper.hxx
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: dbu_reghelper.hxx,v $
+ * $Revision: 1.5 $
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _DBU_REGHELPER_HXX_
+#define _DBU_REGHELPER_HXX_
+
+#ifndef _COM_SUN_STAR_UNO_SEQUENCE_HXX_
+#include <com/sun/star/uno/Sequence.hxx>
+#endif
+#ifndef _COM_SUN_STAR_REGISTRY_XREGISTRYKEY_HPP_
+#include <com/sun/star/registry/XRegistryKey.hpp>
+#endif
+#ifndef _COM_SUN_STAR_LANG_XSINGLESERVICEFACTORY_HPP_
+#include <com/sun/star/lang/XSingleServiceFactory.hpp>
+#endif
+#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#endif
+#ifndef _RTL_USTRING_HXX_
+#include <rtl/ustring.hxx>
+#endif
+#ifndef _CPPUHELPER_FACTORY_HXX_
+#include <cppuhelper/factory.hxx>
+#endif
+
+namespace dbaui
+{
+
+ #define _REGISTRATIONHELPER_INCLUDED_INDIRECTLY_
+ #include "registrationhelper.hxx"
+ #undef _REGISTRATIONHELPER_INCLUDED_INDIRECTLY_
+
+}
+
+#endif // _DBU_REGHELPER_HXX_
+
diff --git a/dbaccess/source/inc/dbustrings.hrc b/dbaccess/source/inc/dbustrings.hrc
new file mode 100644
index 000000000000..e044627d32cd
--- /dev/null
+++ b/dbaccess/source/inc/dbustrings.hrc
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: dbustrings.hrc,v $
+ * $Revision: 1.18 $
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef DBACCESS_SHARED_DBUSTRINGS_HRC
+#define DBACCESS_SHARED_DBUSTRINGS_HRC
+
+#ifndef _RTL_USTRING_HXX_
+#include <rtl/ustring.hxx>
+#endif
+
+namespace dbaui
+{
+#define STRINGCONSTANTS_INCLUDED_INDIRECT
+#include "stringconstants.hrc"
+#undef STRINGCONSTANTS_INCLUDED_INDIRECT
+
+ //============================================================
+ //= URLs
+ //============================================================
+ DECLARE_CONSTASCII_USTRING(URL_COMPONENT_QUERYDESIGN);
+ DECLARE_CONSTASCII_USTRING(URL_COMPONENT_VIEWDESIGN);
+ DECLARE_CONSTASCII_USTRING(URL_COMPONENT_TABLEDESIGN);
+ DECLARE_CONSTASCII_USTRING(URL_COMPONENT_FORMGRIDVIEW);
+ DECLARE_CONSTASCII_USTRING(URL_COMPONENT_DATASOURCEBROWSER);
+ DECLARE_CONSTASCII_USTRING(URL_COMPONENT_RELATIONDESIGN);
+ DECLARE_CONSTASCII_USTRING(URL_COMPONENT_APPLICATION);
+ DECLARE_CONSTASCII_USTRING(URL_COMPONENT_REPORTDESIGN);
+
+ //============================================================
+ //= service names
+ //============================================================
+ DECLARE_CONSTASCII_USTRING(SERVICE_SDB_DIRECTSQLDIALOG);
+
+ //============================================================
+ //= other DBU relevant strings
+ //============================================================
+ DECLARE_CONSTASCII_USTRING(FRAME_NAME_QUERY_PREVIEW);
+ DECLARE_CONSTASCII_USTRING(SERVICE_CONTROLDEFAULT);
+ DECLARE_CONSTASCII_USTRING(PROPERTY_QUERYDESIGNVIEW);
+ DECLARE_CONSTASCII_USTRING(PROPERTY_GRAPHICAL_DESIGN);
+ DECLARE_CONSTASCII_USTRING(PROPERTY_HELP_URL);
+
+ //============================================================
+ //= other DBU properties
+ //============================================================
+ DECLARE_CONSTASCII_USTRING(PROPERTY_TRISTATE);
+ DECLARE_CONSTASCII_USTRING(PROPERTY_ENABLEOUTERJOIN);
+ DECLARE_CONSTASCII_USTRING(PROPERTY_DEFAULTCONTROL);
+ DECLARE_CONSTASCII_USTRING(PROPERTY_TABSTOP);
+ DECLARE_CONSTASCII_USTRING(PROPERTY_ENABLED);
+ DECLARE_CONSTASCII_USTRING(PROPERTY_MOUSE_WHEEL_BEHAVIOR);
+}
+
+#endif // DBACCESS_SHARED_DBUSTRINGS_HRC
+
diff --git a/dbaccess/source/inc/dsntypes.hxx b/dbaccess/source/inc/dsntypes.hxx
new file mode 100644
index 000000000000..4e9153a6a216
--- /dev/null
+++ b/dbaccess/source/inc/dsntypes.hxx
@@ -0,0 +1,242 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: dsntypes.hxx,v $
+ *
+ * $Revision: 1.3.68.4 $
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _DBACCESS_DSNTYPES_HXX_
+#define _DBACCESS_DSNTYPES_HXX_
+
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+
+#include <comphelper/stl_types.hxx>
+#include "dbadllapi.hxx"
+#include <tools/string.hxx>
+#include <connectivity/DriversConfig.hxx>
+
+//.........................................................................
+namespace dbaccess
+{
+//.........................................................................
+
+//=========================================================================
+//= DATASOURCE_TYPE
+//=========================================================================
+/// known datasource types
+enum DATASOURCE_TYPE
+{
+ DST_MSACCESS = 1,
+ DST_MYSQL_ODBC = 2,
+ DST_MYSQL_JDBC = 3,
+ DST_ORACLE_JDBC = 4,
+ DST_ADABAS = 5,
+ DST_CALC = 6,
+ DST_DBASE = 7,
+ DST_FLAT = 8,
+ DST_JDBC = 9,
+ DST_ODBC = 10,
+ DST_ADO = 11,
+ DST_MOZILLA = 12,
+ DST_THUNDERBIRD = 13,
+ DST_LDAP = 14,
+ DST_OUTLOOK = 15,
+ DST_OUTLOOKEXP = 16,
+ DST_EVOLUTION = 17,
+ DST_EVOLUTION_GROUPWISE = 18,
+ DST_EVOLUTION_LDAP = 19,
+ DST_KAB = 20,
+ DST_MACAB = 21,
+ DST_MSACCESS_2007 = 22,
+ DST_EMBEDDED_HSQLDB = 23,
+ DST_MYSQL_NATIVE = 24,
+ DST_MYSQL_NATIVE_DIRECT = 25,
+
+ DST_USERDEFINE1, /// first user defined driver
+ DST_USERDEFINE2,
+ DST_USERDEFINE3,
+ DST_USERDEFINE4,
+ DST_USERDEFINE5,
+ DST_USERDEFINE6,
+ DST_USERDEFINE7,
+ DST_USERDEFINE8,
+ DST_USERDEFINE9,
+ DST_USERDEFINE10,
+
+
+ DST_UNKNOWN /// unrecognized type
+};
+
+#define PAGE_DBSETUPWIZARD_INTRO 0
+#define PAGE_DBSETUPWIZARD_DBASE 1
+#define PAGE_DBSETUPWIZARD_TEXT 2
+#define PAGE_DBSETUPWIZARD_MSACCESS 3
+#define PAGE_DBSETUPWIZARD_LDAP 4
+#define PAGE_DBSETUPWIZARD_ADABAS 5
+#define PAGE_DBSETUPWIZARD_MYSQL_INTRO 6
+#define PAGE_DBSETUPWIZARD_MYSQL_JDBC 7
+#define PAGE_DBSETUPWIZARD_MYSQL_ODBC 8
+#define PAGE_DBSETUPWIZARD_ORACLE 9
+#define PAGE_DBSETUPWIZARD_JDBC 10
+#define PAGE_DBSETUPWIZARD_ADO 11
+#define PAGE_DBSETUPWIZARD_ODBC 12
+#define PAGE_DBSETUPWIZARD_SPREADSHEET 13
+#define PAGE_DBSETUPWIZARD_AUTHENTIFICATION 14
+#define PAGE_DBSETUPWIZARD_MOZILLA 15
+#define PAGE_DBSETUPWIZARD_FINAL 16
+#define PAGE_DBSETUPWIZARD_USERDEFINED 17
+#define PAGE_DBSETUPWIZARD_MYSQL_NATIVE 18
+
+
+//=========================================================================
+//= ODsnTypeCollection
+//=========================================================================
+class OOO_DLLPUBLIC_DBA ODsnTypeCollection
+{
+protected:
+ DECLARE_STL_VECTOR(String, StringVector);
+
+ StringVector m_aDsnTypesDisplayNames; /// user readable names for the datasource types
+ StringVector m_aDsnPrefixes; /// DSN prefixes which determine the type of a datasource
+ ::connectivity::DriversConfig m_aDriverConfig;
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xFactory;
+
+#ifdef DBG_UTIL
+ sal_Int32 m_nLivingIterators; /// just for debugging reasons, counts the living iterators
+#endif
+
+public:
+ class TypeIterator;
+ friend class ODsnTypeCollection::TypeIterator;
+
+ ODsnTypeCollection(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _xFactory);
+ ~ODsnTypeCollection();
+
+ /// get the datasource type display name from a DSN string
+ String getTypeDisplayName(const ::rtl::OUString& _sURL) const;
+
+ /// on a given string, cut the type prefix and return the result
+ String cutPrefix(const ::rtl::OUString& _sURL) const;
+
+ /// on a given string, return the type prefix
+ String getPrefix(const ::rtl::OUString& _sURL) const;
+
+ /// determines whether there is a driver for the given URL prefix/pattern
+ bool hasDriver( const sal_Char* _pAsciiPattern ) const;
+
+ /// on a given string, return the Java Driver Class
+ String getJavaDriverClass(const ::rtl::OUString& _sURL) const;
+
+ /// returns the media type of a file based database
+ String getMediaType(const ::rtl::OUString& _sURL) const;
+
+ /// returns the dsn prefix for a given media type
+ String getDatasourcePrefixFromMediaType(const ::rtl::OUString& _sMediaType,const ::rtl::OUString& _sExtension = ::rtl::OUString() );
+
+ void extractHostNamePort(const ::rtl::OUString& _rDsn,String& _sDatabaseName,String& _rHostname,sal_Int32& _nPortNumber) const;
+
+ /// check if the given data source allows creation of tables
+ sal_Bool supportsTableCreation(const ::rtl::OUString& _sURL) const;
+
+ // check if a Browse button may be shown to insert connection url
+ sal_Bool supportsBrowsing(const ::rtl::OUString& _sURL) const;
+
+ /// check if the given data source tyoe is based on the file system - i.e. the URL is a prefix plus a file URL
+ sal_Bool isFileSystemBased(const ::rtl::OUString& _sURL) const;
+
+ bool isConnectionUrlRequired(const ::rtl::OUString& _sURL) const;
+
+ /// checks if the given data source type embeds its data into the database document
+ bool isEmbeddedDatabase( const ::rtl::OUString& _sURL ) const;
+
+ ::rtl::OUString getEmbeddedDatabase() const;
+
+ // returns true when the properties dialog can be shown, otherwise false.
+ bool isShowPropertiesEnabled( const ::rtl::OUString& _sURL ) const;
+
+ /** returns default settings for newly created databases of the given type.
+ */
+ ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue>
+ getDefaultDBSettings( const ::rtl::OUString& _sURL ) const;
+
+ /// get access to the first element of the types collection
+ TypeIterator begin() const;
+ /// get access to the (last + 1st) element of the types collection
+ TypeIterator end() const;
+
+ void fillPageIds(const ::rtl::OUString& _sURL,::std::vector<sal_Int16>& _rOutPathIds) const;
+
+ DATASOURCE_TYPE determineType(const String& _rDsn) const;
+
+ bool needsJVM(const String& _rDsn) const;
+
+ sal_Int32 getIndexOf(const ::rtl::OUString& _sURL) const;
+ sal_Int32 size() const;
+ ::rtl::OUString getType(const ::rtl::OUString& _sURL) const;
+};
+
+//-------------------------------------------------------------------------
+//- ODsnTypeCollection::TypeIterator
+//-------------------------------------------------------------------------
+class OOO_DLLPUBLIC_DBA ODsnTypeCollection::TypeIterator
+{
+ friend class ODsnTypeCollection;
+
+ friend bool OOO_DLLPUBLIC_DBA operator==(const TypeIterator& lhs, const TypeIterator& rhs);
+ friend bool OOO_DLLPUBLIC_DBA operator!=(const TypeIterator& lhs, const TypeIterator& rhs) { return !(lhs == rhs); }
+
+protected:
+ const ODsnTypeCollection* m_pContainer;
+ sal_Int32 m_nPosition;
+
+public:
+ TypeIterator(const TypeIterator& _rSource);
+ ~TypeIterator();
+
+ ::rtl::OUString getURLPrefix() const;
+ String getDisplayName() const;
+
+ /// prefix increment
+ const TypeIterator& operator++();
+ /// postfix increment
+ const TypeIterator operator++(int) { TypeIterator hold(*this); ++*this; return hold; }
+
+ /// prefix decrement
+ const TypeIterator& operator--();
+ /// postfix decrement
+ const TypeIterator operator--(int) { TypeIterator hold(*this); --*this; return hold; }
+
+protected:
+ TypeIterator(const ODsnTypeCollection* _pContainer, sal_Int32 _nInitialPos = 0);
+};
+
+//.........................................................................
+} // namespace dbaccess
+//.........................................................................
+
+#endif // _DBACCESS_DSNTYPES_HXX_
+
diff --git a/dbaccess/source/inc/flt_reghelper.hxx b/dbaccess/source/inc/flt_reghelper.hxx
new file mode 100644
index 000000000000..8cc846f19020
--- /dev/null
+++ b/dbaccess/source/inc/flt_reghelper.hxx
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: flt_reghelper.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _FLT_REGHELPER_HXX_
+#define _FLT_REGHELPER_HXX_
+
+#ifndef _COM_SUN_STAR_UNO_SEQUENCE_HXX_
+#include <com/sun/star/uno/Sequence.hxx>
+#endif
+#ifndef _COM_SUN_STAR_REGISTRY_XREGISTRYKEY_HPP_
+#include <com/sun/star/registry/XRegistryKey.hpp>
+#endif
+#ifndef _COM_SUN_STAR_LANG_XSINGLESERVICEFACTORY_HPP_
+#include <com/sun/star/lang/XSingleServiceFactory.hpp>
+#endif
+#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#endif
+#ifndef _RTL_USTRING_HXX_
+#include <rtl/ustring.hxx>
+#endif
+#ifndef _CPPUHELPER_FACTORY_HXX_
+#include <cppuhelper/factory.hxx>
+#endif
+
+namespace dbaxml
+{
+
+ #define _REGISTRATIONHELPER_INCLUDED_INDIRECTLY_
+ #include "registrationhelper.hxx"
+ #undef _REGISTRATIONHELPER_INCLUDED_INDIRECTLY_
+
+}
+
+#endif // _FLT_REGHELPER_HXX_
+
diff --git a/dbaccess/source/inc/registrationhelper.hxx b/dbaccess/source/inc/registrationhelper.hxx
new file mode 100644
index 000000000000..69e02e41d6a1
--- /dev/null
+++ b/dbaccess/source/inc/registrationhelper.hxx
@@ -0,0 +1,171 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: registrationhelper.hxx,v $
+ * $Revision: 1.7 $
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _REGISTRATIONHELPER_INCLUDED_INDIRECTLY_
+#error "don't include this file directly! use dbu_reghelper.hxx instead!"
+#endif
+
+typedef ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > (SAL_CALL *FactoryInstantiation)
+ (
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rServiceManager,
+ const ::rtl::OUString & _rComponentName,
+ ::cppu::ComponentInstantiation _pCreateFunction,
+ const ::com::sun::star::uno::Sequence< ::rtl::OUString > & _rServiceNames,
+ rtl_ModuleCount* _p
+ );
+
+//==========================================================================
+class OModuleRegistration
+{
+ static ::com::sun::star::uno::Sequence< ::rtl::OUString >*
+ s_pImplementationNames;
+ static ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::rtl::OUString > >*
+ s_pSupportedServices;
+ static ::com::sun::star::uno::Sequence< sal_Int64 >*
+ s_pCreationFunctionPointers;
+ static ::com::sun::star::uno::Sequence< sal_Int64 >*
+ s_pFactoryFunctionPointers;
+
+ // no direct instantiation, only static members/methods
+ OModuleRegistration() { }
+
+public:
+ /** register a component implementing a service with the given data.
+ @param _rImplementationName the implementation name of the component
+ @param _rServiceNames the services the component supports
+ @param _pCreateFunction a function for creating an instance of the component
+ @param _pFactoryFunction a function for creating a factory for that component
+ @see revokeComponent
+ */
+ static void registerComponent(
+ const ::rtl::OUString& _rImplementationName,
+ const ::com::sun::star::uno::Sequence< ::rtl::OUString >& _rServiceNames,
+ ::cppu::ComponentInstantiation _pCreateFunction,
+ FactoryInstantiation _pFactoryFunction);
+
+ /** revoke the registration for the specified component
+ @param _rImplementationName the implementation name of the component
+ */
+ static void revokeComponent(
+ const ::rtl::OUString& _rImplementationName);
+
+ /** writes the registration information of all components which are currently registered into the specified registry.
+ Usually used from within component_writeInfo.
+ @param _rxServiceManager the service manager
+ @param _rRootKey the registry key under which the information will be stored
+ @return sal_True if the registration of all implementations was successfull, sal_False otherwise
+ */
+ static sal_Bool writeComponentInfos(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxServiceManager,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::registry::XRegistryKey >& _rRootKey);
+
+ /** creates a Factory for the component with the given implementation name. Usually used from within component_getFactory.
+ @param _rxServiceManager a pointer to an XMultiServiceFactory interface as got in component_getFactory
+ @param _pImplementationName the implementation name of the component
+ @return the XInterface access to a factory for the component
+ */
+ static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > getComponentFactory(
+ const ::rtl::OUString& _rImplementationName,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxServiceManager
+ );
+};
+
+//==========================================================================
+template <class TYPE>
+class OMultiInstanceAutoRegistration
+{
+public:
+ /** assumed that the template argument has the three methods<BR>
+ <code>static ::rtl::OUString getImplementationName_Static()</code><BR>
+ <code>static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static()</code><BR>
+ and<BR>
+ <code>static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
+ Create(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&)</code><BR>
+ the instantiation of this object will automatically register the class via <code>OModuleRegistration::registerComponent</code>.
+ The factory creation function used is <code>::cppu::createSingleFactory</code>.<BR>
+ @see OOneInstanceAutoRegistration
+ */
+ OMultiInstanceAutoRegistration();
+ ~OMultiInstanceAutoRegistration();
+};
+
+template <class TYPE>
+OMultiInstanceAutoRegistration<TYPE>::OMultiInstanceAutoRegistration()
+{
+ OModuleRegistration::registerComponent(
+ TYPE::getImplementationName_Static(),
+ TYPE::getSupportedServiceNames_Static(),
+ TYPE::Create,
+ ::cppu::createSingleFactory
+ );
+}
+
+template <class TYPE>
+OMultiInstanceAutoRegistration<TYPE>::~OMultiInstanceAutoRegistration()
+{
+ OModuleRegistration::revokeComponent(TYPE::getImplementationName_Static());
+}
+
+//==========================================================================
+template <class TYPE>
+class OOneInstanceAutoRegistration
+{
+public:
+ /** provided that the template argument has three methods<BR>
+ <code>static ::rtl::OUString getImplementationName_Static()</code><BR>
+ <code>static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static()</code><BR>
+ and<BR>
+ <code>static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
+ Create(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&)</code><BR>
+ the instantiation of this object will automatically register the class via <code>OModuleRegistration::registerComponent</code>.
+ The factory creation function used is <code>::cppu::createSingleFactory</code>.<BR>
+ @see OMultiInstanceAutoRegistration
+ */
+ OOneInstanceAutoRegistration();
+ ~OOneInstanceAutoRegistration();
+};
+
+template <class TYPE>
+OOneInstanceAutoRegistration<TYPE>::OOneInstanceAutoRegistration()
+{
+ OModuleRegistration::registerComponent(
+ TYPE::getImplementationName_Static(),
+ TYPE::getSupportedServiceNames_Static(),
+ TYPE::Create,
+ ::cppu::createOneInstanceFactory
+ );
+}
+
+template <class TYPE>
+OOneInstanceAutoRegistration<TYPE>::~OOneInstanceAutoRegistration()
+{
+ OModuleRegistration::revokeComponent(TYPE::getImplementationName_Static());
+}
+
diff --git a/dbaccess/source/inc/sdbtstrings.hrc b/dbaccess/source/inc/sdbtstrings.hrc
new file mode 100644
index 000000000000..2b34f039ef4f
--- /dev/null
+++ b/dbaccess/source/inc/sdbtstrings.hrc
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: sdbtstrings.hrc,v $
+ * $Revision: 1.3 $
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef DBACCESS_SHARED_SDBTSTRINGS_HRC
+#define DBACCESS_SHARED_SDBTSTRINGS_HRC
+
+#ifndef _RTL_USTRING_HXX_
+#include <rtl/ustring.hxx>
+#endif
+
+namespace sdbtools
+{
+#define STRINGCONSTANTS_INCLUDED_INDIRECT
+#include "stringconstants.hrc"
+#undef STRINGCONSTANTS_INCLUDED_INDIRECT
+}
+
+#endif // DBACCESS_SHARED_SDBTSTRINGS_HRC
+
diff --git a/dbaccess/source/inc/stringconstants.hrc b/dbaccess/source/inc/stringconstants.hrc
new file mode 100644
index 000000000000..6a58ba1ddd0d
--- /dev/null
+++ b/dbaccess/source/inc/stringconstants.hrc
@@ -0,0 +1,433 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: stringconstants.hrc,v $
+ * $Revision: 1.52 $
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _DBASHARED_STRINGCONSTANTS_HRC_
+#define _DBASHARED_STRINGCONSTANTS_HRC_
+
+#ifndef STRINGCONSTANTS_INCLUDED_INDIRECT
+#error "don't include this file directly! use dbastrings.hrc or dbustrings.hrc instead!"
+#endif
+
+#define CONSTASCII_INCLUDED_INDIRECT
+#include "constasciistring.hxx"
+#undef CONSTASCII_INCLUDED_INDIRECT
+
+//============================================================
+//= property ids
+//============================================================
+#define PROPERTY_ID_TITLE 1
+#define PROPERTY_ID_URL 2
+#define PROPERTY_ID_INFO 4
+#define PROPERTY_ID_ISPASSWORDREQUIRED 5
+#define PROPERTY_ID_TABLEFILTER 6
+#define PROPERTY_ID_NAME 7
+#define PROPERTY_ID_SCHEMANAME 8
+#define PROPERTY_ID_CATALOGNAME 9
+#define PROPERTY_ID_PRIVILEGES 10
+#define PROPERTY_ID_ESCAPE_PROCESSING 11
+#define PROPERTY_ID_COMMAND 12
+#define PROPERTY_ID_TYPE 13
+#define PROPERTY_ID_TYPENAME 14
+#define PROPERTY_ID_PRECISION 15
+#define PROPERTY_ID_SCALE 16
+#define PROPERTY_ID_ISNULLABLE 17
+#define PROPERTY_ID_ISAUTOINCREMENT 18
+#define PROPERTY_ID_ISROWVERSION 19
+#define PROPERTY_ID_DESCRIPTION 20
+#define PROPERTY_ID_DEFAULTVALUE 21
+#define PROPERTY_ID_NUMBERFORMAT 22
+#define PROPERTY_ID_QUERYTIMEOUT 23
+#define PROPERTY_ID_MAXFIELDSIZE 24
+#define PROPERTY_ID_MAXROWS 25
+#define PROPERTY_ID_CURSORNAME 26
+#define PROPERTY_ID_RESULTSETCONCURRENCY 27
+#define PROPERTY_ID_RESULTSETTYPE 28
+#define PROPERTY_ID_FETCHDIRECTION 29
+#define PROPERTY_ID_FETCHSIZE 30
+#define PROPERTY_ID_USEBOOKMARKS 31
+#define PROPERTY_ID_ISSEARCHABLE 32
+#define PROPERTY_ID_ISCURRENCY 33
+#define PROPERTY_ID_ISSIGNED 34
+#define PROPERTY_ID_DISPLAYSIZE 35
+#define PROPERTY_ID_LABEL 36
+#define PROPERTY_ID_ISREADONLY 37
+#define PROPERTY_ID_ISWRITABLE 38
+#define PROPERTY_ID_ISDEFINITELYWRITABLE 39
+#define PROPERTY_ID_VALUE 40
+#define PROPERTY_ID_TABLENAME 41
+#define PROPERTY_ID_ISCASESENSITIVE 42
+#define PROPERTY_ID_SERVICENAME 43
+#define PROPERTY_ID_ISBOOKMARKABLE 44
+#define PROPERTY_ID_CANUPDATEINSERTEDROWS 45
+#define PROPERTY_ID_ISSET 46
+#define PROPERTY_ID_ISOUTPARAMETER 47
+#define PROPERTY_ID_NUMBERFORMATSSUPPLIER 48
+#define PROPERTY_ID_ISCALCULATED 49
+#define PROPERTY_ID_DATASOURCENAME 50
+#define PROPERTY_ID_TRANSACTIONISOLATION 51
+#define PROPERTY_ID_TYPEMAP 52
+#define PROPERTY_ID_USER 53
+#define PROPERTY_ID_PASSWORD 54
+#define PROPERTY_ID_COMMAND_TYPE 55
+#define PROPERTY_ID_ACTIVECOMMAND 56
+#define PROPERTY_ID_ACTIVE_CONNECTION 57
+#define PROPERTY_ID_FILTER 58
+#define PROPERTY_ID_APPLYFILTER 59
+#define PROPERTY_ID_ORDER 60
+#define PROPERTY_ID_ISMODIFIED 61
+#define PROPERTY_ID_ISNEW 62
+#define PROPERTY_ID_ROWCOUNT 63
+#define PROPERTY_ID_ISROWCOUNTFINAL 64
+#define PROPERTY_ID_HELPFILENAME 65
+#define PROPERTY_ID_REALNAME 66
+#define PROPERTY_ID_HIDDEN 67
+#define PROPERTY_ID_ALIGN 68
+#define PROPERTY_ID_WIDTH 69
+#define PROPERTY_ID_TABLETYPEFILTER 70
+#define PROPERTY_ID_DATABASE_LOCATION 71
+#define PROPERTY_ID_FONT 72
+#define PROPERTY_ID_ROW_HEIGHT 73
+#define PROPERTY_ID_TEXTCOLOR 74
+#define PROPERTY_ID_UPDATE_TABLENAME 75
+#define PROPERTY_ID_UPDATE_SCHEMANAME 76
+#define PROPERTY_ID_UPDATE_CATALOGNAME 77
+#define PROPERTY_ID_CONTROLMODEL 78
+#define PROPERTY_ID_RELATIVEPOSITION 79
+#define PROPERTY_ID_ISASCENDING 80
+#define PROPERTY_ID_RELATEDCOLUMN 81
+#define PROPERTY_ID_ISUNIQUE 82
+#define PROPERTY_ID_ISPRIMARYKEYINDEX 83
+#define PROPERTY_ID_IGNORERESULT 84
+#define PROPERTY_ID_DELETERULE 85
+#define PROPERTY_ID_UPDATERULE 86
+#define PROPERTY_ID_REFERENCEDTABLE 87
+#define PROPERTY_ID_REFERENCEDCOLUMN 88
+#define PROPERTY_ID_PARENTWINDOW 89
+#define PROPERTY_ID_SQLEXCEPTION 90
+#define PROPERTY_ID_ISHIDDEN 91
+#define PROPERTY_ID_SUPPRESSVERSIONCL 92
+#define PROPERTY_ID_LAYOUTINFORMATION 93
+#define PROPERTY_ID_TEXTLINECOLOR 94
+#define PROPERTY_ID_TEXTEMPHASIS 95
+#define PROPERTY_ID_TEXTRELIEF 96
+#define PROPERTY_ID_HELPTEXT 97
+#define PROPERTY_ID_CONTROLDEFAULT 98
+#define PROPERTY_ID_AUTOINCREMENTCREATION 99
+#define PROPERTY_ID_SPECIAL_OPTIONS 100
+#define PROPERTY_ID_FONTCHARWIDTH 101
+#define PROPERTY_ID_FONTCHARSET 102
+#define PROPERTY_ID_FONTFAMILY 103
+#define PROPERTY_ID_FONTHEIGHT 104
+#define PROPERTY_ID_FONTKERNING 105
+#define PROPERTY_ID_FONTNAME 106
+#define PROPERTY_ID_FONTORIENTATION 107
+#define PROPERTY_ID_FONTPITCH 108
+#define PROPERTY_ID_FONTSLANT 109
+#define PROPERTY_ID_FONTSTRIKEOUT 110
+#define PROPERTY_ID_FONTSTYLENAME 111
+#define PROPERTY_ID_FONTUNDERLINE 112
+#define PROPERTY_ID_FONTWEIGHT 113
+#define PROPERTY_ID_FONTWIDTH 114
+#define PROPERTY_ID_FONTWORDLINEMODE 115
+#define PROPERTY_ID_FONTTYPE 116
+#define PROPERTY_ID_PERSISTENT_NAME 117
+#define PROPERTY_ID_ORIGINAL 118
+#define PROPERTY_ID_TABSTOP 119
+#define PROPERTY_ID_DEFAULTCONTROL 120
+#define PROPERTY_ID_ENABLED 121
+#define PROPERTY_ID_BORDER 122
+#define PROPERTY_ID_COLUMN 123
+#define PROPERTY_ID_AS_TEMPLATE 124
+#define PROPERTY_ID_IS_FORM 125
+#define PROPERTY_ID_HAVING_CLAUSE 126
+#define PROPERTY_ID_GROUP_BY 127
+#define PROPERTY_ID_EDIT_WIDTH 128
+#define PROPERTY_ID_SETTINGS 129
+#define PROPERTY_ID_CONNECTION_RESOURCE 130
+#define PROPERTY_ID_RESULT_SET 131
+#define PROPERTY_ID_SELECTION 132
+#define PROPERTY_ID_BOOKMARK_SELECTION 133
+#define PROPERTY_ID_COLUMN_NAME 134
+#define PROPERTY_ID_CONNECTION_INFO 135
+#define PROPERTY_ID_HEADER_LINE 136
+#define PROPERTY_ID_FIELD_DELIMITER 137
+#define PROPERTY_ID_STRING_DELIMITER 138
+#define PROPERTY_ID_DECIMAL_DELIMITER 139
+#define PROPERTY_ID_THOUSAND_DELIMITER 140
+#define PROPERTY_ID_ENCODING 141
+#define PROPERTY_ID_HELP_URL 142
+
+//============================================================
+//= property names
+//============================================================
+
+DECLARE_CONSTASCII_USTRING(PROPERTY_URL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_INFO);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SETTINGS);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISPASSWORDREQUIRED);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TABLEFILTER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_NAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SCHEMANAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CATALOGNAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_PRIVILEGES);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ESCAPE_PROCESSING);
+DECLARE_CONSTASCII_USTRING(PROPERTY_COMMAND);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TYPE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TYPENAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_PRECISION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SCALE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISNULLABLE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISAUTOINCREMENT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISROWVERSION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DESCRIPTION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DEFAULTVALUE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_NUMBERFORMAT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_QUERYTIMEOUT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_MAXFIELDSIZE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_MAXROWS);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CURSORNAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_RESULTSETCONCURRENCY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_RESULTSETTYPE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FETCHDIRECTION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FETCHSIZE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_USEBOOKMARKS);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISSEARCHABLE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISCURRENCY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISSIGNED);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DISPLAYSIZE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_LABEL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISREADONLY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISWRITABLE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISDEFINITELYWRITABLE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_VALUE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TABLENAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISCASESENSITIVE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SERVICENAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISBOOKMARKABLE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CANUPDATEINSERTEDROWS);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISSET);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISOUTPARAMETER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_NUMBERFORMATSSUPPLIER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISCALCULATED);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DATASOURCENAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DATABASE_LOCATION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CONNECTION_RESOURCE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CONNECTION_INFO);
+DECLARE_CONSTASCII_USTRING(PROPERTY_RESULT_SET);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SELECTION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_BOOKMARK_SELECTION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_COLUMN_NAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_COLUMN);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DATASOURCE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TRANSACTIONISOLATION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TYPEMAP);
+DECLARE_CONSTASCII_USTRING(PROPERTY_USER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_PASSWORD);
+DECLARE_CONSTASCII_USTRING(PROPERTY_COMMAND_TYPE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ACTIVECOMMAND);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ACTIVE_CONNECTION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FILTER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_APPLYFILTER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ORDER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_APPLYORDER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISMODIFIED);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISNEW);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ROWCOUNT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISROWCOUNTFINAL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_HELPFILENAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_WIDTH);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ROW_HEIGHT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FORMATKEY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ALIGN);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TEXTCOLOR);
+DECLARE_CONSTASCII_USTRING(PROPERTY_BOUNDFIELD);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CONTROLSOURCE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_REALNAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISHIDDEN);
+DECLARE_CONSTASCII_USTRING(PROPERTY_HIDDEN);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TABLETYPEFILTER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_UPDATE_TABLENAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_UPDATE_SCHEMANAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_UPDATE_CATALOGNAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_RELATIVEPOSITION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CONTROLMODEL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISASCENDING);
+DECLARE_CONSTASCII_USTRING(PROPERTY_RELATEDCOLUMN);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISUNIQUE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISPRIMARYKEYINDEX);
+DECLARE_CONSTASCII_USTRING(PROPERTY_IGNORERESULT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_UPDATERULE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DELETERULE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_REFERENCEDTABLE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_REFERENCEDCOLUMN);
+DECLARE_CONSTASCII_USTRING(PROPERTY_PARENTWINDOW);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SQLEXCEPTION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_BORDER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_THREADSAFE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_HELPTEXT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DEFAULTSTATE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SUPPRESSVERSIONCL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SHOW_BROWSER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ENABLE_BROWSER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SHOWMENU);
+DECLARE_CONSTASCII_USTRING(PROPERTY_LAYOUTINFORMATION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CURRENTTABLE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DATABASENAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CONTROLUSER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CONTROLPASSWORD);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CACHESIZE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TEXTLINECOLOR);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TEXTEMPHASIS);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TEXTRELIEF);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CONTROLDEFAULT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DEFAULTTEXT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_EFFECTIVEDEFAULT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_AUTOINCREMENTCREATION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_BOOLEANCOMPARISONMODE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ENABLESQL92CHECK);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONTCHARWIDTH);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONTCHARSET);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONTFAMILY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONTHEIGHT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONTKERNING);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONTNAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONTORIENTATION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONTPITCH);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONTSLANT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONTSTRIKEOUT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONTSTYLENAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONTUNDERLINE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONTWEIGHT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONTWIDTH);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONTWORDLINEMODE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONTTYPE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_PERSISTENT_NAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_EMBEDDEDOBJECT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ORIGINAL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_USECATALOGINSELECT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_USESCHEMAINSELECT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_OUTERJOINESCAPE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_AS_TEMPLATE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_HAVING_CLAUSE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_GROUP_BY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_EDIT_WIDTH);
+
+//============================================================
+//= service names
+//============================================================
+DECLARE_CONSTASCII_USTRING(SERVICE_SDBC_RESULTSET);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDBC_ROWSET);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDBC_STATEMENT);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDBC_PREPAREDSTATEMENT);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDBC_CALLABLESTATEMENT);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDBC_CONNECTION);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDBCX_CONTAINER);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDBCX_TABLE);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDBCX_RESULTSET);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_CONNECTION);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDBCX_COLUMN);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDBCX_INDEXCOLUMN);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDBCX_KEYCOLUMN);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDBCX_COLUMNDESCRIPTOR);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_COLUMNSETTINGS);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_RESULTCOLUMN);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_DATACOLUMN);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_DATAACCESSCONNECTION);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_DATABASECONTEXT);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_DATASOURCE);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_ROWSET);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_RESULTSET);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_PREPAREDSTATMENT);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_CALLABLESTATEMENT);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_SQLQUERYCOMPOSER);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_DATASETTINGS);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_QUERYDESCRIPTOR);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_QUERY);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_QUERYDEFINITION);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_COLUMNSETTINGS);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDBCX_COLUMNS);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDBCX_TABLES);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_QUERIES);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDBC_DRIVERMANAGER);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDBC_CONNECTIONPOOL);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_INTERACTION_HANDLER);
+DECLARE_CONSTASCII_USTRING(SERVICE_TASK_INTERACTION_HANDLER);
+DECLARE_CONSTASCII_USTRING(SERVICE_FRAME_DESKTOP);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_ADABASCREATIONDIALOG);
+DECLARE_CONSTASCII_USTRING(SERVICE_UI_FOLDERPICKER);
+DECLARE_CONSTASCII_USTRING(SERVICE_I18N_COLLATOR);
+DECLARE_CONSTASCII_USTRING(SERVICE_EXTENDED_ADABAS_DRIVER);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_TABLEDEFINITION);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_COMMAND_DEFINITION);
+DECLARE_CONSTASCII_USTRING(SERVICE_NAME_FORM);
+DECLARE_CONSTASCII_USTRING(SERVICE_NAME_FORM_COLLECTION);
+DECLARE_CONSTASCII_USTRING(SERVICE_NAME_REPORT);
+DECLARE_CONSTASCII_USTRING(SERVICE_NAME_REPORT_COLLECTION);
+DECLARE_CONSTASCII_USTRING(SERVICE_NAME_QUERY_COLLECTION);
+DECLARE_CONSTASCII_USTRING(SERVICE_NAME_TABLE_COLLECTION);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_DOCUMENTDEFINITION);
+DECLARE_CONSTASCII_USTRING(SERVICE_NAME_SINGLESELECTQUERYCOMPOSER);
+DECLARE_CONSTASCII_USTRING(SERVICE_SDB_APPLICATIONCONTROLLER);
+
+// info properties
+DECLARE_CONSTASCII_USTRING(INFO_JDBCDRIVERCLASS);
+DECLARE_CONSTASCII_USTRING(INFO_TEXTFILEEXTENSION);
+DECLARE_CONSTASCII_USTRING(INFO_CHARSET);
+DECLARE_CONSTASCII_USTRING(INFO_TEXTFILEHEADER);
+DECLARE_CONSTASCII_USTRING(INFO_FIELDDELIMITER);
+DECLARE_CONSTASCII_USTRING(INFO_TEXTDELIMITER);
+DECLARE_CONSTASCII_USTRING(INFO_DECIMALDELIMITER);
+DECLARE_CONSTASCII_USTRING(INFO_THOUSANDSDELIMITER);
+DECLARE_CONSTASCII_USTRING(INFO_SHOWDELETEDROWS);
+DECLARE_CONSTASCII_USTRING(INFO_ALLOWLONGTABLENAMES);
+DECLARE_CONSTASCII_USTRING(INFO_ADDITIONALOPTIONS);
+DECLARE_CONSTASCII_USTRING(INFO_AUTORETRIEVEVALUE);
+DECLARE_CONSTASCII_USTRING(INFO_AUTORETRIEVEENABLED);
+DECLARE_CONSTASCII_USTRING(INFO_APPEND_TABLE_ALIAS);
+DECLARE_CONSTASCII_USTRING(INFO_AS_BEFORE_CORRELATION_NAME);
+DECLARE_CONSTASCII_USTRING(INFO_FORMS_CHECK_REQUIRED_FIELDS);
+DECLARE_CONSTASCII_USTRING(INFO_PARAMETERNAMESUBST);
+DECLARE_CONSTASCII_USTRING(INFO_IGNOREDRIVER_PRIV);
+DECLARE_CONSTASCII_USTRING(INFO_USECATALOG);
+DECLARE_CONSTASCII_USTRING(INFO_CONN_LDAP_BASEDN);
+DECLARE_CONSTASCII_USTRING(INFO_CONN_LDAP_ROWCOUNT);
+DECLARE_CONSTASCII_USTRING(INFO_PREVIEW);
+DECLARE_CONSTASCII_USTRING(INFO_MEDIATYPE);
+DECLARE_CONSTASCII_USTRING(INFO_ESCAPE_DATETIME);
+
+// other
+DECLARE_CONSTASCII_USTRING(INFO_POOLURL);
+DECLARE_CONSTASCII_USTRING(URL_INTERACTIVE);
+
+
+#endif // _DBASHARED_STRINGCONSTANTS_HRC_
+
+
diff --git a/dbaccess/source/inc/stringconstants.inc b/dbaccess/source/inc/stringconstants.inc
new file mode 100644
index 000000000000..8803d0e0edc7
--- /dev/null
+++ b/dbaccess/source/inc/stringconstants.inc
@@ -0,0 +1,272 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: stringconstants.cxx,v $
+ * $Revision: 1.49 $
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+// no include "precompiled_dbaccess.hxx" because this file is meant to
+// be included itself
+
+//============================================================
+//= property names
+//============================================================
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_URL, "URL");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_INFO, "Info");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SETTINGS, "Settings");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISPASSWORDREQUIRED, "IsPasswordRequired");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TABLEFILTER, "TableFilter");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TABLETYPEFILTER, "TableTypeFilter");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_NAME, "Name");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SCHEMANAME, "SchemaName");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CATALOGNAME, "CatalogName");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_PRIVILEGES, "Privileges");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ESCAPE_PROCESSING, "EscapeProcessing");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_COMMAND, "Command");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TYPE, "Type");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TYPENAME, "TypeName");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_PRECISION, "Precision");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SCALE, "Scale");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISNULLABLE, "IsNullable");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISAUTOINCREMENT, "IsAutoIncrement");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISROWVERSION, "IsRowVersion");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DESCRIPTION, "Description");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DEFAULTVALUE, "DefaultValue");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_NUMBERFORMAT, "FormatKey");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_QUERYTIMEOUT, "QueryTimeOut");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_MAXFIELDSIZE, "MaxFieldSize");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_MAXROWS, "MaxRows");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CURSORNAME, "CursorName");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_RESULTSETCONCURRENCY, "ResultSetConcurrency");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_RESULTSETTYPE, "ResultSetType");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FETCHDIRECTION, "FetchDirection");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FETCHSIZE, "FetchSize");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_USEBOOKMARKS, "UseBookmarks");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISSEARCHABLE, "IsSearchable");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISCURRENCY, "IsCurrency");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISSIGNED, "IsSigned");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DISPLAYSIZE, "DisplaySize");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_LABEL, "Label");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISREADONLY, "IsReadOnly");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISWRITABLE, "IsWritable");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISDEFINITELYWRITABLE, "IsDefinitelyWritable");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_VALUE, "Value");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TABLENAME, "TableName");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISCASESENSITIVE, "IsCaseSensitive");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SERVICENAME, "ServiceName");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISBOOKMARKABLE, "IsBookmarkable");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CANUPDATEINSERTEDROWS, "CanUpdateInsertedRows");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISSET, "IsSet");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISOUTPARAMETER, "IsOutParameter");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_NUMBERFORMATSSUPPLIER, "NumberFormatsSupplier");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISCALCULATED, "IsCalculated");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DATASOURCENAME, "DataSourceName");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DATABASE_LOCATION, "DatabaseLocation");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CONNECTION_RESOURCE, "ConnectionResource");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CONNECTION_INFO, "ConnectionInfo");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_RESULT_SET, "ResultSet");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SELECTION, "Selection");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_BOOKMARK_SELECTION, "BookmarkSelection");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_COLUMN_NAME, "ColumnName");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_COLUMN, "Column");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DATASOURCE, "DataSource");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TRANSACTIONISOLATION, "TransactionIsolation");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TYPEMAP, "TypeMap");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_USER, "User");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_PASSWORD, "Password");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_COMMAND_TYPE, "CommandType");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ACTIVECOMMAND, "ActiveCommand");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ACTIVE_CONNECTION, "ActiveConnection");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FILTER, "Filter");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_APPLYFILTER, "ApplyFilter");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ORDER, "Order");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_APPLYORDER, "ApplyOrder");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISMODIFIED, "IsModified");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISNEW, "IsNew");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ROWCOUNT, "RowCount");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISROWCOUNTFINAL, "IsRowCountFinal");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_HELPFILENAME, "HelpFileName");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_WIDTH, "Width");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ROW_HEIGHT, "RowHeight");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FORMATKEY, "FormatKey");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ALIGN, "Align");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONT, "FontDescriptor");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TEXTCOLOR, "TextColor");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_BOUNDFIELD, "BoundField");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CONTROLSOURCE, "DataField");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_REALNAME, "RealName");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISHIDDEN, "IsHidden");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_UPDATE_TABLENAME, "UpdateTableName");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_UPDATE_SCHEMANAME, "UpdateSchemaName");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_UPDATE_CATALOGNAME, "UpdateCatalogName");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_RELATIVEPOSITION, "RelativePosition");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CONTROLMODEL, "ControlModel");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISASCENDING, "IsAscending");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_RELATEDCOLUMN, "RelatedColumn");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISUNIQUE, "IsUnique");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISPRIMARYKEYINDEX, "IsPrimaryKeyIndex");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_IGNORERESULT, "IgnoreResult");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_UPDATERULE, "UpdateRule");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DELETERULE, "DeleteRule");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_REFERENCEDTABLE, "ReferencedTable");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_REFERENCEDCOLUMN, "ReferencedColumn");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_PARENTWINDOW, "ParentWindow");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SQLEXCEPTION, "SQLException");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_BORDER, "Border");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_THREADSAFE, "ThreadSafe");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_HELPTEXT ,"HelpText");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CONTROLDEFAULT ,"ControlDefault");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_HIDDEN ,"Hidden");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DEFAULTSTATE ,"DefaultState");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SUPPRESSVERSIONCL, "SuppressVersionColumns");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SHOW_BROWSER, "ShowBrowser");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ENABLE_BROWSER, "EnableBrowser");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SHOWMENU, "ShowMenu");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_LAYOUTINFORMATION, "LayoutInformation");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CURRENTTABLE, "CurrentTable");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DATABASENAME, "DatabaseName");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CONTROLUSER, "ControlUser");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CONTROLPASSWORD, "ControlPassword");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CACHESIZE, "CacheSize");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TEXTLINECOLOR, "TextLineColor");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TEXTEMPHASIS, "FontEmphasisMark");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TEXTRELIEF, "FontRelief");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DEFAULTTEXT, "DefaultText");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_EFFECTIVEDEFAULT, "EffectiveDefault");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_AUTOINCREMENTCREATION, "AutoIncrementCreation");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_BOOLEANCOMPARISONMODE, "BooleanComparisonMode");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ENABLESQL92CHECK, "EnableSQL92Check");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTCHARWIDTH, "FontCharWidth");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTCHARSET, "FontCharset");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTFAMILY, "FontFamily");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTHEIGHT, "FontHeight");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTKERNING, "FontKerning");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTNAME, "FontName");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTORIENTATION, "FontOrientation");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTPITCH, "FontPitch");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTSLANT, "FontSlant");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTSTRIKEOUT, "FontStrikeout");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTSTYLENAME, "FontStyleName");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTUNDERLINE, "FontUnderline");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTWEIGHT, "FontWeight");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTWIDTH, "FontWidth");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTWORDLINEMODE, "FontWordLineMode");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTTYPE, "FontType");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_PERSISTENT_NAME, "PersistentName");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_EMBEDDEDOBJECT, "EmbeddedObject");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ORIGINAL, "Original");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_USECATALOGINSELECT,"UseCatalogInSelect");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_USESCHEMAINSELECT, "UseSchemaInSelect");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_OUTERJOINESCAPE, "EnableOuterJoinEscape");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_AS_TEMPLATE, "AsTemplate");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_HAVING_CLAUSE, "HavingClause");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_GROUP_BY, "GroupBy");
+IMPLEMENT_CONSTASCII_USTRING(PROPERTY_EDIT_WIDTH, "EditWidth");
+
+//============================================================
+//= service names
+//============================================================
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBC_RESULTSET, "com.sun.star.sdbc.ResultSet");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBC_ROWSET, "com.sun.star.sdbc.RowSet");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBC_STATEMENT, "com.sun.star.sdbc.Statement");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBC_PREPAREDSTATEMENT, "com.sun.star.sdbc.PreparedStatement");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBC_CALLABLESTATEMENT, "com.sun.star.sdbc.CallableStatement");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBC_CONNECTION, "com.sun.star.sdbc.Connection");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_CONTAINER, "com.sun.star.sdbcx.Container");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_TABLE, "com.sun.star.sdbcx.Table");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_RESULTSET, "com.sun.star.sdbcx.ResultSet");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_CONNECTION, "com.sun.star.sdb.Connection");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_COLUMN, "com.sun.star.sdbcx.Column");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_COLUMNDESCRIPTOR, "com.sun.star.sdbcx.ColumnDescriptor");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_COLUMNSETTINGS, "com.sun.star.sdb.ColumnSettings");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_RESULTCOLUMN, "com.sun.star.sdb.ResultColumn");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_DATACOLUMN, "com.sun.star.sdb.DataColumn");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_DATABASECONTEXT, "com.sun.star.sdb.DatabaseContext");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_DATASOURCE, "com.sun.star.sdb.DataSource");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_RESULTSET, "com.sun.star.sdb.ResultSet");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_ROWSET, "com.sun.star.sdb.RowSet");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_PREPAREDSTATMENT, "com.sun.star.sdb.PreparedStatement");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_CALLABLESTATEMENT, "com.sun.star.sdbc.CallableStatement");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_SQLQUERYCOMPOSER, "com.sun.star.sdb.SQLQueryComposer");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_DATASETTINGS, "com.sun.star.sdb.DefinitionSettings");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_QUERYDESCRIPTOR, "com.sun.star.sdb.QueryDescriptor");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_QUERY, "com.sun.star.sdb.Query");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_QUERYDEFINITION, "com.sun.star.sdb.QueryDefinition");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_COLUMNS, "com.sun.star.sdbcx.Columns");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_TABLES, "com.sun.star.sdbcx.Tables");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_QUERIES, "com.sun.star.sdb.Queries");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBC_DRIVERMANAGER, "com.sun.star.sdbc.DriverManager");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBC_CONNECTIONPOOL, "com.sun.star.sdbc.ConnectionPool");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_INDEXCOLUMN, "com.sun.star.sdbcx.IndexColumn");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_KEYCOLUMN, "com.sun.star.sdbcx.KeyColumn");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_INTERACTION_HANDLER, "com.sun.star.sdb.InteractionHandler");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_TASK_INTERACTION_HANDLER, "com.sun.star.task.InteractionHandler");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_FRAME_DESKTOP, "com.sun.star.frame.Desktop");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_ADABASCREATIONDIALOG, "com.sun.star.sdb.AdabasCreationDialog");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_UI_FOLDERPICKER, "com.sun.star.ui.dialogs.FolderPicker");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_I18N_COLLATOR, "com.sun.star.i18n.Collator");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_EXTENDED_ADABAS_DRIVER, "com.sun.star.comp.sdbcx.adabas.ODriver");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_TABLEDEFINITION, "com.sun.star.sdb.TableDefinition");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_COMMAND_DEFINITION, "com.sun.star.sdb.CommandDefinition");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_DOCUMENTDEFINITION, "com.sun.star.sdb.DocumentDefinition");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_NAME_FORM, "com.sun.star.sdb.Form");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_NAME_FORM_COLLECTION, "com.sun.star.sdb.Forms");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_NAME_REPORT, "com.sun.star.sdb.Report");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_NAME_REPORT_COLLECTION, "com.sun.star.sdb.Reports");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_NAME_QUERY_COLLECTION, "com.sun.star.sdb.Queries");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_NAME_TABLE_COLLECTION, "com.sun.star.sdb.Tables");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_NAME_SINGLESELECTQUERYCOMPOSER, "com.sun.star.sdb.SingleSelectQueryComposer");
+IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_APPLICATIONCONTROLLER, "org.openoffice.comp.dbu.OApplicationController");
+
+// info properties
+IMPLEMENT_CONSTASCII_USTRING(INFO_JDBCDRIVERCLASS,"JavaDriverClass");
+IMPLEMENT_CONSTASCII_USTRING(INFO_TEXTFILEEXTENSION,"Extension");
+IMPLEMENT_CONSTASCII_USTRING(INFO_CHARSET,"CharSet");
+IMPLEMENT_CONSTASCII_USTRING(INFO_TEXTFILEHEADER,"HeaderLine");
+IMPLEMENT_CONSTASCII_USTRING(INFO_FIELDDELIMITER,"FieldDelimiter");
+IMPLEMENT_CONSTASCII_USTRING(INFO_TEXTDELIMITER,"StringDelimiter");
+IMPLEMENT_CONSTASCII_USTRING(INFO_DECIMALDELIMITER,"DecimalDelimiter");
+IMPLEMENT_CONSTASCII_USTRING(INFO_THOUSANDSDELIMITER,"ThousandDelimiter");
+IMPLEMENT_CONSTASCII_USTRING(INFO_SHOWDELETEDROWS,"ShowDeleted");
+IMPLEMENT_CONSTASCII_USTRING(INFO_ALLOWLONGTABLENAMES,"NoNameLengthLimit");
+IMPLEMENT_CONSTASCII_USTRING(INFO_ADDITIONALOPTIONS,"SystemDriverSettings");
+IMPLEMENT_CONSTASCII_USTRING(INFO_AUTORETRIEVEVALUE,"AutoRetrievingStatement");
+IMPLEMENT_CONSTASCII_USTRING(INFO_AUTORETRIEVEENABLED,"IsAutoRetrievingEnabled");
+IMPLEMENT_CONSTASCII_USTRING(INFO_APPEND_TABLE_ALIAS,"AppendTableAliasName");
+IMPLEMENT_CONSTASCII_USTRING(INFO_AS_BEFORE_CORRELATION_NAME, "GenerateASBeforeCorrelationName" );
+IMPLEMENT_CONSTASCII_USTRING(INFO_FORMS_CHECK_REQUIRED_FIELDS, "FormsCheckRequiredFields" );
+IMPLEMENT_CONSTASCII_USTRING(INFO_PARAMETERNAMESUBST,"ParameterNameSubstitution");
+IMPLEMENT_CONSTASCII_USTRING(INFO_IGNOREDRIVER_PRIV,"IgnoreDriverPrivileges");
+IMPLEMENT_CONSTASCII_USTRING(INFO_USECATALOG,"UseCatalog");
+IMPLEMENT_CONSTASCII_USTRING(INFO_CONN_LDAP_BASEDN,"BaseDN");
+IMPLEMENT_CONSTASCII_USTRING(INFO_CONN_LDAP_ROWCOUNT,"MaxRowCount");
+IMPLEMENT_CONSTASCII_USTRING(INFO_PREVIEW,"Preview");
+IMPLEMENT_CONSTASCII_USTRING(INFO_MEDIATYPE,"MediaType");
+IMPLEMENT_CONSTASCII_USTRING(INFO_ESCAPE_DATETIME,"EscapeDateTime");
+
+// other
+IMPLEMENT_CONSTASCII_USTRING(INFO_POOLURL,"PoolURL");
+IMPLEMENT_CONSTASCII_USTRING(URL_INTERACTIVE,"Interactive");
diff --git a/dbaccess/source/inc/xmlstrings.hrc b/dbaccess/source/inc/xmlstrings.hrc
new file mode 100644
index 000000000000..f856bfe26245
--- /dev/null
+++ b/dbaccess/source/inc/xmlstrings.hrc
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: xmlstrings.hrc,v $
+ * $Revision: 1.4 $
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef DBACCESS_SHARED_XMLSTRINGS_HRC
+#define DBACCESS_SHARED_XMLSTRINGS_HRC
+
+#ifndef _RTL_USTRING_HXX_
+#include <rtl/ustring.hxx>
+#endif
+
+namespace dbaxml
+{
+#define STRINGCONSTANTS_INCLUDED_INDIRECT
+#include "stringconstants.hrc"
+#undef STRINGCONSTANTS_INCLUDED_INDIRECT
+
+ //============================================================
+ //= XML
+ //============================================================
+}
+
+#endif // DBACCESS_SHARED_XMLSTRINGS_HRC