diff options
-rw-r--r-- | dbaccess/source/core/dataaccess/databasedocument.cxx | 66 | ||||
-rw-r--r-- | dbaccess/source/core/dataaccess/databasedocument.hxx | 6 | ||||
-rw-r--r-- | dbaccess/source/core/inc/services.hxx | 1 | ||||
-rw-r--r-- | dbaccess/source/core/misc/services.cxx | 1 | ||||
-rw-r--r-- | dbaccess/util/dba.component | 3 |
5 files changed, 22 insertions, 55 deletions
diff --git a/dbaccess/source/core/dataaccess/databasedocument.cxx b/dbaccess/source/core/dataaccess/databasedocument.cxx index 3b07612b313e..e25b714c03b6 100644 --- a/dbaccess/source/core/dataaccess/databasedocument.cxx +++ b/dbaccess/source/core/dataaccess/databasedocument.cxx @@ -22,8 +22,6 @@ #include "datasource.hxx" #include "databasedocument.hxx" #include "dbastrings.hrc" -#include "module_dba.hxx" -#include "services.hxx" #include "documenteventexecutor.hxx" #include "databasecontext.hxx" #include "documentcontainer.hxx" @@ -52,7 +50,6 @@ #include <com/sun/star/task/XStatusIndicator.hpp> #include <com/sun/star/task/XStatusIndicatorFactory.hpp> #include <com/sun/star/ucb/SimpleFileAccess.hpp> -#include <com/sun/star/ucb/XContent.hpp> #include <com/sun/star/ui/UIConfigurationManager.hpp> #include <com/sun/star/ui/XUIConfigurationStorage.hpp> #include <com/sun/star/view/XSelectionSupplier.hpp> @@ -111,11 +108,6 @@ using namespace ::com::sun::star::script; using namespace ::com::sun::star::script::provider; using namespace ::com::sun::star::ui; using namespace ::cppu; -using namespace ::osl; - -using ::com::sun::star::awt::XWindow; -using ::com::sun::star::ucb::XContent; -using ::com::sun::star::sdb::application::XDatabaseDocumentUI; namespace dbaccess { @@ -147,17 +139,6 @@ bool ViewMonitor::onSetCurrentController( const Reference< XController >& _rxCon return bLoadFinished; } -} // namespace dbaccess - -// ODatabaseDocument - -extern "C" void SAL_CALL createRegistryInfo_ODatabaseDocument() -{ - static ::dba::OAutoRegistration< ::dbaccess::ODatabaseDocument > aAutoRegistration; -} - -namespace dbaccess -{ ODatabaseDocument::ODatabaseDocument(const ::rtl::Reference<ODatabaseModelImpl>& _pImpl ) :ModelDependentComponent( _pImpl ) @@ -611,7 +592,7 @@ namespace { bool lcl_hasAnyModifiedSubComponent_throw( const Reference< XController >& i_rController ) { - Reference< XDatabaseDocumentUI > xDatabaseUI( i_rController, UNO_QUERY_THROW ); + Reference< css::sdb::application::XDatabaseDocumentUI > xDatabaseUI( i_rController, UNO_QUERY_THROW ); Sequence< Reference< XComponent > > aComponents( xDatabaseUI->getSubComponents() ); const Reference< XComponent >* component = aComponents.getConstArray(); @@ -1900,37 +1881,14 @@ void SAL_CALL ODatabaseDocument::removeEventListener( const Reference< lang::XEv } // XServiceInfo -OUString ODatabaseDocument::getImplementationName( ) throw(RuntimeException, std::exception) -{ - return getImplementationName_static(); -} - -OUString ODatabaseDocument::getImplementationName_static( ) throw(RuntimeException) +OUString ODatabaseDocument::getImplementationName() throw(RuntimeException, std::exception) { return OUString("com.sun.star.comp.dba.ODatabaseDocument"); } -Sequence< OUString > ODatabaseDocument::getSupportedServiceNames( ) throw (RuntimeException, std::exception) +Sequence< OUString > ODatabaseDocument::getSupportedServiceNames() throw (RuntimeException, std::exception) { - return getSupportedServiceNames_static(); -} - -Reference< XInterface > ODatabaseDocument::Create( const Reference< XComponentContext >& _rxContext ) -{ - Reference< XUnoTunnel > xDBContextTunnel( DatabaseContext::create(_rxContext), UNO_QUERY_THROW ); - ODatabaseContext* pContext = reinterpret_cast< ODatabaseContext* >( xDBContextTunnel->getSomething( ODatabaseContext::getUnoTunnelImplementationId() ) ); - - ::rtl::Reference<ODatabaseModelImpl> pImpl( new ODatabaseModelImpl( _rxContext, *pContext ) ); - Reference< XModel > xModel( pImpl->createNewModel_deliverOwnership( false ) ); - return xModel.get(); -} - -Sequence< OUString > ODatabaseDocument::getSupportedServiceNames_static( ) throw (RuntimeException) -{ - Sequence< OUString > aSNS( 2 ); - aSNS[0] = "com.sun.star.sdb.OfficeDatabaseDocument"; - aSNS[1] = "com.sun.star.document.OfficeDocument"; - return aSNS; + return { "com.sun.star.sdb.OfficeDatabaseDocument", "com.sun.star.document.OfficeDocument" }; } sal_Bool ODatabaseDocument::supportsService( const OUString& _rServiceName ) throw (RuntimeException, std::exception) @@ -2252,4 +2210,20 @@ OUString SAL_CALL ODatabaseDocument::getUntitledPrefix() throw (uno::RuntimeE } // namespace dbaccess +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* SAL_CALL +com_sun_star_comp_dba_ODatabaseDocument(css::uno::XComponentContext* context, + css::uno::Sequence<css::uno::Any> const &) +{ + Reference<XUnoTunnel> xDBContextTunnel(DatabaseContext::create(context), UNO_QUERY_THROW); + dbaccess::ODatabaseContext* pContext = reinterpret_cast<dbaccess::ODatabaseContext*>( + xDBContextTunnel->getSomething( + dbaccess::ODatabaseContext::getUnoTunnelImplementationId())); + + rtl::Reference<dbaccess::ODatabaseModelImpl> pImpl( + new dbaccess::ODatabaseModelImpl(context, *pContext)); + css::uno::Reference<XInterface> inst(pImpl->createNewModel_deliverOwnership(false)); + inst->acquire(); + return inst.get(); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/dbaccess/source/core/dataaccess/databasedocument.hxx b/dbaccess/source/core/dataaccess/databasedocument.hxx index 0212387a9fea..89d1b171e457 100644 --- a/dbaccess/source/core/dataaccess/databasedocument.hxx +++ b/dbaccess/source/core/dataaccess/databasedocument.hxx @@ -294,12 +294,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 >&); - // XInterface virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type& _rType) throw (css::uno::RuntimeException, std::exception) override; virtual void SAL_CALL acquire( ) throw () override; diff --git a/dbaccess/source/core/inc/services.hxx b/dbaccess/source/core/inc/services.hxx index 78c6913b57dd..4e40c488d66d 100644 --- a/dbaccess/source/core/inc/services.hxx +++ b/dbaccess/source/core/inc/services.hxx @@ -25,7 +25,6 @@ #include <sal/types.h> extern "C" void SAL_CALL createRegistryInfo_DataAccessDescriptorFactory(); -extern "C" void SAL_CALL createRegistryInfo_ODatabaseDocument(); #endif diff --git a/dbaccess/source/core/misc/services.cxx b/dbaccess/source/core/misc/services.cxx index ca8b4c60258f..36242257c13c 100644 --- a/dbaccess/source/core/misc/services.cxx +++ b/dbaccess/source/core/misc/services.cxx @@ -58,7 +58,6 @@ extern "C" void SAL_CALL createRegistryInfo_DBA() static bool bInit = false; if (!bInit) { - createRegistryInfo_ODatabaseDocument(); createRegistryInfo_DataAccessDescriptorFactory(); bInit = true; } diff --git a/dbaccess/util/dba.component b/dbaccess/util/dba.component index d39391229040..3a4ac355d889 100644 --- a/dbaccess/util/dba.component +++ b/dbaccess/util/dba.component @@ -37,7 +37,8 @@ <implementation name="com.sun.star.comp.dba.ODatabaseContext"> <service name="com.sun.star.sdb.DatabaseContext"/> </implementation> - <implementation name="com.sun.star.comp.dba.ODatabaseDocument"> + <implementation name="com.sun.star.comp.dba.ODatabaseDocument" + constructor="com_sun_star_comp_dba_ODatabaseDocument"> <service name="com.sun.star.document.OfficeDocument"/> <service name="com.sun.star.sdb.OfficeDatabaseDocument"/> </implementation> |