tdf#74608 dbaccess: Constructor feature for ODatabaseSource
Change-Id: I9ab9c0eaf463c93caf116c98e47564562af0af5d
diff --git a/dbaccess/source/core/dataaccess/datasource.cxx b/dbaccess/source/core/dataaccess/datasource.cxx
index 73bf3c8..00e9d3f 100644
--- a/dbaccess/source/core/dataaccess/datasource.cxx
+++ b/dbaccess/source/core/dataaccess/datasource.cxx
@@ -18,8 +18,6 @@
*/
#include "datasource.hxx"
#include "module_dba.hxx"
#include "services.hxx"
#include "userinformation.hxx"
#include "commandcontainer.hxx"
#include "dbastrings.hrc"
@@ -472,17 +470,6 @@ namespace
};
}
} // namespace dbaccess
// ODatabaseContext
extern "C" void SAL_CALL createRegistryInfo_ODatabaseSource()
{
static ::dba::OAutoRegistration< ::dbaccess::ODatabaseSource > aAutoRegistration;
}
namespace dbaccess
{
ODatabaseSource::ODatabaseSource(const ::rtl::Reference<ODatabaseModelImpl>& _pImpl)
:ModelDependentComponent( _pImpl )
@@ -560,31 +547,12 @@ void SAL_CALL ODatabaseSource::disposing( const css::lang::EventObject& Source )
// XServiceInfo
OUString ODatabaseSource::getImplementationName( ) throw(RuntimeException, std::exception)
{
return getImplementationName_static();
}
OUString ODatabaseSource::getImplementationName_static( ) throw(RuntimeException)
{
return OUString("com.sun.star.comp.dba.ODatabaseSource");
}
Sequence< OUString > ODatabaseSource::getSupportedServiceNames( ) throw (RuntimeException, std::exception)
{
return getSupportedServiceNames_static();
}
Reference< XInterface > ODatabaseSource::Create( const Reference< XComponentContext >& _rxContext )
{
Reference< XDatabaseContext > xDBContext( DatabaseContext::create(_rxContext) );
return xDBContext->createInstance();
}
Sequence< OUString > ODatabaseSource::getSupportedServiceNames_static( ) throw (RuntimeException)
{
Sequence< OUString > aSNS( 2 );
aSNS[0] = SERVICE_SDB_DATASOURCE;
aSNS[1] = "com.sun.star.sdb.DocumentDataSource";
return aSNS;
return { SERVICE_SDB_DATASOURCE, "com.sun.star.sdb.DocumentDataSource" };
}
sal_Bool ODatabaseSource::supportsService( const OUString& _rServiceName ) throw (RuntimeException, std::exception)
@@ -1355,4 +1323,12 @@ Reference< XInterface > ODatabaseSource::getThis() const
} // namespace dbaccess
extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* SAL_CALL
com_sun_star_comp_dba_ODatabaseSource(css::uno::XComponentContext* context,
css::uno::Sequence<css::uno::Any> const &)
{
css::uno::Reference< XDatabaseContext > xDBContext( DatabaseContext::create(context) );
return cppu::acquire(static_cast<OWeakObject*>(xDBContext->createInstance().get()));
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/dbaccess/source/core/dataaccess/datasource.hxx b/dbaccess/source/core/dataaccess/datasource.hxx
index 3c4caf2..446b846 100644
--- a/dbaccess/source/core/dataaccess/datasource.hxx
+++ b/dbaccess/source/core/dataaccess/datasource.hxx
@@ -129,12 +129,6 @@ public:
virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw(css::uno::RuntimeException, std::exception) override;
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames( ) throw(css::uno::RuntimeException, std::exception) override;
// css::lang::XServiceInfo - static methods
static css::uno::Sequence< OUString > getSupportedServiceNames_static() throw( css::uno::RuntimeException );
static OUString getImplementationName_static() throw( css::uno::RuntimeException );
static css::uno::Reference< css::uno::XInterface >
SAL_CALL Create(const css::uno::Reference< css::uno::XComponentContext >&);
// OComponentHelper
virtual void SAL_CALL disposing() override;
diff --git a/dbaccess/source/core/inc/services.hxx b/dbaccess/source/core/inc/services.hxx
index d93b505..1919ff8 100644
--- a/dbaccess/source/core/inc/services.hxx
+++ b/dbaccess/source/core/inc/services.hxx
@@ -28,7 +28,6 @@ extern "C" void SAL_CALL createRegistryInfo_DataAccessDescriptorFactory();
extern "C" void SAL_CALL createRegistryInfo_OCommandDefinition();
extern "C" void SAL_CALL createRegistryInfo_OComponentDefinition();
extern "C" void SAL_CALL createRegistryInfo_ODatabaseDocument();
extern "C" void SAL_CALL createRegistryInfo_ODatabaseSource();
#endif
diff --git a/dbaccess/source/core/misc/services.cxx b/dbaccess/source/core/misc/services.cxx
index a3b8143..2118576 100644
--- a/dbaccess/source/core/misc/services.cxx
+++ b/dbaccess/source/core/misc/services.cxx
@@ -61,7 +61,6 @@ extern "C" void SAL_CALL createRegistryInfo_DBA()
createRegistryInfo_OCommandDefinition();
createRegistryInfo_OComponentDefinition();
createRegistryInfo_ODatabaseDocument();
createRegistryInfo_ODatabaseSource();
createRegistryInfo_DataAccessDescriptorFactory();
bInit = true;
}
diff --git a/dbaccess/util/dba.component b/dbaccess/util/dba.component
index 8c85a8d3..4448f72 100644
--- a/dbaccess/util/dba.component
+++ b/dbaccess/util/dba.component
@@ -39,7 +39,8 @@
<service name="com.sun.star.document.OfficeDocument"/>
<service name="com.sun.star.sdb.OfficeDatabaseDocument"/>
</implementation>
<implementation name="com.sun.star.comp.dba.ODatabaseSource">
<implementation name="com.sun.star.comp.dba.ODatabaseSource"
constructor="com_sun_star_comp_dba_ODatabaseSource">
<service name="com.sun.star.sdb.DataSource"/>
<service name="com.sun.star.sdb.DocumentDataSource"/>
</implementation>