summaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2012-09-18 09:46:34 +0200
committerStephan Bergmann <sbergman@redhat.com>2012-09-27 15:03:32 +0200
commit9c00e38b431b57c3760f6c0aa774424b3239eeda (patch)
treebfe1bdd57d15eafb617028243cf4ea892016a137 /extensions
parent8c20367a2e6d61f830f6dc336761909e38a6bcca (diff)
fdo#46808, Adapt sdb::DatabaseContext UNO service to new style
Create a merged XDatabaseContext interface for this service to implement. Which is backwards-compatible, but does not require creating a new service. Quite a few IDL files had to be marked as published for this to work. Change-Id: Ie9a0da88d8c33cc83fc9d2334ff83ab2744c222f
Diffstat (limited to 'extensions')
-rw-r--r--extensions/source/abpilot/datasourcehandling.cxx16
-rw-r--r--extensions/source/bibliography/bibconfig.cxx16
-rw-r--r--extensions/source/bibliography/datman.cxx7
-rw-r--r--extensions/source/dbpilots/controlwizard.cxx12
4 files changed, 23 insertions, 28 deletions
diff --git a/extensions/source/abpilot/datasourcehandling.cxx b/extensions/source/abpilot/datasourcehandling.cxx
index 2c45e5e8cc7d..c91b480f53a1 100644
--- a/extensions/source/abpilot/datasourcehandling.cxx
+++ b/extensions/source/abpilot/datasourcehandling.cxx
@@ -38,6 +38,7 @@
#include <com/sun/star/lang/XComponent.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
+#include <com/sun/star/sdb/DatabaseContext.hpp>
#include <com/sun/star/sdb/SQLContext.hpp>
#include <com/sun/star/sdb/XCompletedConnection.hpp>
#include <com/sun/star/sdb/XDatabaseRegistrations.hpp>
@@ -77,22 +78,21 @@ namespace abp
//=====================================================================
//---------------------------------------------------------------------
- static Reference< XNameAccess > lcl_getDataSourceContext( const Reference< XMultiServiceFactory >& _rxORB ) SAL_THROW (( Exception ))
+ static Reference< XDatabaseContext > lcl_getDataSourceContext( const Reference< XComponentContext >& _rxContext ) SAL_THROW (( Exception ))
{
- Reference< XNameAccess > xContext( _rxORB->createInstance( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.sdb.DatabaseContext" )) ), UNO_QUERY );
- DBG_ASSERT(xContext.is(), "lcl_getDataSourceContext: could not access the data source context!");
+ Reference<XDatabaseContext> xContext = DatabaseContext::create(_rxContext);
return xContext;
}
//---------------------------------------------------------------------
/// creates a new data source and inserts it into the context
static void lcl_implCreateAndInsert(
- const Reference< XMultiServiceFactory >& _rxORB, const ::rtl::OUString& _rName,
+ const Reference< XComponentContext >& _rxContext, const ::rtl::OUString& _rName,
Reference< XPropertySet >& /* [out] */ _rxNewDataSource ) SAL_THROW (( ::com::sun::star::uno::Exception ))
{
//.............................................................
// get the data source context
- Reference< XNameAccess > xContext = lcl_getDataSourceContext( _rxORB );
+ Reference< XDatabaseContext > xContext = lcl_getDataSourceContext( _rxContext );
DBG_ASSERT( !xContext->hasByName( _rName ), "lcl_implCreateAndInsert: name already used!" );
(void)_rName;
@@ -127,7 +127,7 @@ namespace abp
{
// create the new data source
Reference< XPropertySet > xNewDataSource;
- lcl_implCreateAndInsert( _rxORB, _rName, xNewDataSource );
+ lcl_implCreateAndInsert( comphelper::ComponentContext(_rxORB).getUNOContext(), _rName, xNewDataSource );
//.............................................................
// set the URL property
@@ -200,7 +200,9 @@ namespace abp
try
{
// create the UNO context
- m_pImpl->xContext = lcl_getDataSourceContext( _rxORB );
+ m_pImpl->xContext = Reference<XNameAccess>(
+ lcl_getDataSourceContext( comphelper::ComponentContext(_rxORB).getUNOContext() ),
+ UNO_QUERY_THROW);
if (m_pImpl->xContext.is())
{
diff --git a/extensions/source/bibliography/bibconfig.cxx b/extensions/source/bibliography/bibconfig.cxx
index 652b4a5c01f9..c1696060e1f8 100644
--- a/extensions/source/bibliography/bibconfig.cxx
+++ b/extensions/source/bibliography/bibconfig.cxx
@@ -33,12 +33,14 @@
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/sdb/DatabaseContext.hpp>
#include <comphelper/processfactory.hxx>
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::container;
using namespace ::com::sun::star::lang;
+using namespace ::com::sun::star::sdb;
using ::rtl::OUString;
@@ -343,17 +345,9 @@ const Sequence<OUString>& DBChangeDialogConfig_Impl::GetDataSourceNames()
{
if(!aSourceNames.getLength())
{
- Reference<XNameAccess> xDBContext;
- Reference< XMultiServiceFactory > xMgr( ::comphelper::getProcessServiceFactory() );
- if( xMgr.is() )
- {
- Reference<XInterface> xInstance = xMgr->createInstance( C2U( "com.sun.star.sdb.DatabaseContext" ));
- xDBContext = Reference<XNameAccess>(xInstance, UNO_QUERY) ;
- }
- if(xDBContext.is())
- {
- aSourceNames = xDBContext->getElementNames();
- }
+ Reference< XComponentContext > xContext( ::comphelper::getProcessComponentContext() );
+ Reference<XDatabaseContext> xDBContext = DatabaseContext::create(xContext);
+ aSourceNames = xDBContext->getElementNames();
}
return aSourceNames;
}
diff --git a/extensions/source/bibliography/datman.cxx b/extensions/source/bibliography/datman.cxx
index 2b04564d3538..05628020b236 100644
--- a/extensions/source/bibliography/datman.cxx
+++ b/extensions/source/bibliography/datman.cxx
@@ -41,6 +41,7 @@
#include <com/sun/star/uno/XNamingService.hpp>
#include <com/sun/star/sdbc/XDataSource.hpp>
#include <com/sun/star/sdb/CommandType.hpp>
+#include <com/sun/star/sdb/DatabaseContext.hpp>
#include <com/sun/star/sdbcx/XTablesSupplier.hpp>
#include <com/sun/star/sdbc/XConnection.hpp>
#include <com/sun/star/sdb/XCompletedConnection.hpp>
@@ -96,9 +97,9 @@ Reference< XConnection > getConnection(const ::rtl::OUString& _rURL)
Reference< XDataSource > xDataSource;
// is it a favorite title ?
Reference< XMultiServiceFactory > xMgr = comphelper::getProcessServiceFactory();
- Reference<XInterface> xNamingContextIfc = xMgr->createInstance(C2U("com.sun.star.sdb.DatabaseContext"));
- Reference< XNameAccess > xNamingContext(xNamingContextIfc, UNO_QUERY);
- if (xNamingContext.is() && xNamingContext->hasByName(_rURL))
+ Reference<XComponentContext> xContext = comphelper::getProcessComponentContext();
+ Reference< XDatabaseContext > xNamingContext = DatabaseContext::create(xContext);
+ if (xNamingContext->hasByName(_rURL))
{
DBG_ASSERT(Reference< XNamingService > (xNamingContext, UNO_QUERY).is(), "::getDataSource : no NamingService interface on the sdb::DatabaseAccessContext !");
try
diff --git a/extensions/source/dbpilots/controlwizard.cxx b/extensions/source/dbpilots/controlwizard.cxx
index abe80c4b535b..ba216b3d4451 100644
--- a/extensions/source/dbpilots/controlwizard.cxx
+++ b/extensions/source/dbpilots/controlwizard.cxx
@@ -30,6 +30,7 @@
#include <tools/debug.hxx>
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/sdbcx/XTablesSupplier.hpp>
+#include <com/sun/star/sdb/DatabaseContext.hpp>
#include <com/sun/star/sdb/XQueriesSupplier.hpp>
#include <com/sun/star/sdbc/XPreparedStatement.hpp>
#include <com/sun/star/container/XChild.hpp>
@@ -41,6 +42,7 @@
#include <com/sun/star/sdb/CommandType.hpp>
#include <com/sun/star/sdbc/SQLWarning.hpp>
#include <com/sun/star/sdb/SQLContext.hpp>
+#include <comphelper/componentcontext.hxx>
#include <comphelper/types.hxx>
#include <connectivity/dbtools.hxx>
#include <vcl/msgbox.hxx>
@@ -444,13 +446,9 @@ namespace dbp
{
DBG_ASSERT(xORB.is(), "OControlWizard::implGetDSContext: invalid service factory!");
- Reference< XInterface > xContext;
- if (xORB.is())
- xContext = xORB->createInstance(::rtl::OUString("com.sun.star.sdb.DatabaseContext"));
- DBG_ASSERT(xContext.is(), "OControlWizard::implGetDSContext: invalid database context!");
-
- m_aContext.xDatasourceContext = Reference< XNameAccess >(xContext, UNO_QUERY);
- DBG_ASSERT(m_aContext.xDatasourceContext.is() || !xContext.is(), "OControlWizard::implGetDSContext: invalid database context (missing the XNameAccess)!");
+ m_aContext.xDatasourceContext = Reference<XNameAccess>(
+ DatabaseContext::create(comphelper::ComponentContext(xORB).getUNOContext()),
+ UNO_QUERY_THROW);
}
catch(const Exception&)
{